Revision 5d18aa82
b/src/gr/grnet/pithos/web/client/FileContextMenu.java | ||
---|---|---|
204 | 204 |
} |
205 | 205 |
} |
206 | 206 |
boolean isFolderTreeSelected = selectedTree.equals(app.getFolderTreeView()); |
207 |
boolean isMysharedSelected = selectedTree.equals(app.getMySharedTreeView()); |
|
207 | 208 |
if (selectedFolder != null) { |
208 | 209 |
if (!selectedFolder.isInTrash()) { |
209 |
if (canWrite && app.getClipboard().hasFiles()) { |
|
210 |
if (canWrite && app.getClipboard().hasFiles() && !isMysharedSelected) {
|
|
210 | 211 |
pasteItem = new MenuItem("<span>" + AbstractImagePrototype.create(images.paste()).getHTML() + " Paste</span>", true, new PasteCommand(app, this, selectedFolder)); |
211 | 212 |
contextMenu.addItem(pasteItem); |
212 | 213 |
} |
213 | 214 |
|
214 |
if (canWrite) { |
|
215 |
if (canWrite && !isMysharedSelected) {
|
|
215 | 216 |
MenuItem upload = new MenuItem("<span>" + AbstractImagePrototype.create(images.fileUpdate()).getHTML() + " Upload</span>", true, new UploadFileCommand(app, this, selectedFolder)); |
216 | 217 |
contextMenu.addItem(upload); |
217 | 218 |
} |
... | ... | |
231 | 232 |
contextMenu.addItem(restore); |
232 | 233 |
} |
233 | 234 |
} |
234 |
copyItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy</span>", true, new CopyCommand(app, this, selectedFiles)); |
|
235 |
contextMenu.addItem(copyItem); |
|
235 |
if (!isMysharedSelected) { |
|
236 |
copyItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy</span>", true, new CopyCommand(app, this, selectedFiles)); |
|
237 |
contextMenu.addItem(copyItem); |
|
238 |
} |
|
236 | 239 |
|
237 | 240 |
if (isFolderTreeSelected) { |
238 | 241 |
deleteItem = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.delete()).getHTML() + " Delete</span>", true, new DeleteCommand(app, this, selectedFiles, MessagePanel.images)); |
... | ... | |
240 | 243 |
} |
241 | 244 |
|
242 | 245 |
if (selectedFolder != null && !selectedFolder.isInTrash()) { |
243 |
if (isFolderTreeSelected && selectedFiles.size() == 1) {
|
|
246 |
if ((isFolderTreeSelected || isMysharedSelected) && selectedFiles.size() == 1) {
|
|
244 | 247 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + " Properties</span>", true, new PropertiesCommand(app, this, selectedFiles, PropertiesCommand.PROPERTIES))); |
245 | 248 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.sharing()).getHTML() + " Sharing</span>", true, new PropertiesCommand(app, this, selectedFiles, PropertiesCommand.PERMISSIONS))); |
246 | 249 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.internet()).getHTML() + " Publish</span>", true, new PropertiesCommand(app, this, selectedFiles, PropertiesCommand.PUBLISH))); |
247 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.versions()).getHTML() + " Versions</span>", true, new PropertiesCommand(app, this, selectedFiles, PropertiesCommand.VERSIONS))); |
|
250 |
if (!isMysharedSelected) |
|
251 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.versions()).getHTML() + " Versions</span>", true, new PropertiesCommand(app, this, selectedFiles, PropertiesCommand.VERSIONS))); |
|
248 | 252 |
} |
249 | 253 |
|
250 | 254 |
} |
b/src/gr/grnet/pithos/web/client/FileList.java | ||
---|---|---|
288 | 288 |
SafeHtmlBuilder sb = new SafeHtmlBuilder(); |
289 | 289 |
if (!app.getSelectedTree().equals(app.mysharedTreeView)) { |
290 | 290 |
sb.append(Templates.INSTANCE.filenameSpan(object.getName())); |
291 |
if (object.getContentType() != null && (object.getContentType().endsWith("png") || object.getContentType().endsWith("gif") || object.getContentType().endsWith("jpeg"))) { |
|
292 |
sb.appendHtmlConstant(" ") |
|
293 |
.append(Templates.INSTANCE.viewLink(app.getApiPath() + object.getOwner() + object.getUri(), object.getName())); |
|
294 |
} |
|
295 | 291 |
} |
296 | 292 |
else { |
297 | 293 |
String name = object.getPath(); |
... | ... | |
300 | 296 |
} |
301 | 297 |
sb.append(Templates.INSTANCE.filenameSpan(name)); |
302 | 298 |
} |
299 |
if (object.getContentType() != null && (object.getContentType().endsWith("png") || object.getContentType().endsWith("gif") || object.getContentType().endsWith("jpeg"))) { |
|
300 |
sb.appendHtmlConstant(" ") |
|
301 |
.append(Templates.INSTANCE.viewLink(app.getApiPath() + object.getOwner() + object.getUri(), object.getName())); |
|
302 |
} |
|
303 | 303 |
|
304 | 304 |
return sb.toSafeHtml(); |
305 | 305 |
} |
... | ... | |
373 | 373 |
@Override |
374 | 374 |
public void onContextMenu(final ContextMenuEvent event) { |
375 | 375 |
final TreeView tree = app.getSelectedTree(); |
376 |
if (tree != null && (tree.equals(app.getFolderTreeView()) || tree.equals(app.getOtherSharedTreeView()))) {
|
|
376 |
if (tree != null) { |
|
377 | 377 |
final int x = event.getNativeEvent().getClientX(); |
378 | 378 |
final int y = event.getNativeEvent().getClientY(); |
379 | 379 |
final Folder selectedFolder = app.getSelection(); |
b/src/gr/grnet/pithos/web/client/FilePermissionsDialog.java | ||
---|---|---|
259 | 259 |
@Override |
260 | 260 |
public void onSuccess(File _result) { |
261 | 261 |
showLinkIfShared(); |
262 |
app.updateFolder(file.getParent(), true, new Command() { |
|
263 |
|
|
264 |
@Override |
|
265 |
public void execute() { |
|
266 |
app.updateMySharedRoot(); |
|
267 |
} |
|
268 |
}, true); |
|
262 |
if (!app.isMySharedSelected()) |
|
263 |
app.updateFolder(file.getParent(), true, new Command() { |
|
264 |
|
|
265 |
@Override |
|
266 |
public void execute() { |
|
267 |
app.updateMySharedRoot(); |
|
268 |
} |
|
269 |
}, true); |
|
270 |
else |
|
271 |
app.updateSharedFolder(file.getParent(), true); |
|
269 | 272 |
} |
270 | 273 |
|
271 | 274 |
@Override |
... | ... | |
323 | 326 |
updateFile.setHeader("X-Object-Sharing", permHeader); |
324 | 327 |
Scheduler.get().scheduleDeferred(updateFile); |
325 | 328 |
} |
326 |
else |
|
329 |
else if (!app.isMySharedSelected())
|
|
327 | 330 |
app.updateFolder(file.getParent(), true, new Command() { |
328 | 331 |
|
329 | 332 |
@Override |
... | ... | |
332 | 335 |
app.updateMySharedRoot(); |
333 | 336 |
} |
334 | 337 |
}, true); |
338 |
else |
|
339 |
app.updateSharedFolder(file.getParent(), true); |
|
335 | 340 |
} |
336 | 341 |
|
337 | 342 |
@Override |
b/src/gr/grnet/pithos/web/client/FilePropertiesDialog.java | ||
---|---|---|
311 | 311 |
PostRequest updateFile = new PostRequest(api, owner, path) { |
312 | 312 |
@Override |
313 | 313 |
public void onSuccess(Resource result) { |
314 |
app.updateFolder(file.getParent(), true, new Command() { |
|
315 |
|
|
316 |
@Override |
|
317 |
public void execute() { |
|
318 |
app.updateMySharedRoot(); |
|
319 |
} |
|
320 |
}, true); |
|
314 |
if (!app.isMySharedSelected()) |
|
315 |
app.updateFolder(file.getParent(), true, new Command() { |
|
316 |
|
|
317 |
@Override |
|
318 |
public void execute() { |
|
319 |
app.updateMySharedRoot(); |
|
320 |
} |
|
321 |
}, true); |
|
322 |
else |
|
323 |
app.updateSharedFolder(file.getParent(), true); |
|
321 | 324 |
} |
322 | 325 |
|
323 | 326 |
@Override |
... | ... | |
343 | 346 |
|
344 | 347 |
Scheduler.get().scheduleDeferred(updateFile); |
345 | 348 |
} |
346 |
else |
|
349 |
else if (!app.isMySharedSelected())
|
|
347 | 350 |
app.updateFolder(file.getParent(), true, new Command() { |
348 | 351 |
|
349 | 352 |
@Override |
... | ... | |
352 | 355 |
app.updateMySharedRoot(); |
353 | 356 |
} |
354 | 357 |
}, true); |
358 |
else |
|
359 |
app.updateSharedFolder(file.getParent(), true); |
|
355 | 360 |
} |
356 | 361 |
} |
b/src/gr/grnet/pithos/web/client/FilePublishDialog.java | ||
---|---|---|
244 | 244 |
@Override |
245 | 245 |
public void onSuccess(File _result) { |
246 | 246 |
showLinkIfPublished(); |
247 |
app.updateFolder(file.getParent(), true, new Command() { |
|
248 |
|
|
249 |
@Override |
|
250 |
public void execute() { |
|
251 |
app.updateMySharedRoot(); |
|
252 |
} |
|
253 |
}, true); |
|
247 |
if (!app.isMySharedSelected()) |
|
248 |
app.updateFolder(file.getParent(), true, new Command() { |
|
249 |
|
|
250 |
@Override |
|
251 |
public void execute() { |
|
252 |
app.updateMySharedRoot(); |
|
253 |
} |
|
254 |
}, true); |
|
255 |
else |
|
256 |
app.updateSharedFolder(file.getParent(), true); |
|
254 | 257 |
} |
255 | 258 |
|
256 | 259 |
@Override |
... | ... | |
285 | 288 |
updateFile.setHeader("X-Object-Public", published.toString()); |
286 | 289 |
Scheduler.get().scheduleDeferred(updateFile); |
287 | 290 |
} |
288 |
else |
|
291 |
else if (!app.isMySharedSelected())
|
|
289 | 292 |
app.updateFolder(file.getParent(), true, new Command() { |
290 | 293 |
|
291 | 294 |
@Override |
... | ... | |
294 | 297 |
app.updateMySharedRoot(); |
295 | 298 |
} |
296 | 299 |
}, true); |
300 |
else |
|
301 |
app.updateSharedFolder(file.getParent(), true); |
|
297 | 302 |
} |
298 | 303 |
|
299 | 304 |
@Override |
b/src/gr/grnet/pithos/web/client/FolderContextMenu.java | ||
---|---|---|
87 | 87 |
boolean canWrite = folder.getOwner().equals(app.getUsername()) || (permissions!= null && permissions[1] != null && permissions[1]); |
88 | 88 |
boolean isFolderTreeSelected = selectedTree.equals(app.getFolderTreeView()); |
89 | 89 |
boolean otherSharedTreeSelected = selectedTree.equals(app.getOtherSharedTreeView()); |
90 |
boolean mysharedTreeSelected = selectedTree.equals(app.getMySharedTreeView()); |
|
90 | 91 |
|
91 |
if (isFolderTreeSelected || otherSharedTreeSelected) { |
|
92 |
MenuItem refresh = new MenuItem("<span id = 'folderContextMenu.refresh'>" + AbstractImagePrototype.create(images.refresh()).getHTML() + " Refresh</span>", true, new RefreshCommand(app, this, folder)); |
|
93 |
contextMenu.addItem(refresh); |
|
94 |
} |
|
92 |
MenuItem refresh = new MenuItem("<span id = 'folderContextMenu.refresh'>" + AbstractImagePrototype.create(images.refresh()).getHTML() + " Refresh</span>", true, new RefreshCommand(app, this, folder)); |
|
93 |
contextMenu.addItem(refresh); |
|
95 | 94 |
|
96 | 95 |
if (!folder.isInTrash()) { |
97 | 96 |
if (canWrite) { |
98 |
MenuItem newFolder = new MenuItem("<span id = 'folderContextMenu.newFolder'>" + AbstractImagePrototype.create(newImages.folderNew()).getHTML() + " New Folder</span>", true, new NewFolderCommand(app, this, folder)); |
|
99 |
contextMenu.addItem(newFolder); |
|
97 |
if (!mysharedTreeSelected) { |
|
98 |
MenuItem newFolder = new MenuItem("<span id = 'folderContextMenu.newFolder'>" + AbstractImagePrototype.create(newImages.folderNew()).getHTML() + " New Folder</span>", true, new NewFolderCommand(app, this, folder)); |
|
99 |
contextMenu.addItem(newFolder); |
|
100 |
} |
|
100 | 101 |
|
101 | 102 |
if (isFolderTreeSelected && !folder.isContainer()) { |
102 | 103 |
MenuItem cut = new MenuItem("<span id = 'folderContextMenu.cut'>" + AbstractImagePrototype.create(newImages.cut()).getHTML() + " Cut</span>", true, new CutCommand(app, this, folder)); |
... | ... | |
110 | 111 |
} |
111 | 112 |
|
112 | 113 |
if (canWrite) { |
113 |
if (!app.getClipboard().isEmpty()) { |
|
114 |
if (!app.getClipboard().isEmpty() && !mysharedTreeSelected) {
|
|
114 | 115 |
Object item = app.getClipboard().getItem(); |
115 | 116 |
boolean showPaste = true; |
116 | 117 |
if (item instanceof Folder) { |
b/src/gr/grnet/pithos/web/client/Pithos.java | ||
---|---|---|
437 | 437 |
} |
438 | 438 |
}); |
439 | 439 |
|
440 |
Scheduler.get().scheduleFixedDelay(new RepeatingCommand() { |
|
441 |
|
|
442 |
@Override |
|
443 |
public boolean execute() { |
|
444 |
Folder f = getSelection(); |
|
445 |
if (f != null) { |
|
446 |
if (getSelectedTree().equals(folderTreeView)) |
|
447 |
updateFolder(f, true, null, false); |
|
448 |
else if (getSelectedTree().equals(mysharedTreeView)) |
|
449 |
updateSharedFolder(f, true); |
|
450 |
} |
|
451 |
return true; |
|
452 |
} |
|
453 |
}, 3000); |
|
440 |
// Scheduler.get().scheduleFixedDelay(new RepeatingCommand() {
|
|
441 |
// |
|
442 |
// @Override
|
|
443 |
// public boolean execute() {
|
|
444 |
// Folder f = getSelection();
|
|
445 |
// if (f != null) {
|
|
446 |
// if (getSelectedTree().equals(folderTreeView))
|
|
447 |
// updateFolder(f, true, null, false);
|
|
448 |
// else if (getSelectedTree().equals(mysharedTreeView))
|
|
449 |
// updateSharedFolder(f, true);
|
|
450 |
// }
|
|
451 |
// return true;
|
|
452 |
// }
|
|
453 |
// }, 3000);
|
|
454 | 454 |
} |
455 | 455 |
|
456 | 456 |
public void applyPermissions(Folder f) { |
... | ... | |
1274 | 1274 |
headFile.setHeader("X-Auth-Token", getToken()); |
1275 | 1275 |
Scheduler.get().scheduleDeferred(headFile); |
1276 | 1276 |
} |
1277 |
|
|
1278 |
public boolean isMySharedSelected() { |
|
1279 |
return getSelectedTree().equals(getMySharedTreeView()); |
|
1280 |
} |
|
1277 | 1281 |
} |
b/src/gr/grnet/pithos/web/client/Toolbar.java | ||
---|---|---|
121 | 121 |
boolean otherSharedTreeSelected = app.getSelectedTree().equals(app.getOtherSharedTreeView()); |
122 | 122 |
Folder folder = app.getSelectedTree().getSelection(); |
123 | 123 |
|
124 |
if (folder != null && (isFolderTreeSelected || otherSharedTreeSelected)) |
|
125 |
app.updateFolder(folder, true, new Command() { |
|
124 |
if (folder != null) { |
|
125 |
if (!app.isMySharedSelected()) { |
|
126 |
app.updateFolder(folder, true, new Command() { |
|
127 |
|
|
128 |
@Override |
|
129 |
public void execute() { |
|
130 |
app.updateStatistics(); |
|
131 |
} |
|
132 |
}, true); |
|
133 |
} |
|
134 |
else |
|
135 |
app.updateSharedFolder(folder, true); |
|
126 | 136 |
|
127 |
@Override |
|
128 |
public void execute() { |
|
129 |
app.updateStatistics(); |
|
130 |
} |
|
131 |
}, true); |
|
137 |
} |
|
132 | 138 |
} |
133 |
});
|
|
139 |
});
|
|
134 | 140 |
toolbar.add(refreshButton); |
135 | 141 |
|
136 | 142 |
toolsButton = new Anchor("<span class='ico'></span><span class='title'>More...</span>", true); |
... | ... | |
166 | 172 |
boolean isFolderTreeSelected = app.getSelectedTree().equals(app.getFolderTreeView()); |
167 | 173 |
boolean otherSharedTreeSelected = app.getSelectedTree().equals(app.getOtherSharedTreeView()); |
168 | 174 |
|
169 |
if (isFolderTreeSelected || otherSharedTreeSelected) |
|
170 |
refreshButton.setVisible(true); |
|
171 |
else |
|
172 |
refreshButton.setVisible(true); |
|
175 |
refreshButton.setVisible(true); |
|
173 | 176 |
|
174 | 177 |
if (!folder.isInTrash() && canWrite) { |
175 | 178 |
if (isFolderTreeSelected || otherSharedTreeSelected) |
b/src/gr/grnet/pithos/web/client/ToolsMenu.java | ||
---|---|---|
100 | 100 |
Boolean[] permissions = folder.getPermissions().get(app.getUsername()); |
101 | 101 |
boolean canWrite = folder.getOwner().equals(app.getUsername()) || (permissions!= null && permissions[1] != null && permissions[1]); |
102 | 102 |
boolean isFolderTreeSelected = selectedTree.equals(app.getFolderTreeView()); |
103 |
boolean isMysharedTreeSelected = app.isMySharedSelected(); |
|
103 | 104 |
|
104 | 105 |
if (!folder.isInTrash()) { |
105 | 106 |
if (canWrite) { |
... | ... | |
119 | 120 |
} |
120 | 121 |
} |
121 | 122 |
|
122 |
MenuItem copy = null; |
|
123 |
if (files != null && !files.isEmpty()) |
|
124 |
copy = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy files</span>", true, new CopyCommand(app, this, files)); |
|
125 |
else if (isFolderTreeSelected && !folder.isContainer()) |
|
126 |
copy = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy folder</span>", true, new CopyCommand(app, this, folder)); |
|
127 |
if (copy != null) { |
|
128 |
contextMenu.addItem(copy); |
|
129 |
empty = false; |
|
123 |
if (!isMysharedTreeSelected) { |
|
124 |
MenuItem copy = null; |
|
125 |
if (files != null && !files.isEmpty()) |
|
126 |
copy = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy files</span>", true, new CopyCommand(app, this, files)); |
|
127 |
else if (isFolderTreeSelected && !folder.isContainer()) |
|
128 |
copy = new MenuItem("<span>" + AbstractImagePrototype.create(newImages.copy()).getHTML() + " Copy folder</span>", true, new CopyCommand(app, this, folder)); |
|
129 |
if (copy != null) { |
|
130 |
contextMenu.addItem(copy); |
|
131 |
empty = false; |
|
132 |
} |
|
130 | 133 |
} |
131 | 134 |
|
132 | 135 |
if (canWrite) { |
133 |
if (!app.getClipboard().isEmpty()) { |
|
136 |
if (!isMysharedTreeSelected && !app.getClipboard().isEmpty()) {
|
|
134 | 137 |
Object item = app.getClipboard().getItem(); |
135 | 138 |
boolean showPaste = false; |
136 | 139 |
if (item instanceof List) { |
... | ... | |
174 | 177 |
contextMenu.addItem(delete); |
175 | 178 |
empty = false; |
176 | 179 |
} |
177 |
|
|
180 |
} |
|
181 |
if (isFolderTreeSelected || isMysharedTreeSelected) { |
|
178 | 182 |
if (files != null && files.size() == 1) { |
179 | 183 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.viewText()).getHTML() + " File properties</span>", true, new PropertiesCommand(app, this, files, PropertiesCommand.PROPERTIES))); |
180 | 184 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.group()).getHTML() + " Sharing</span>", true, new PropertiesCommand(app, this, files, PropertiesCommand.PERMISSIONS))); |
181 | 185 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.internet()).getHTML() + " Publish</span>", true, new PropertiesCommand(app, this, files, PropertiesCommand.PUBLISH))); |
182 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.versions()).getHTML() + " Versions</span>", true, new PropertiesCommand(app, this, files, PropertiesCommand.VERSIONS))); |
|
186 |
if (!isMysharedTreeSelected) |
|
187 |
contextMenu.addItem(new MenuItem("<span>" + AbstractImagePrototype.create(newImages.versions()).getHTML() + " Versions</span>", true, new PropertiesCommand(app, this, files, PropertiesCommand.VERSIONS))); |
|
183 | 188 |
empty = false; |
184 | 189 |
} |
185 | 190 |
else if (!folder.isContainer()) { |
b/src/gr/grnet/pithos/web/client/commands/RefreshCommand.java | ||
---|---|---|
62 | 62 |
public void execute() { |
63 | 63 |
if (containerPanel != null) |
64 | 64 |
containerPanel.hide(); |
65 |
app.updateFolder(folder, true, new Command() { |
|
66 |
|
|
67 |
@Override |
|
68 |
public void execute() { |
|
69 |
app.updateStatistics(); |
|
70 |
} |
|
71 |
}, true); |
|
65 |
if (app.getSelectedTree().equals(app.getMySharedTreeView())) |
|
66 |
app.updateSharedFolder(folder, true); |
|
67 |
else |
|
68 |
app.updateFolder(folder, true, new Command() { |
|
69 |
|
|
70 |
@Override |
|
71 |
public void execute() { |
|
72 |
app.updateStatistics(); |
|
73 |
} |
|
74 |
}, true); |
|
72 | 75 |
} |
73 | 76 |
} |
b/src/gr/grnet/pithos/web/client/mysharedtree/MysharedTreeViewModel.java | ||
---|---|---|
42 | 42 |
import gr.grnet.pithos.web.client.foldertree.Folder; |
43 | 43 |
import gr.grnet.pithos.web.client.foldertree.FolderTreeView; |
44 | 44 |
import gr.grnet.pithos.web.client.mysharedtree.MysharedTreeView.Templates; |
45 |
import gr.grnet.pithos.web.client.othersharedtree.OtherSharedTreeView; |
|
46 |
import gr.grnet.pithos.web.client.othersharedtree.OtherSharedTreeViewModel; |
|
45 | 47 |
import gr.grnet.pithos.web.client.rest.GetRequest; |
46 | 48 |
import gr.grnet.pithos.web.client.rest.RestException; |
47 | 49 |
|
... | ... | |
57 | 59 |
import com.google.gwt.cell.client.Cell; |
58 | 60 |
import com.google.gwt.cell.client.TextCell; |
59 | 61 |
import com.google.gwt.cell.client.ValueUpdater; |
62 |
import com.google.gwt.cell.client.Cell.Context; |
|
60 | 63 |
import com.google.gwt.core.client.GWT; |
61 | 64 |
import com.google.gwt.core.client.Scheduler; |
62 | 65 |
import com.google.gwt.event.dom.client.ContextMenuEvent; |
... | ... | |
77 | 80 |
|
78 | 81 |
protected Pithos app; |
79 | 82 |
|
80 |
private Cell<Folder> folderCell = new AbstractCell<Folder>() { |
|
83 |
private Cell<Folder> folderCell = new AbstractCell<Folder>(ContextMenuEvent.getType().getName()) {
|
|
81 | 84 |
|
82 | 85 |
@Override |
83 | 86 |
public void render(Context context, Folder folder, SafeHtmlBuilder safeHtmlBuilder) { |
... | ... | |
85 | 88 |
safeHtmlBuilder.appendHtmlConstant(html).appendHtmlConstant(" "); |
86 | 89 |
safeHtmlBuilder.append(Templates.INSTANCE.nameSpan(folder.getName())); |
87 | 90 |
} |
91 |
|
|
92 |
@Override |
|
93 |
public void onBrowserEvent(Context context, com.google.gwt.dom.client.Element parent, final Folder folder, com.google.gwt.dom.client.NativeEvent event, ValueUpdater<Folder> valueUpdater) { |
|
94 |
if (event.getType().equals(ContextMenuEvent.getType().getName())) { |
|
95 |
final int x = event.getClientX(); |
|
96 |
final int y = event.getClientY(); |
|
97 |
MysharedTreeViewModel.this.selectionModel.setSelected(folder, true); |
|
98 |
app.scheduleFolderHeadCommand(folder, new Command() { |
|
99 |
|
|
100 |
@Override |
|
101 |
public void execute() { |
|
102 |
FolderContextMenu menu = new FolderContextMenu(app, MysharedTreeView.images, app.getSelectedTree(), folder); |
|
103 |
menu.setPopupPosition(x, y); |
|
104 |
menu.show(); |
|
105 |
} |
|
106 |
}); |
|
107 |
} |
|
108 |
} |
|
88 | 109 |
}; |
89 | 110 |
|
90 | 111 |
protected ListDataProvider<Folder> firstLevelDataProvider = new ListDataProvider<Folder>(); |
... | ... | |
195 | 216 |
|
196 | 217 |
public void fetchFolder(final Folder f, final boolean showfiles) { |
197 | 218 |
String path = "/" + f.getContainer() + "?format=json&shared=" + URL.encodeQueryString(f.getPrefix()); |
198 |
GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, null) {
|
|
219 |
GetRequest<Folder> getFolder = new GetRequest<Folder>(Folder.class, app.getApiPath(), f.getOwner(), path, f) {
|
|
199 | 220 |
@Override |
200 | 221 |
public void onSuccess(final Folder _result) { |
201 | 222 |
if (showfiles) |
Also available in: Unified diff