\r
import gr.grnet.pithos.web.client.MessagePanel.Images;\r
import gr.grnet.pithos.web.client.foldertree.File;\r
+import gr.grnet.pithos.web.client.foldertree.Folder;\r
import gr.grnet.pithos.web.client.foldertree.Resource;\r
import gr.grnet.pithos.web.client.rest.DeleteRequest;\r
import gr.grnet.pithos.web.client.rest.RestException;\r
Scheduler.get().scheduleDeferred(deleteFile);\r
}\r
else {\r
- app.updateFolder(files.get(0).getParent(), true, new Command() {\r
- \r
- @Override\r
- public void execute() {\r
- app.updateStatistics();\r
- }\r
- }, true);\r
+ Folder f = files.get(0).getParent();\r
+ if (app.isMySharedSelected())\r
+ app.updateSharedFolder(f, true, new Command() {\r
+ \r
+ @Override\r
+ public void execute() {\r
+ app.updateStatistics();\r
+ }\r
+ });\r
+ else\r
+ app.updateFolder(files.get(0).getParent(), true, new Command() {\r
+ \r
+ @Override\r
+ public void execute() {\r
+ app.updateStatistics();\r
+ }\r
+ }, true);\r
}\r
}\r
\r
MenuItem upload = new MenuItem("<span>" + AbstractImagePrototype.create(images.fileUpdate()).getHTML() + " Upload</span>", true, new UploadFileCommand(app, this, selectedFolder));
contextMenu.addItem(upload);
}
- if (isFolderTreeSelected) {
+ if (isFolderTreeSelected || isMysharedSelected) {
cutItem = new MenuItem("<span id='fileContextMenu.cut'>" + AbstractImagePrototype.create(newImages.cut()).getHTML() + " Cut</span>", true, new CutCommand(app, this, selectedFiles));
contextMenu.addItem(cutItem);
}
+ copyItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy</span>", true, new CopyCommand(app, this, selectedFiles));
+ contextMenu.addItem(copyItem);
- if (isFolderTreeSelected) {
+ if (isFolderTreeSelected || isMysharedSelected) {
trashItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.emptyTrash()).getHTML() + " Move to Trash</span>", true, new ToTrashCommand(app, this, selectedFiles));
contextMenu.addItem(trashItem);
}
contextMenu.addItem(restore);
}
}
- if (!isMysharedSelected) {
- copyItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy</span>", true, new CopyCommand(app, this, selectedFiles));
- contextMenu.addItem(copyItem);
- }
- if (isFolderTreeSelected) {
+ if (isFolderTreeSelected || isMysharedSelected) {
deleteItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.delete()).getHTML() + " Delete</span>", true, new DeleteCommand(app, this, selectedFiles, MessagePanel.images));
contextMenu.addItem(deleteItem);
}
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + " Properties</span>", true, new PropertiesCommand(app, this, selectedFiles, PropertiesCommand.PROPERTIES)));
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.sharing()).getHTML() + " Sharing</span>", true, new PropertiesCommand(app, this, selectedFiles, PropertiesCommand.PERMISSIONS)));
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.internet()).getHTML() + " Publish</span>", true, new PropertiesCommand(app, this, selectedFiles, PropertiesCommand.PUBLISH)));
- if (!isMysharedSelected)
- contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.versions()).getHTML() + " Versions</span>", true, new PropertiesCommand(app, this, selectedFiles, PropertiesCommand.VERSIONS)));
+ contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.versions()).getHTML() + " Versions</span>", true, new PropertiesCommand(app, this, selectedFiles, PropertiesCommand.VERSIONS)));
}
}
@Override
public SafeHtml getValue(File object) {
SafeHtmlBuilder sb = new SafeHtmlBuilder();
- if (!app.getSelectedTree().equals(app.mysharedTreeView)) {
- sb.append(Templates.INSTANCE.filenameSpan(object.getName()));
- }
- else {
- String name = object.getPath();
- if (name.lastIndexOf("/") != -1) {
- name = name.substring(name.lastIndexOf("/") + 1, name.length());
- }
- sb.append(Templates.INSTANCE.filenameSpan(name));
- }
+ sb.append(Templates.INSTANCE.filenameSpan(object.getName()));
if (object.getContentType() != null && (object.getContentType().endsWith("png") || object.getContentType().endsWith("gif") || object.getContentType().endsWith("jpeg"))) {
sb.appendHtmlConstant(" ")
.append(Templates.INSTANCE.viewLink(app.getApiPath() + object.getOwner() + object.getUri(), object.getName()));
mysharedTreeView.updateRoot();
}
- public void updateSharedFolder(Folder f, boolean showfiles) {
- mysharedTreeView.updateFolder(f, showfiles);
+ public void updateSharedFolder(Folder f, boolean showfiles, Command callback) {
+ mysharedTreeView.updateFolder(f, showfiles, callback);
}
+ public void updateSharedFolder(Folder f, boolean showfiles) {
+ updateSharedFolder(f, showfiles, null);
+ }
+
public void updateOtherSharedFolder(Folder f, boolean showfiles) {
otherSharedTreeView.updateFolder(f, showfiles);
}
if (!folder.isInTrash()) {
if (canWrite) {
- if (isFolderTreeSelected) {
+ if (isFolderTreeSelected || isMysharedTreeSelected) {
MenuItem cut = null;
if (files != null && !files.isEmpty()) {
cut = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.cut()).getHTML() + " Cut files</span>", true, new CutCommand(app, this, files));
}
}
- if (!isMysharedTreeSelected) {
- MenuItem copy = null;
- if (files != null && !files.isEmpty())
- copy = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy files</span>", true, new CopyCommand(app, this, files));
- else if (isFolderTreeSelected && !folder.isContainer())
- copy = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy folder</span>", true, new CopyCommand(app, this, folder));
- if (copy != null) {
- contextMenu.addItem(copy);
- empty = false;
- }
+ MenuItem copy = null;
+ if (files != null && !files.isEmpty())
+ copy = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy files</span>", true, new CopyCommand(app, this, files));
+ else if (isFolderTreeSelected && !folder.isContainer())
+ copy = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy folder</span>", true, new CopyCommand(app, this, folder));
+ if (copy != null) {
+ contextMenu.addItem(copy);
+ empty = false;
}
if (canWrite) {
}
}
- if (isFolderTreeSelected) {
+ if (isFolderTreeSelected || isMysharedTreeSelected) {
MenuItem moveToTrash = null;
if (files != null && !files.isEmpty()) {
moveToTrash = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.emptyTrash()).getHTML() + " Move files to Trash</span>", true, new ToTrashCommand(app, this, files));
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + " File properties</span>", true, new PropertiesCommand(app, this, files, PropertiesCommand.PROPERTIES)));
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.group()).getHTML() + " Sharing</span>", true, new PropertiesCommand(app, this, files, PropertiesCommand.PERMISSIONS)));
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.internet()).getHTML() + " Publish</span>", true, new PropertiesCommand(app, this, files, PropertiesCommand.PUBLISH)));
- if (!isMysharedTreeSelected)
- contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.versions()).getHTML() + " Versions</span>", true, new PropertiesCommand(app, this, files, PropertiesCommand.VERSIONS)));
+ contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.versions()).getHTML() + " Versions</span>", true, new PropertiesCommand(app, this, files, PropertiesCommand.VERSIONS)));
empty = false;
}
else if (!folder.isContainer()) {
@SuppressWarnings("unchecked")
@Override
public void execute() {
- app.updateFolder(((List<File>) resource).get(0).getParent(), true, new Command() {
-
- @Override
- public void execute() {
- app.updateTrash(false, null);
- }
- }, true);
+ Folder f = ((List<File>) resource).get(0).getParent();
+ if (app.isMySharedSelected())
+ app.updateSharedFolder(f, true, new Command() {
+
+ @Override
+ public void execute() {
+ app.updateTrash(false, null);
+ }
+ });
+ else
+ app.updateFolder(f, true, new Command() {
+
+ @Override
+ public void execute() {
+ app.updateTrash(false, null);
+ }
+ }, true);
}
});
}
public String getInheritedPermissionsFrom() {
return inheritedPermissionsFrom;
}
+
+ public void setName(String _name) {
+ name = _name;
+ }
}
return model.getSelection();
}
- public void updateFolder(Folder folder, boolean showfiles) {
- model.updateFolder(folder, showfiles);
+ public void updateFolder(Folder folder, boolean showfiles, Command callback) {
+ model.updateFolder(folder, showfiles, callback);
}
public void updateRoot() {
return selectionModel.getSelectedObject();
}
- public void updateFolder(Folder folder, boolean showfiles) {
- fetchFolder(folder,showfiles);
+ public void updateFolder(Folder folder, boolean showfiles, Command callback) {
+ fetchFolder(folder, showfiles, callback);
}
- public void fetchFolder(final Folder f, final boolean showfiles) {
+ public void fetchFolder(final Folder f, final boolean showfiles, final Command callback) {
String path = "/" + f.getContainer() + "?format=json&shared=" + URL.encodeQueryString(f.getPrefix());
GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, f) {
@Override
public void onSuccess(final Folder _result) {
+ for (File file : _result.getFiles()) {
+ String name = file.getName();
+ if (name.lastIndexOf("/") != -1) {
+ file.setName(name.substring(name.lastIndexOf("/") + 1, name.length()));
+ }
+ }
+
if (showfiles)
app.showFiles(_result);
+ if (callback != null)
+ callback.execute();
}
@Override