X-Git-Url: https://code.grnet.gr/git/pithos-web-client/blobdiff_plain/16e8478a6a0817941f4be9e46a09626ea854652d..9b055abaca2e3fb848a98484bdf4ed642e3320aa:/src/gr/grnet/pithos/web/client/DeleteFileDialog.java?ds=sidebyside diff --git a/src/gr/grnet/pithos/web/client/DeleteFileDialog.java b/src/gr/grnet/pithos/web/client/DeleteFileDialog.java index 2694d52..aee2d28 100644 --- a/src/gr/grnet/pithos/web/client/DeleteFileDialog.java +++ b/src/gr/grnet/pithos/web/client/DeleteFileDialog.java @@ -49,8 +49,11 @@ import com.google.gwt.dom.client.NativeEvent; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.event.dom.client.KeyCodes; +import com.google.gwt.http.client.Response; +import com.google.gwt.user.client.Command; import com.google.gwt.user.client.Event.NativePreviewEvent; import com.google.gwt.user.client.ui.AbstractImagePrototype; +import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.DialogBox; import com.google.gwt.user.client.ui.HTML; @@ -75,12 +78,26 @@ public class DeleteFileDialog extends DialogBox { public DeleteFileDialog(Pithos _app, Images images, List _files) { app = _app; files = _files; + Anchor close = new Anchor(); + close.addStyleName("close"); + close.addClickHandler(new ClickHandler() { + + @Override + public void onClick(ClickEvent event) { + hide(); + } + }); // Set the dialog's caption. setText("Confirmation"); setAnimationEnabled(true); + setGlassEnabled(true); + setStyleName("pithos-DialogBox"); // Create a VerticalPanel to contain the label and the buttons. VerticalPanel outer = new VerticalPanel(); - HorizontalPanel buttons = new HorizontalPanel(); + outer.add(close); + + VerticalPanel inner = new VerticalPanel(); + inner.addStyleName("inner"); HTML text; if (files.size() == 1) @@ -88,7 +105,7 @@ public class DeleteFileDialog extends DialogBox { else text = new HTML("
" + AbstractImagePrototype.create(images.warn()).getHTML() + "" + "Are you sure you want to permanently delete the selected files?
"); text.setStyleName("pithos-warnMessage"); - outer.add(text); + inner.add(text); // Create the 'Delete' button, along with a listener that hides the dialog // when the button is clicked and deletes the file. @@ -99,26 +116,11 @@ public class DeleteFileDialog extends DialogBox { hide(); } }); - ok.getElement().setId("confirmation.ok"); - buttons.add(ok); - buttons.setCellHorizontalAlignment(ok, HasHorizontalAlignment.ALIGN_CENTER); - // Create the 'Cancel' button, along with a listener that hides the - // dialog when the button is clicked. - Button cancel = new Button("Cancel", new ClickHandler() { - @Override - public void onClick(@SuppressWarnings("unused") ClickEvent event) { - hide(); - } - }); - cancel.getElement().setId("confirmation.cancel"); - buttons.add(cancel); - buttons.setCellHorizontalAlignment(cancel, HasHorizontalAlignment.ALIGN_CENTER); - buttons.setSpacing(8); - buttons.setStyleName("pithos-warnMessage"); - outer.setStyleName("pithos-warnMessage"); - outer.add(buttons); - outer.setCellHorizontalAlignment(text, HasHorizontalAlignment.ALIGN_CENTER); - outer.setCellHorizontalAlignment(buttons, HasHorizontalAlignment.ALIGN_CENTER); + ok.addStyleName("button"); + inner.add(ok); + inner.setCellHorizontalAlignment(text, HasHorizontalAlignment.ALIGN_CENTER); + outer.add(inner); + outer.setCellHorizontalAlignment(inner, HasHorizontalAlignment.ALIGN_CENTER); setWidget(outer); } @@ -134,7 +136,7 @@ public class DeleteFileDialog extends DialogBox { if (iter.hasNext()) { File f = iter.next(); String path = f.getUri(); - DeleteRequest deleteFile = new DeleteRequest(app.getApiPath(), app.getUsername(), path) { + DeleteRequest deleteFile = new DeleteRequest(app.getApiPath(), f.getOwner(), path) { @Override public void onSuccess(@SuppressWarnings("unused") Resource result) { deleteFile(iter); @@ -143,18 +145,30 @@ public class DeleteFileDialog extends DialogBox { @Override public void onError(Throwable t) { GWT.log("", t); + app.setError(t); if (t instanceof RestException) { app.displayError("Unable to delete file: " + ((RestException) t).getHttpStatusText()); } else app.displayError("System error unable to delete file: "+t.getMessage()); } + + @Override + protected void onUnauthorized(Response response) { + app.sessionExpired(); + } }; deleteFile.setHeader("X-Auth-Token", app.getToken()); Scheduler.get().scheduleDeferred(deleteFile); } else { - app.updateFolder(files.get(0).getParent(), true, null); + app.updateFolder(files.get(0).getParent(), true, new Command() { + + @Override + public void execute() { + app.updateStatistics(); + } + }); } }