From: Christos Stathis Date: Wed, 13 Jul 2011 08:57:16 +0000 (+0300) Subject: Organized contect menus X-Git-Tag: v0.1~203 X-Git-Url: https://code.grnet.gr/git/pithos-web-client/commitdiff_plain/390f5c04552c4a83b0f24d219e413bf1109504d8 Organized contect menus --- diff --git a/src/gr/grnet/pithos/web/client/Clipboard.java b/src/gr/grnet/pithos/web/client/Clipboard.java index 7f904b0..22275ef 100644 --- a/src/gr/grnet/pithos/web/client/Clipboard.java +++ b/src/gr/grnet/pithos/web/client/Clipboard.java @@ -81,4 +81,12 @@ public class Clipboard { folder = null; files = null; } + + public boolean isEmpty() { + return (files == null || files.isEmpty()) && folder == null; + } + + public boolean hasFiles() { + return files != null && !files.isEmpty(); + } } diff --git a/src/gr/grnet/pithos/web/client/FileContextMenu.java b/src/gr/grnet/pithos/web/client/FileContextMenu.java index 1358073..2fdc4ed 100644 --- a/src/gr/grnet/pithos/web/client/FileContextMenu.java +++ b/src/gr/grnet/pithos/web/client/FileContextMenu.java @@ -137,22 +137,24 @@ public class FileContextMenu extends PopupPanel { images = newImages; MenuBar contextMenu = new MenuBar(true); - pasteItem = new MenuItem("" + AbstractImagePrototype.create(images.paste()).getHTML() + " Paste", true, new PasteCommand(GSS.get(), this, selectedFolder)); - contextMenu.addItem(pasteItem); - - MenuItem upload = new MenuItem("" + AbstractImagePrototype.create(images.fileUpdate()).getHTML() + " Upload", true, new UploadFileCommand(this, selectedFolder)); - contextMenu.addItem(upload); - - MenuItem refresh = new MenuItem("" + AbstractImagePrototype.create(images.refresh()).getHTML() + " Refresh", true, new RefreshCommand(this, images)); - contextMenu.addItem(refresh); - - if (isTrash) { - MenuItem restore = new MenuItem("" + AbstractImagePrototype.create(images.versions()).getHTML() + " Restore", true, new RestoreTrashCommand(this)); - contextMenu.addItem(restore); - - MenuItem delete = new MenuItem("" + AbstractImagePrototype.create(images.delete()).getHTML() + " Delete", true, new DeleteCommand(this, null, images)); - contextMenu.addItem(delete); - } else { + if (GSS.get().getClipboard().hasFiles()) { + pasteItem = new MenuItem("" + AbstractImagePrototype.create(images.paste()).getHTML() + " Paste", true, new PasteCommand(GSS.get(), this, selectedFolder)); + contextMenu.addItem(pasteItem); + } + +// MenuItem upload = new MenuItem("" + AbstractImagePrototype.create(images.fileUpdate()).getHTML() + " Upload", true, new UploadFileCommand(this, selectedFolder)); +// contextMenu.addItem(upload); + +// MenuItem refresh = new MenuItem("" + AbstractImagePrototype.create(images.refresh()).getHTML() + " Refresh", true, new RefreshCommand(this, images)); +// contextMenu.addItem(refresh); + +// if (isTrash) { +// MenuItem restore = new MenuItem("" + AbstractImagePrototype.create(images.versions()).getHTML() + " Restore", true, new RestoreTrashCommand(this)); +// contextMenu.addItem(restore); +// +// MenuItem delete = new MenuItem("" + AbstractImagePrototype.create(images.delete()).getHTML() + " Delete", true, new DeleteCommand(this, null, images)); +// contextMenu.addItem(delete); +// } else { cutItem = new MenuItem("" + AbstractImagePrototype.create(newImages.cut()).getHTML() + " Cut", true, new CutCommand(GSS.get(), this, selectedFiles)); contextMenu.addItem(cutItem); @@ -165,37 +167,32 @@ public class FileContextMenu extends PopupPanel { deleteItem = new MenuItem("" + AbstractImagePrototype.create(newImages.delete()).getHTML() + " Delete", true, new DeleteCommand(this, selectedFiles, images)); contextMenu.addItem(deleteItem); - sharingItem = new MenuItem("" + AbstractImagePrototype.create(newImages.sharing()).getHTML() + " Sharing", true, new PropertiesCommand(this, images, 1)); - contextMenu.addItem(sharingItem); +// sharingItem = new MenuItem("" + AbstractImagePrototype.create(newImages.sharing()).getHTML() + " Sharing", true, new PropertiesCommand(this, images, 1)); +// contextMenu.addItem(sharingItem); - propItem = new MenuItem("" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + " Properties", true, new PropertiesCommand(this, images, 0)); - contextMenu.addItem(propItem); +// propItem = new MenuItem("" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + " Properties", true, new PropertiesCommand(this, images, 0)); +// contextMenu.addItem(propItem); - downloadItem = new MenuItem("" + AbstractImagePrototype.create(newImages.download()).getHTML() + " Download", true, new Command() { - @Override - public void execute() { - } - }); - contextMenu.addItem(downloadItem); +// downloadItem = new MenuItem("" + AbstractImagePrototype.create(newImages.download()).getHTML() + " Download", true, new Command() { +// @Override +// public void execute() { +// } +// }); +// contextMenu.addItem(downloadItem); - final Command unselectAllCommand = new Command() { - - @Override - public void execute() { - hide(); - if(GSS.get().isFileListShowing()) - GSS.get().getFileList().clearSelectedRows(); - } - }; - MenuItem unSelect = new MenuItem("" + AbstractImagePrototype.create(images.unselectAll()).getHTML() + " Unselect", true, unselectAllCommand); - contextMenu.addItem(unSelect); - - } +// final Command unselectAllCommand = new Command() { +// +// @Override +// public void execute() { +// hide(); +// if(GSS.get().isFileListShowing()) +// GSS.get().getFileList().clearSelectedRows(); +// } +// }; +// MenuItem unSelect = new MenuItem("" + AbstractImagePrototype.create(images.unselectAll()).getHTML() + " Unselect", true, unselectAllCommand); +// contextMenu.addItem(unSelect); + +// } add(contextMenu); - -// if (gss.getClipboard().hasFileItem()) -// pasteItem.setVisible(true); -// else -// pasteItem.setVisible(false); } } diff --git a/src/gr/grnet/pithos/web/client/FolderContextMenu.java b/src/gr/grnet/pithos/web/client/FolderContextMenu.java index c24493b..4d39001 100644 --- a/src/gr/grnet/pithos/web/client/FolderContextMenu.java +++ b/src/gr/grnet/pithos/web/client/FolderContextMenu.java @@ -98,31 +98,35 @@ public class FolderContextMenu extends PopupPanel { MenuItem newFolder = new MenuItem("" + AbstractImagePrototype.create(newImages.folderNew()).getHTML() + " New Folder", true, new NewFolderCommand(this, folder, images)); contextMenu.addItem(newFolder); - // do not show the copy & cut option for the user's root folder - MenuItem cut = new MenuItem("" + AbstractImagePrototype.create(newImages.cut()).getHTML() + " Cut", true, new CutCommand(GSS.get(), this, folder)); - contextMenu.addItem(cut); + if (!folder.isContainer()) { + MenuItem cut = new MenuItem("" + AbstractImagePrototype.create(newImages.cut()).getHTML() + " Cut", true, new CutCommand(GSS.get(), this, folder)); + contextMenu.addItem(cut); + } MenuItem copy = new MenuItem("" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy", true, new CopyCommand(GSS.get(), this, folder)); contextMenu.addItem(copy); - pasteItem = new MenuItem("" + AbstractImagePrototype.create(newImages.paste()).getHTML() + " Paste", true, new PasteCommand(GSS.get(), this, folder)); - contextMenu.addItem(pasteItem); + if (!GSS.get().getClipboard().isEmpty()) { + pasteItem = new MenuItem("" + AbstractImagePrototype.create(newImages.paste()).getHTML() + " Paste", true, new PasteCommand(GSS.get(), this, folder)); + contextMenu.addItem(pasteItem); + } - // do not show delete options for the user's root folder - MenuItem moveToTrash = new MenuItem("" + AbstractImagePrototype.create(newImages.emptyTrash()).getHTML() + " Move to Trash", true, new ToTrashCommand(GSS.get(), this, folder)); - contextMenu.addItem(moveToTrash); + if (!folder.isContainer()) { + MenuItem moveToTrash = new MenuItem("" + AbstractImagePrototype.create(newImages.emptyTrash()).getHTML() + " Move to Trash", true, new ToTrashCommand(GSS.get(), this, folder)); + contextMenu.addItem(moveToTrash); - MenuItem delete = new MenuItem("" + AbstractImagePrototype.create(newImages.delete()).getHTML() + " Delete", true, new DeleteCommand(this, folder, newImages)); - contextMenu.addItem(delete); + MenuItem delete = new MenuItem("" + AbstractImagePrototype.create(newImages.delete()).getHTML() + " Delete", true, new DeleteCommand(this, folder, newImages)); + contextMenu.addItem(delete); + } - MenuItem refresh = new MenuItem("" + AbstractImagePrototype.create(images.refresh()).getHTML() + " Refresh", true, new RefreshCommand(this, images)); - contextMenu.addItem(refresh); +// MenuItem refresh = new MenuItem("" + AbstractImagePrototype.create(images.refresh()).getHTML() + " Refresh", true, new RefreshCommand(this, images)); +// contextMenu.addItem(refresh); - MenuItem sharing = new MenuItem("" + AbstractImagePrototype.create(newImages.sharing()).getHTML() + " Sharing", true, new PropertiesCommand(this, newImages, 1)); - contextMenu.addItem(sharing); +// MenuItem sharing = new MenuItem("" + AbstractImagePrototype.create(newImages.sharing()).getHTML() + " Sharing", true, new PropertiesCommand(this, newImages, 1)); +// contextMenu.addItem(sharing); - MenuItem properties = new MenuItem("" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + " Properties", true, new PropertiesCommand(this, newImages, 0)); - contextMenu.addItem(properties); +// MenuItem properties = new MenuItem("" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + " Properties", true, new PropertiesCommand(this, newImages, 0)); +// contextMenu.addItem(properties); add(contextMenu); } diff --git a/src/gr/grnet/pithos/web/client/foldertree/Folder.java b/src/gr/grnet/pithos/web/client/foldertree/Folder.java index 3c82360..5365f5e 100644 --- a/src/gr/grnet/pithos/web/client/foldertree/Folder.java +++ b/src/gr/grnet/pithos/web/client/foldertree/Folder.java @@ -233,4 +233,8 @@ public class Folder extends Resource { public boolean isInTrash() { return inTrash; } + + public boolean isContainer() { + return parent == null; + } }