X-Git-Url: https://code.grnet.gr/git/pithos/blobdiff_plain/bc9942d1bfe87009a02e95c472f77fec5a569095..6c84fd2430adddd0733fdedc95b612befa6777c1:/src/gr/ebs/gss/client/FileContextMenu.java diff --git a/src/gr/ebs/gss/client/FileContextMenu.java b/src/gr/ebs/gss/client/FileContextMenu.java index f4d33ab..bd68e37 100644 --- a/src/gr/ebs/gss/client/FileContextMenu.java +++ b/src/gr/ebs/gss/client/FileContextMenu.java @@ -27,9 +27,9 @@ import gr.ebs.gss.client.commands.RefreshCommand; import gr.ebs.gss.client.commands.RestoreTrashCommand; import gr.ebs.gss.client.commands.ToTrashCommand; import gr.ebs.gss.client.commands.UploadFileCommand; -import gr.ebs.gss.client.dnd.DnDTreeItem; import gr.ebs.gss.client.rest.resource.FileResource; import gr.ebs.gss.client.rest.resource.FolderResource; +import gr.ebs.gss.client.rest.resource.RestResource; import java.util.List; @@ -44,7 +44,6 @@ import com.google.gwt.user.client.ui.AbstractImagePrototype; import com.google.gwt.user.client.ui.MenuBar; import com.google.gwt.user.client.ui.MenuItem; import com.google.gwt.user.client.ui.PopupPanel; -import com.google.gwt.user.client.ui.TreeItem; /** * The 'File Context' menu implementation. @@ -88,9 +87,11 @@ public class FileContextMenu extends PopupPanel implements ClickHandler { @Source("gr/ebs/gss/resources/doc_versions.png") ImageResource versions(); + @Override @Source("gr/ebs/gss/resources/group.png") ImageResource sharing(); + @Override @Source("gr/ebs/gss/resources/border_remove.png") ImageResource unselectAll(); @@ -118,6 +119,7 @@ public class FileContextMenu extends PopupPanel implements ClickHandler { // The command that does some validation before downloading a file. Command downloadCmd = new Command() { + @Override public void execute() { hide(); GSS.get().getTopPanel().getFileMenu().preDownloadCheck(); @@ -125,20 +127,22 @@ public class FileContextMenu extends PopupPanel implements ClickHandler { }; pasteItem = new MenuItem("" + AbstractImagePrototype.create(newImages.paste()).getHTML() + " Paste", true, new PasteCommand(this)); - + RestResource sel = GSS.get().getTreeView().getSelection(); MenuBar contextMenu = new MenuBar(true); if (isEmpty) { contextMenu.addItem(pasteItem); - if (GSS.get().getFolders().getCurrent() != null) - if (GSS.get().getFolders().isFileItem(GSS.get().getFolders().getCurrent())) + if (sel != null) + /*TODO:CELLTREE + if (GSS.get().getTreeView().isFileItem(GSS.get().getTreeView().getCurrent())) contextMenu.addItem("" + AbstractImagePrototype.create(newImages.fileUpdate()).getHTML() + " Upload", true, new UploadFileCommand(this)); - else if (GSS.get().getFolders().isMySharedItem(GSS.get().getFolders().getCurrent()) || GSS .get() - .getFolders() + else if (GSS.get().getTreeView().isMySharedItem(GSS.get().getTreeView().getCurrent()) || GSS .get() + .getTreeView() .isOthersSharedItem(GSS .get() - .getFolders() + .getTreeView() .getCurrent())) - if(GSS.get().getFolders().getCurrent().getUserObject() instanceof FolderResource) + if(sel instanceof FolderResource) contextMenu.addItem("" + AbstractImagePrototype.create(newImages.fileUpdate()).getHTML() + " Upload", true, new UploadFileCommand(this)); + */ contextMenu.addItem("" + AbstractImagePrototype.create(images.refresh()).getHTML() + " Refresh", true, new RefreshCommand(this, images)); } else if (isTrash) { contextMenu.addItem("" + AbstractImagePrototype.create(newImages.versions()).getHTML() + " Restore", true, new RestoreTrashCommand(this)); @@ -146,6 +150,7 @@ public class FileContextMenu extends PopupPanel implements ClickHandler { } else { final Command unselectAllCommand = new Command() { + @Override public void execute() { hide(); if(GSS.get().isFileListShowing()) @@ -165,8 +170,8 @@ public class FileContextMenu extends PopupPanel implements ClickHandler { sharingItem = new MenuItem("" + AbstractImagePrototype.create(newImages.sharing()).getHTML() + " Sharing", true, new PropertiesCommand(this, images, 1)); propItem = new MenuItem("" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + " Properties", true, new PropertiesCommand(this, images, 0)); - TreeItem currentFolder = gss.getFolders().getCurrent(); - if(currentFolder!=null && currentFolder.getUserObject() instanceof FolderResource) + + if(sel!=null && sel instanceof FolderResource) contextMenu.addItem(updateItem); String[] link = {"", ""}; gss.getTopPanel().getFileMenu().createDownloadLink(link, false); @@ -177,7 +182,7 @@ public class FileContextMenu extends PopupPanel implements ClickHandler { contextMenu.addItem(saveAsItem); contextMenu.addItem(cutItem); contextMenu.addItem(copyItem); - if(currentFolder!=null && currentFolder.getUserObject() instanceof FolderResource) + if(sel!=null && sel instanceof FolderResource) contextMenu.addItem(pasteItem); contextMenu.addItem("" + AbstractImagePrototype.create(images.unselectAll()).getHTML() + " Unselect", true, unselectAllCommand); contextMenu.addItem(trashItem); @@ -215,12 +220,16 @@ public class FileContextMenu extends PopupPanel implements ClickHandler { menu.show(); } else if (GSS.get().getCurrentSelection() instanceof List) { FileContextMenu menu; - if (GSS.get().getFolders().isTrashItem(GSS.get().getFolders().getCurrent())) + /*TODO: CELLTREE + if (GSS.get().getTreeView().isTrashItem(GSS.get().getTreeView().getCurrent())) menu = new FileContextMenu(images, true, false); else { menu = new FileContextMenu(images, false, false); menu.onMultipleSelection(); } + */ + menu = new FileContextMenu(images, false, false); + menu.onMultipleSelection(); int left = event.getRelativeElement().getAbsoluteLeft(); int top = event.getRelativeElement().getAbsoluteTop() + event.getRelativeElement().getOffsetHeight(); menu.setPopupPosition(left, top); @@ -228,7 +237,8 @@ public class FileContextMenu extends PopupPanel implements ClickHandler { } } - public void onEvent(Event event) { + + public void onContextEvent(ContextMenuEvent event) { if (GSS.get().getCurrentSelection() != null) if (GSS.get().getCurrentSelection() instanceof FileResource) { FileResource res = (FileResource) GSS.get().getCurrentSelection(); @@ -237,78 +247,74 @@ public class FileContextMenu extends PopupPanel implements ClickHandler { menu = new FileContextMenu(images, true, false); else menu = new FileContextMenu(images, false, false); - int left = event.getClientX(); - int top = event.getClientY(); + int left = event.getNativeEvent().getClientX(); + int top = event.getNativeEvent().getClientY(); menu.setPopupPosition(left, top); menu.show(); + } else if (GSS.get().getCurrentSelection() instanceof List) { FileContextMenu menu; - if (GSS.get().getFolders().isTrashItem(GSS.get().getFolders().getCurrent())) + /*TODO: CELLTREE + if (GSS.get().getTreeView().isTrashItem(GSS.get().getTreeView().getCurrent())) menu = new FileContextMenu(images, true, false); else { menu = new FileContextMenu(images, false, false); menu.onMultipleSelection(); } - int left = event.getClientX(); - int top = event.getClientY(); - menu.setPopupPosition(left, top); - menu.show(); + */ + int left = event.getNativeEvent().getClientX(); + int top = event.getNativeEvent().getClientY(); + //menu.setPopupPosition(left, top); + //menu.show(); } } - public void onContextEvent(ContextMenuEvent event) { + public FileContextMenu onEvent(Event event) { + FileContextMenu menu=null; if (GSS.get().getCurrentSelection() != null) if (GSS.get().getCurrentSelection() instanceof FileResource) { FileResource res = (FileResource) GSS.get().getCurrentSelection(); - FileContextMenu menu; + if (res.isDeleted()) menu = new FileContextMenu(images, true, false); else menu = new FileContextMenu(images, false, false); - int left = event.getNativeEvent().getClientX(); - int top = event.getNativeEvent().getClientY(); + int left = event.getClientX(); + int top = event.getClientY(); menu.setPopupPosition(left, top); menu.show(); - } else if (GSS.get().getCurrentSelection() instanceof List) { - FileContextMenu menu; - if (GSS.get().getFolders().isTrashItem(GSS.get().getFolders().getCurrent())) + /*TODO: CELLTREE + if (GSS.get().getTreeView().isTrashItem(GSS.get().getTreeView().getSelection())) menu = new FileContextMenu(images, true, false); else { menu = new FileContextMenu(images, false, false); menu.onMultipleSelection(); - } - int left = event.getNativeEvent().getClientX(); - int top = event.getNativeEvent().getClientY(); + }*/ + menu = new FileContextMenu(images, false, false); + menu.onMultipleSelection(); + int left = event.getClientX(); + int top = event.getClientY(); menu.setPopupPosition(left, top); menu.show(); } + return menu; } - public void onContextEmptyEvent(ContextMenuEvent event) { - FileContextMenu menu; - if (GSS.get().getFolders().isTrashItem(GSS.get().getFolders().getCurrent())) - menu = new FileContextMenu(images, true, true); - else if(((DnDTreeItem)GSS.get().getFolders().getCurrent()).getFolderResource() != null) - menu = new FileContextMenu(images, false, true); - else return; - int left = event.getNativeEvent().getClientX(); - int top = event.getNativeEvent().getClientY(); - menu.setPopupPosition(left, top); - menu.show(); - } - - public void onEmptyEvent(Event event) { - FileContextMenu menu; - if (GSS.get().getFolders().isTrashItem(GSS.get().getFolders().getCurrent())) + public FileContextMenu onEmptyEvent(Event event) { + FileContextMenu menu=null; + /*TODO: CELLTREE + if (GSS.get().getTreeView().isTrashItem(GSS.get().getTreeView().getCurrent())) menu = new FileContextMenu(images, true, true); - else if(((DnDTreeItem)GSS.get().getFolders().getCurrent()).getFolderResource() != null) + else if(((DnDTreeItem)GSS.get().getTreeView().getCurrent()).getFolderResource() != null) menu = new FileContextMenu(images, false, true); - else return; + else return menu; + */ int left = event.getClientX(); int top = event.getClientY(); menu.setPopupPosition(left, top); menu.show(); + return menu; }