//celltable.redraw();
celltable.redrawHeaders();
}
+
+ public void showTrash() {
+ uploadButtonBottom.setVisible(false);
+ uploadButtonTop.setVisible(false);
+ }
+
+ public void showFiles() {
+ uploadButtonBottom.setVisible(true);
+ uploadButtonTop.setVisible(true);
+ }
}
private boolean inTrash = false;
+ /*
+ * Flag that indicates that this folder is the Trash
+ */
+ private boolean trash = false;
+
public Folder() {};
public Folder(String name) {
public boolean isContainer() {
return parent == null;
}
+
+ public boolean isTrash() {
+ return trash;
+ }
+
+ public void setTrash(boolean trash) {
+ this.trash = trash;
+ }
+
+ public void setContainer(String container) {
+ this.container = container;
+ }
}
@Override
public void render(Context context, Folder folder, SafeHtmlBuilder safeHtmlBuilder) {
- String html = AbstractImagePrototype.create(FolderTreeView.images.folderYellow()).getHTML();
+ String html;
+ if (folder.isTrash())
+ html = AbstractImagePrototype.create(FolderTreeView.images.emptyTrash()).getHTML();
+ else
+ html = AbstractImagePrototype.create(FolderTreeView.images.folderYellow()).getHTML();
safeHtmlBuilder.appendHtmlConstant(html);
safeHtmlBuilder.append(Templates.INSTANCE.nameSpan(folder.getName()));
}
else {
dataProvider.getList().clear();
dataProvider.getList().addAll(folders);
- if (dataProvider.equals(rootDataProvider))
+ if (dataProvider.equals(rootDataProvider)) {
selectionModel.setSelected(dataProvider.getList().get(0), true);
+ Folder f = new Folder("Trash");
+ f.setTrash(true);
+ f.setContainer("trash");
+ dataProvider.getList().add(f);
+ }
}
}
dataProviderMap.put(folder, new ListDataProvider<Folder>());
}
final ListDataProvider<Folder> dataProvider = dataProviderMap.get(folder);
- fetchFolder(folder, dataProvider);
+ if (!folder.isTrash())
+ fetchFolder(folder, dataProvider);
+ else
+ GSS.get().showFiles(folder);
}
public void fetchFolder(final Folder f, final ListDataProvider<Folder> dataProvider) {