Revision 5fb15774 web_client/src/gr/grnet/pithos/web/client/FolderContextMenu.java

b/web_client/src/gr/grnet/pithos/web/client/FolderContextMenu.java
82 82
		images = newImages;
83 83
        MenuBar contextMenu = new MenuBar(true);
84 84

  
85
        if (!folder.isInTrash()) {
86
	        MenuItem newFolder = new MenuItem("<span id = 'folderContextMenu.newFolder'>" + AbstractImagePrototype.create(newImages.folderNew()).getHTML() + "&nbsp;New Folder</span>", true, new NewFolderCommand(app, this, folder, images));
87
	        contextMenu.addItem(newFolder);
85
        Boolean[] permissions = folder.getPermissions().get(app.getUsername());
86
    	boolean canWrite = folder.getOwner().equals(app.getUsername()) || (permissions!= null && permissions[1] != null && permissions[1]);
88 87

  
89
	        if (!folder.isContainer()) {
90
	            MenuItem cut = new MenuItem("<span id = 'folderContextMenu.cut'>" + AbstractImagePrototype.create(newImages.cut()).getHTML() + "&nbsp;Cut</span>", true, new CutCommand(app, this, folder));
91
	            contextMenu.addItem(cut);
92
	        }
88
        if (!folder.isInTrash()) {
89
        	if (canWrite) {
90
		        MenuItem newFolder = new MenuItem("<span id = 'folderContextMenu.newFolder'>" + AbstractImagePrototype.create(newImages.folderNew()).getHTML() + "&nbsp;New Folder</span>", true, new NewFolderCommand(app, this, folder, images));
91
		        contextMenu.addItem(newFolder);
92

  
93
		        if (!folder.isContainer()) {
94
		            MenuItem cut = new MenuItem("<span id = 'folderContextMenu.cut'>" + AbstractImagePrototype.create(newImages.cut()).getHTML() + "&nbsp;Cut</span>", true, new CutCommand(app, this, folder));
95
		            contextMenu.addItem(cut);
96
		        }
97
        	}
93 98

  
94 99
	        MenuItem copy = new MenuItem("<span id = 'folderContextMenu.copy'>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + "&nbsp;Copy</span>", true, new CopyCommand(app, this, folder));
95 100
	        contextMenu.addItem(copy);
96 101
	
97
	        if (!app.getClipboard().isEmpty()) {
98
	            pasteItem = new MenuItem("<span id = 'folderContextMenu.paste'>" + AbstractImagePrototype.create(newImages.paste()).getHTML() + "&nbsp;Paste</span>", true, new PasteCommand(app, this, folder));
99
	            contextMenu.addItem(pasteItem);
100
	        }
101

  
102
		    if (!folder.isContainer()) {
103
		        MenuItem moveToTrash = new MenuItem("<span id = 'folderContextMenu.moveToTrash'>" + AbstractImagePrototype.create(newImages.emptyTrash()).getHTML() + "&nbsp;Move to Trash</span>", true, new ToTrashCommand(app, this, folder));
104
		        contextMenu.addItem(moveToTrash);
105
		
106
		        MenuItem delete = new MenuItem("<span id = 'folderContextMenu.delete'>" + AbstractImagePrototype.create(newImages.delete()).getHTML() + "&nbsp;Delete</span>", true, new DeleteCommand(app, this, folder, MessagePanel.images));
107
		        contextMenu.addItem(delete);
108
		
109
		        MenuItem properties = new MenuItem("<span id = 'folderContextMenu.properties'>" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + "&nbsp;Properties</span>", true, new PropertiesCommand(app, this, folder, newImages, 0));
110
		        contextMenu.addItem(properties);
111
		    }
102
        	if (canWrite) {
103
		        if (!app.getClipboard().isEmpty()) {
104
		            pasteItem = new MenuItem("<span id = 'folderContextMenu.paste'>" + AbstractImagePrototype.create(newImages.paste()).getHTML() + "&nbsp;Paste</span>", true, new PasteCommand(app, this, folder));
105
		            contextMenu.addItem(pasteItem);
106
		        }
107

  
108
			    if (!folder.isContainer()) {
109
			        MenuItem moveToTrash = new MenuItem("<span id = 'folderContextMenu.moveToTrash'>" + AbstractImagePrototype.create(newImages.emptyTrash()).getHTML() + "&nbsp;Move to Trash</span>", true, new ToTrashCommand(app, this, folder));
110
			        contextMenu.addItem(moveToTrash);
111
			
112
			        MenuItem delete = new MenuItem("<span id = 'folderContextMenu.delete'>" + AbstractImagePrototype.create(newImages.delete()).getHTML() + "&nbsp;Delete</span>", true, new DeleteCommand(app, this, folder, MessagePanel.images));
113
			        contextMenu.addItem(delete);
114
			
115
			        MenuItem properties = new MenuItem("<span id = 'folderContextMenu.properties'>" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + "&nbsp;Properties</span>", true, new PropertiesCommand(app, this, folder, newImages, 0));
116
			        contextMenu.addItem(properties);
117
			    }
118
        	}
112 119
        }
113 120
        else {
114 121
        	if (!folder.isTrash()) {

Also available in: Unified diff