From c3d9289b1875c3dc6f79908e796cc74435e8225b Mon Sep 17 00:00:00 2001 From: Christos Stathis Date: Mon, 9 Jul 2012 13:37:48 +0300 Subject: [PATCH] Experimentaly added a "please wait" popup during potentialy long delete operations --- src/gr/grnet/pithos/web/client/Pithos.java | 13 +++++++++++++ src/gr/grnet/pithos/web/client/PleaseWaitPopup.java | 14 ++++++++++++++ 2 files changed, 27 insertions(+) create mode 100644 src/gr/grnet/pithos/web/client/PleaseWaitPopup.java diff --git a/src/gr/grnet/pithos/web/client/Pithos.java b/src/gr/grnet/pithos/web/client/Pithos.java index f288cc7..90d77d5 100644 --- a/src/gr/grnet/pithos/web/client/Pithos.java +++ b/src/gr/grnet/pithos/web/client/Pithos.java @@ -98,6 +98,7 @@ import com.google.gwt.user.client.Command; import com.google.gwt.user.client.Cookies; import com.google.gwt.user.client.Event; import com.google.gwt.user.client.History; +import com.google.gwt.user.client.Timer; import com.google.gwt.user.client.Window; import com.google.gwt.user.client.ui.AbstractImagePrototype; import com.google.gwt.user.client.ui.Button; @@ -900,11 +901,14 @@ public class Pithos implements EntryPoint, ResizeHandler { } public void deleteFolder(final Folder folder, final Command callback) { + final PleaseWaitPopup pwp = new PleaseWaitPopup(); + pwp.center(); String path = "/" + folder.getContainer() + "/" + folder.getPrefix() + "?delimiter=/" + "&t=" + System.currentTimeMillis(); DeleteRequest deleteFolder = new DeleteRequest(getApiPath(), folder.getOwner(), path) { @Override protected void onUnauthorized(Response response) { + pwp.hide(); sessionExpired(); } @@ -918,6 +922,14 @@ public class Pithos implements EntryPoint, ResizeHandler { updateStatistics(); if (callback != null) callback.execute(); + Timer t = new Timer() { + + @Override + public void run() { + pwp.hide(); + } + }; + t.schedule(5000); } }, true); } @@ -934,6 +946,7 @@ public class Pithos implements EntryPoint, ResizeHandler { } else displayError("System error unable to delete folder: " + t.getMessage()); + pwp.hide(); } }; deleteFolder.setHeader("X-Auth-Token", getToken()); diff --git a/src/gr/grnet/pithos/web/client/PleaseWaitPopup.java b/src/gr/grnet/pithos/web/client/PleaseWaitPopup.java new file mode 100644 index 0000000..ba31c1b --- /dev/null +++ b/src/gr/grnet/pithos/web/client/PleaseWaitPopup.java @@ -0,0 +1,14 @@ +package gr.grnet.pithos.web.client; + +import com.google.gwt.user.client.ui.Label; +import com.google.gwt.user.client.ui.PopupPanel; + +public class PleaseWaitPopup extends PopupPanel { + + public PleaseWaitPopup() { + setAnimationEnabled(true); + setGlassEnabled(true); + setModal(true); + add(new Label("Please wait ...")); + } +} -- 1.7.10.4