From d26e2ef73f4304253c7ffb26ce39c88eeb617b0d Mon Sep 17 00:00:00 2001 From: Christos Stathis Date: Tue, 5 Jun 2012 12:27:03 +0300 Subject: [PATCH] After rename, the file is selected and scrolled to view (issue #2488) --- .../pithos/web/client/FilePropertiesDialog.java | 26 ++++++++++++++------ 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java b/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java index 147cb2a..31257fc 100644 --- a/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java +++ b/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java @@ -39,6 +39,7 @@ import gr.grnet.pithos.web.client.foldertree.Resource; import gr.grnet.pithos.web.client.rest.PostRequest; import gr.grnet.pithos.web.client.rest.PutRequest; +import java.util.Arrays; import java.util.HashMap; import java.util.Map; @@ -253,7 +254,7 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog { PutRequest updateFile = new PutRequest(app.getApiPath(), app.getUsername(), path) { @Override public void onSuccess(Resource result) { - updateMetaData(app.getApiPath(), file.getOwner(), path + "?update=", newMeta); + updateMetaData(app.getApiPath(), file.getOwner(), path, newMeta); } @Override @@ -302,13 +303,13 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog { Scheduler.get().scheduleDeferred(updateFile); } else - updateMetaData(app.getApiPath(), app.getUsername(), file.getUri() + "?update=", newMeta); + updateMetaData(app.getApiPath(), app.getUsername(), file.getUri(), newMeta); return true; } - protected void updateMetaData(String api, String owner, String path, Map newMeta) { + protected void updateMetaData(final String api, final String owner, final String path, Map newMeta) { if (newMeta != null) { - PostRequest updateFile = new PostRequest(api, owner, path) { + PostRequest updateFile = new PostRequest(api, owner, path + "?update=") { @Override public void onSuccess(Resource result) { if (!app.isMySharedSelected()) @@ -316,11 +317,19 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog { @Override public void execute() { + app.getFileList().selectByUrl(Arrays.asList(api + owner + path)); app.updateMySharedRoot(); } }, true); - else - app.updateSharedFolder(file.getParent(), true); + else { + app.updateSharedFolder(file.getParent(), true, new Command() { + + @Override + public void execute() { + app.getFileList().selectByUrl(Arrays.asList(api + owner + path)); + } + }); + } } @Override @@ -351,11 +360,14 @@ public class FilePropertiesDialog extends AbstractPropertiesDialog { @Override public void execute() { + app.getFileList().selectByUrl(Arrays.asList(api + owner + path)); if (file.isSharedOrPublished()) app.updateMySharedRoot(); } }, true); - else + else { + app.getFileList().selectByUrl(Arrays.asList(api + owner + path)); app.updateSharedFolder(file.getParent(), true); + } } } -- 1.7.10.4