Revision a2f617f8 src/gr/grnet/pithos/web/client/FileList.java
b/src/gr/grnet/pithos/web/client/FileList.java | ||
---|---|---|
60 | 60 |
import com.google.gwt.safehtml.shared.SafeHtmlBuilder; |
61 | 61 |
import com.google.gwt.user.cellview.client.CellTable; |
62 | 62 |
import com.google.gwt.user.cellview.client.Column; |
63 |
import com.google.gwt.user.client.Command; |
|
63 | 64 |
import com.google.gwt.user.client.DOM; |
64 | 65 |
import com.google.gwt.user.client.Event; |
65 | 66 |
import com.google.gwt.user.client.Window; |
... | ... | |
318 | 319 |
vp.setCellWidth(celltable, "100%"); |
319 | 320 |
vp.addHandler(new ContextMenuHandler() { |
320 | 321 |
@Override |
321 |
public void onContextMenu(ContextMenuEvent event) { |
|
322 |
TreeView tree = app.getSelectedTree(); |
|
322 |
public void onContextMenu(final ContextMenuEvent event) {
|
|
323 |
final TreeView tree = app.getSelectedTree();
|
|
323 | 324 |
if (tree != null && (tree.equals(app.getFolderTreeView()) || tree.equals(app.getOtherSharedTreeView()))) { |
324 |
Folder selectedFolder = app.getSelection(); |
|
325 |
FileContextMenu contextMenu = new FileContextMenu(app, images, tree, selectedFolder, getSelectedFiles()); |
|
326 |
int x = event.getNativeEvent().getClientX(); |
|
327 |
int y = event.getNativeEvent().getClientY(); |
|
328 |
contextMenu.setPopupPosition(x, y); |
|
329 |
contextMenu.show(); |
|
325 |
final int x = event.getNativeEvent().getClientX(); |
|
326 |
final int y = event.getNativeEvent().getClientY(); |
|
327 |
final Folder selectedFolder = app.getSelection(); |
|
328 |
app.scheduleFolderHeadCommand(selectedFolder, new Command() { |
|
329 |
|
|
330 |
@Override |
|
331 |
public void execute() { |
|
332 |
final List<File> selectedFiles = getSelectedFiles(); |
|
333 |
Iterator<File> iter = selectedFiles.iterator(); |
|
334 |
iterateFilesHeadCommand(iter, new Command() { |
|
335 |
|
|
336 |
@Override |
|
337 |
public void execute() { |
|
338 |
FileContextMenu contextMenu = new FileContextMenu(app, images, tree, selectedFolder, selectedFiles); |
|
339 |
contextMenu.setPopupPosition(x, y); |
|
340 |
contextMenu.show(); |
|
341 |
} |
|
342 |
}); |
|
343 |
} |
|
344 |
}); |
|
330 | 345 |
} |
331 | 346 |
} |
332 | 347 |
}, ContextMenuEvent.getType()); |
... | ... | |
589 | 604 |
//celltable.redraw(); |
590 | 605 |
celltable.redrawHeaders(); |
591 | 606 |
} |
607 |
|
|
608 |
void iterateFilesHeadCommand(final Iterator<File> iter, final Command callback) { |
|
609 |
if (iter.hasNext()) { |
|
610 |
File f = iter.next(); |
|
611 |
app.scheduleFileHeadCommand(f, new Command() { |
|
612 |
|
|
613 |
@Override |
|
614 |
public void execute() { |
|
615 |
iterateFilesHeadCommand(iter, callback); |
|
616 |
} |
|
617 |
}); |
|
618 |
} |
|
619 |
else if (callback != null) |
|
620 |
callback.execute(); |
|
621 |
} |
|
592 | 622 |
} |
Also available in: Unified diff