Revision 3ebb88f4 src/gr/grnet/pithos/web/client/FileContextMenu.java
b/src/gr/grnet/pithos/web/client/FileContextMenu.java | ||
---|---|---|
187 | 187 |
images = newImages; |
188 | 188 |
MenuBar contextMenu = new MenuBar(true); |
189 | 189 |
|
190 |
Boolean[] permissions = selectedFolder.getPermissions().get(app.getUsername()); |
|
191 |
boolean canWrite = selectedFolder.getOwner().equals(app.getUsername()) || (permissions!= null && permissions[1] != null && permissions[1]); |
|
192 |
|
|
190 | 193 |
if (!selectedFolder.isInTrash()) { |
191 |
if (app.getClipboard().hasFiles()) { |
|
194 |
if (canWrite && app.getClipboard().hasFiles()) {
|
|
192 | 195 |
pasteItem = new MenuItem("<span>" + AbstractImagePrototype.create(images.paste()).getHTML() + " Paste</span>", true, new PasteCommand(app, this, selectedFolder)); |
193 | 196 |
contextMenu.addItem(pasteItem); |
194 | 197 |
} |
195 | 198 |
|
196 |
MenuItem upload = new MenuItem("<span>" + AbstractImagePrototype.create(images.fileUpdate()).getHTML() + " Upload</span>", true, new UploadFileCommand(app, this, selectedFolder)); |
|
197 |
contextMenu.addItem(upload); |
|
198 |
|
|
199 |
cutItem = new MenuItem("<span id='fileContextMenu.cut'>" + AbstractImagePrototype.create(newImages.cut()).getHTML() + " Cut</span>", true, new CutCommand(app, this, selectedFiles)); |
|
200 |
contextMenu.addItem(cutItem); |
|
199 |
if (canWrite) { |
|
200 |
MenuItem upload = new MenuItem("<span>" + AbstractImagePrototype.create(images.fileUpdate()).getHTML() + " Upload</span>", true, new UploadFileCommand(app, this, selectedFolder)); |
|
201 |
contextMenu.addItem(upload); |
|
202 |
|
|
203 |
cutItem = new MenuItem("<span id='fileContextMenu.cut'>" + AbstractImagePrototype.create(newImages.cut()).getHTML() + " Cut</span>", true, new CutCommand(app, this, selectedFiles)); |
|
204 |
contextMenu.addItem(cutItem); |
|
205 |
} |
|
201 | 206 |
|
202 | 207 |
copyItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy</span>", true, new CopyCommand(app, this, selectedFiles)); |
203 | 208 |
contextMenu.addItem(copyItem); |
204 | 209 |
|
205 |
trashItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.emptyTrash()).getHTML() + " Move to Trash</span>", true, new ToTrashCommand(app, this, selectedFiles)); |
|
206 |
contextMenu.addItem(trashItem); |
|
210 |
if (canWrite) { |
|
211 |
trashItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.emptyTrash()).getHTML() + " Move to Trash</span>", true, new ToTrashCommand(app, this, selectedFiles)); |
|
212 |
contextMenu.addItem(trashItem); |
|
213 |
} |
|
207 | 214 |
} |
208 | 215 |
else { |
209 | 216 |
MenuItem restore = new MenuItem("<span>" + AbstractImagePrototype.create(images.versions()).getHTML() + " Restore</span>", true, new RestoreTrashCommand(app, this, selectedFiles)); |
210 | 217 |
contextMenu.addItem(restore); |
211 | 218 |
} |
212 | 219 |
|
213 |
deleteItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.delete()).getHTML() + " Delete</span>", true, new DeleteCommand(app, this, selectedFiles, MessagePanel.images)); |
|
214 |
contextMenu.addItem(deleteItem); |
|
220 |
if (canWrite) { |
|
221 |
deleteItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.delete()).getHTML() + " Delete</span>", true, new DeleteCommand(app, this, selectedFiles, MessagePanel.images)); |
|
222 |
contextMenu.addItem(deleteItem); |
|
223 |
} |
|
215 | 224 |
|
216 | 225 |
// MenuItem refresh = new MenuItem("<span>" + AbstractImagePrototype.create(images.refresh()).getHTML() + " Refresh</span>", true, new RefreshCommand(this, images)); |
217 | 226 |
// contextMenu.addItem(refresh); |
218 | 227 |
// sharingItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.sharing()).getHTML() + " Sharing</span>", true, new PropertiesCommand(this, images, 1)); |
219 | 228 |
// contextMenu.addItem(sharingItem); |
220 | 229 |
if (!selectedFolder.isInTrash()) { |
221 |
if (selectedFiles.size() == 1) |
|
230 |
if (canWrite && selectedFiles.size() == 1)
|
|
222 | 231 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + " Properties</span>", true, new PropertiesCommand(app, this, selectedFiles, images, 0))); |
223 | 232 |
|
224 | 233 |
if (!selectedFiles.isEmpty()) |
Also available in: Unified diff