Revision 80a65a5f
b/src/gr/grnet/pithos/web/client/Pithos.java | ||
---|---|---|
346 | 346 |
updateStatistics(); |
347 | 347 |
} |
348 | 348 |
}); |
349 |
showRelevantToolbarButtons(); |
|
349 | 350 |
} |
350 |
showRelevantToolbarButtons(); |
|
351 |
else { |
|
352 |
if (getSelectedTree().equals(folderTreeView)) |
|
353 |
setSelectedTree(null); |
|
354 |
if (getSelectedTree() == null) |
|
355 |
showRelevantToolbarButtons(); |
|
356 |
} |
|
351 | 357 |
} |
352 | 358 |
}); |
353 | 359 |
selectionModels.add(folderTreeSelectionModel); |
... | ... | |
459 | 465 |
} |
460 | 466 |
}); |
461 | 467 |
|
462 |
Scheduler.get().scheduleFixedDelay(new RepeatingCommand() { |
|
463 |
|
|
464 |
@Override |
|
465 |
public boolean execute() { |
|
466 |
Folder f = getSelection(); |
|
467 |
if (f != null) { |
|
468 |
if (getSelectedTree().equals(folderTreeView)) |
|
469 |
updateFolder(f, true, null); |
|
470 |
else if (getSelectedTree().equals(mysharedTreeView)) |
|
471 |
updateSharedFolder(f, true); |
|
472 |
} |
|
473 |
return true; |
|
474 |
} |
|
475 |
}, 3000); |
|
468 |
// Scheduler.get().scheduleFixedDelay(new RepeatingCommand() {
|
|
469 |
// |
|
470 |
// @Override
|
|
471 |
// public boolean execute() {
|
|
472 |
// Folder f = getSelection();
|
|
473 |
// if (f != null) {
|
|
474 |
// if (getSelectedTree().equals(folderTreeView))
|
|
475 |
// updateFolder(f, true, null);
|
|
476 |
// else if (getSelectedTree().equals(mysharedTreeView))
|
|
477 |
// updateSharedFolder(f, true);
|
|
478 |
// }
|
|
479 |
// return true;
|
|
480 |
// }
|
|
481 |
// }, 3000);
|
|
476 | 482 |
} |
477 | 483 |
|
478 | 484 |
public void applyPermissions(Folder f) { |
... | ... | |
503 | 509 |
c.removeStyleName("cellTreeWidget-selectedTree"); |
504 | 510 |
|
505 | 511 |
for (SingleSelectionModel s : selectionModels) |
506 |
if (!s.equals(model)) |
|
512 |
if (!s.equals(model) && s.getSelectedObject() != null)
|
|
507 | 513 |
s.setSelected(s.getSelectedObject(), false); |
508 | 514 |
} |
509 | 515 |
|
... | ... | |
1086 | 1092 |
return selectedTree; |
1087 | 1093 |
} |
1088 | 1094 |
|
1095 |
public void setSelectedTree(TreeView selected) { |
|
1096 |
selectedTree = selected; |
|
1097 |
} |
|
1098 |
|
|
1089 | 1099 |
public Folder getSelection() { |
1090 | 1100 |
return selectedTree.getSelection(); |
1091 | 1101 |
} |
... | ... | |
1115 | 1125 |
deselectOthers(mysharedTreeView, mysharedTreeSelectionModel); |
1116 | 1126 |
upload.setEnabled(false); |
1117 | 1127 |
updateSharedFolder(mysharedTreeSelectionModel.getSelectedObject(), true); |
1128 |
showRelevantToolbarButtons(); |
|
1118 | 1129 |
} |
1119 |
showRelevantToolbarButtons(); |
|
1130 |
else { |
|
1131 |
if (getSelectedTree().equals(mysharedTreeView)) |
|
1132 |
setSelectedTree(null); |
|
1133 |
if (getSelectedTree() == null) |
|
1134 |
showRelevantToolbarButtons(); |
|
1135 |
} |
|
1120 | 1136 |
} |
1121 | 1137 |
}); |
1122 | 1138 |
selectionModels.add(mysharedTreeSelectionModel); |
... | ... | |
1143 | 1159 |
otherSharedTreeView.addStyleName("cellTreeWidget-selectedTree"); |
1144 | 1160 |
applyPermissions(otherSharedTreeSelectionModel.getSelectedObject()); |
1145 | 1161 |
updateOtherSharedFolder(otherSharedTreeSelectionModel.getSelectedObject(), true); |
1162 |
showRelevantToolbarButtons(); |
|
1146 | 1163 |
} |
1147 |
showRelevantToolbarButtons(); |
|
1164 |
else { |
|
1165 |
if (getSelectedTree().equals(otherSharedTreeView)) |
|
1166 |
setSelectedTree(null); |
|
1167 |
if (getSelectedTree() == null) |
|
1168 |
showRelevantToolbarButtons(); |
|
1169 |
} |
|
1148 | 1170 |
} |
1149 | 1171 |
}); |
1150 | 1172 |
selectionModels.add(otherSharedTreeSelectionModel); |
b/src/gr/grnet/pithos/web/client/Toolbar.java | ||
---|---|---|
153 | 153 |
} |
154 | 154 |
|
155 | 155 |
public void showRelevantButtons() { |
156 |
final Folder folder = app.getSelectedTree().getSelection(); |
|
157 |
if (folder != null) { |
|
158 |
app.scheduleFolderHeadCommand(folder, new Command() { |
|
159 |
|
|
160 |
@Override |
|
161 |
public void execute() { |
|
162 |
Boolean[] permissions = folder.getPermissions().get(app.getUsername()); |
|
163 |
boolean canWrite = folder.getOwner().equals(app.getUsername()) || (permissions!= null && permissions[1] != null && permissions[1]); |
|
164 |
boolean isFolderTreeSelected = app.getSelectedTree().equals(app.getFolderTreeView()); |
|
165 |
boolean otherSharedTreeSelected = app.getSelectedTree().equals(app.getOtherSharedTreeView()); |
|
166 |
|
|
167 |
if (isFolderTreeSelected || otherSharedTreeSelected) |
|
168 |
refreshButton.setVisible(true); |
|
169 |
else |
|
170 |
refreshButton.setVisible(true); |
|
171 |
|
|
172 |
if (!folder.isInTrash() && canWrite) { |
|
173 |
if (isFolderTreeSelected || otherSharedTreeSelected) |
|
174 |
newFolderButton.setVisible(true); |
|
175 |
if (isFolderTreeSelected && !folder.isContainer()) |
|
176 |
shareFolderButton.setVisible(true); |
|
177 |
else |
|
178 |
shareFolderButton.setVisible(false); |
|
179 |
} |
|
180 |
else { |
|
181 |
newFolderButton.setVisible(false); |
|
182 |
shareFolderButton.setVisible(false); |
|
183 |
} |
|
184 |
} |
|
185 |
}); |
|
156 |
TreeView selectedTree = app.getSelectedTree(); |
|
157 |
if (selectedTree != null) { |
|
158 |
final Folder folder = app.getSelectedTree().getSelection(); |
|
159 |
if (folder != null) { |
|
160 |
app.scheduleFolderHeadCommand(folder, new Command() { |
|
161 |
|
|
162 |
@Override |
|
163 |
public void execute() { |
|
164 |
Boolean[] permissions = folder.getPermissions().get(app.getUsername()); |
|
165 |
boolean canWrite = folder.getOwner().equals(app.getUsername()) || (permissions!= null && permissions[1] != null && permissions[1]); |
|
166 |
boolean isFolderTreeSelected = app.getSelectedTree().equals(app.getFolderTreeView()); |
|
167 |
boolean otherSharedTreeSelected = app.getSelectedTree().equals(app.getOtherSharedTreeView()); |
|
168 |
|
|
169 |
if (isFolderTreeSelected || otherSharedTreeSelected) |
|
170 |
refreshButton.setVisible(true); |
|
171 |
else |
|
172 |
refreshButton.setVisible(true); |
|
173 |
|
|
174 |
if (!folder.isInTrash() && canWrite) { |
|
175 |
if (isFolderTreeSelected || otherSharedTreeSelected) |
|
176 |
newFolderButton.setVisible(true); |
|
177 |
if (isFolderTreeSelected && !folder.isContainer()) |
|
178 |
shareFolderButton.setVisible(true); |
|
179 |
else |
|
180 |
shareFolderButton.setVisible(false); |
|
181 |
} |
|
182 |
else { |
|
183 |
newFolderButton.setVisible(false); |
|
184 |
shareFolderButton.setVisible(false); |
|
185 |
} |
|
186 |
} |
|
187 |
}); |
|
188 |
} |
|
189 |
else { |
|
190 |
newFolderButton.setVisible(false); |
|
191 |
shareFolderButton.setVisible(false); |
|
192 |
refreshButton.setVisible(false); |
|
193 |
} |
|
186 | 194 |
} |
187 | 195 |
else { |
188 | 196 |
newFolderButton.setVisible(false); |
... | ... | |
190 | 198 |
refreshButton.setVisible(false); |
191 | 199 |
} |
192 | 200 |
|
193 |
menu = new ToolsMenu(app, Pithos.images, app.getSelectedTree(), app.getSelectedTree().getSelection(), app.getFileList().getSelectedFiles()); |
|
194 |
if (!menu.isEmpty()) |
|
195 |
toolsButton.setVisible(true); |
|
196 |
else |
|
197 |
toolsButton.setVisible(false); |
|
201 |
if (selectedTree != null) { |
|
202 |
menu = new ToolsMenu(app, Pithos.images, selectedTree, selectedTree.getSelection(), app.getFileList().getSelectedFiles()); |
|
203 |
if (!menu.isEmpty()) |
|
204 |
toolsButton.setVisible(true); |
|
205 |
else |
|
206 |
toolsButton.setVisible(false); |
|
207 |
} |
|
198 | 208 |
} |
199 | 209 |
} |
b/src/gr/grnet/pithos/web/client/grouptree/GroupTreeViewModel.java | ||
---|---|---|
141 | 141 |
if (rootSelectionModel.getSelectedObject() != null) { |
142 | 142 |
app.deselectOthers(app.getGroupTreeView(), rootSelectionModel); |
143 | 143 |
app.showFiles(new HashSet<File>()); |
144 |
app.showRelevantToolbarButtons(); |
|
145 |
} |
|
146 |
else { |
|
147 |
if (app.getSelectedTree().equals(app.getGroupTreeView())) |
|
148 |
app.setSelectedTree(null); |
|
149 |
if (app.getSelectedTree() == null) |
|
150 |
app.showRelevantToolbarButtons(); |
|
144 | 151 |
} |
145 |
app.showRelevantToolbarButtons(); |
|
146 | 152 |
} |
147 | 153 |
}); |
148 | 154 |
|
... | ... | |
155 | 161 |
if (groupSelectionModel.getSelectedObject() != null) { |
156 | 162 |
app.deselectOthers(app.getGroupTreeView(), groupSelectionModel); |
157 | 163 |
app.showFiles(new HashSet<File>()); |
164 |
app.showRelevantToolbarButtons(); |
|
165 |
} |
|
166 |
else { |
|
167 |
if (app.getSelectedTree().equals(app.getGroupTreeView())) |
|
168 |
app.setSelectedTree(null); |
|
169 |
if (app.getSelectedTree() == null) |
|
170 |
app.showRelevantToolbarButtons(); |
|
158 | 171 |
} |
159 |
app.showRelevantToolbarButtons(); |
|
160 | 172 |
} |
161 | 173 |
}); |
162 | 174 |
|
... | ... | |
169 | 181 |
if (userSelectionModel.getSelectedObject() != null) { |
170 | 182 |
app.deselectOthers(app.getGroupTreeView(), userSelectionModel); |
171 | 183 |
app.showFiles(new HashSet<File>()); |
184 |
app.showRelevantToolbarButtons(); |
|
185 |
} |
|
186 |
else { |
|
187 |
if (app.getSelectedTree().equals(app.getGroupTreeView())) |
|
188 |
app.setSelectedTree(null); |
|
189 |
if (app.getSelectedTree() == null) |
|
190 |
app.showRelevantToolbarButtons(); |
|
172 | 191 |
} |
173 |
app.showRelevantToolbarButtons(); |
|
174 | 192 |
} |
175 | 193 |
}); |
176 | 194 |
} |
b/src/gr/grnet/pithos/web/client/mysharedtree/MysharedTreeViewModel.java | ||
---|---|---|
131 | 131 |
app.deselectOthers(app.getMySharedTreeView(), selectionModel2); |
132 | 132 |
app.applyPermissions(null); |
133 | 133 |
fetchSharedFiles(true); |
134 |
app.showRelevantToolbarButtons(); |
|
134 | 135 |
} |
135 |
app.showRelevantToolbarButtons(); |
|
136 |
else { |
|
137 |
if (app.getSelectedTree().equals(app.getMySharedTreeView())) |
|
138 |
app.setSelectedTree(null); |
|
139 |
if (app.getSelectedTree() == null) |
|
140 |
app.showRelevantToolbarButtons(); |
|
141 |
} |
|
136 | 142 |
} |
137 | 143 |
}); |
138 | 144 |
app.addSelectionModel(selectionModel2); |
b/src/gr/grnet/pithos/web/client/othersharedtree/OtherSharedTreeViewModel.java | ||
---|---|---|
133 | 133 |
app.deselectOthers(app.getOtherSharedTreeView(), selectionModel2); |
134 | 134 |
app.applyPermissions(null); |
135 | 135 |
app.showFiles(new HashSet<File>()); |
136 |
app.showRelevantToolbarButtons(); |
|
136 | 137 |
} |
137 |
app.showRelevantToolbarButtons(); |
|
138 |
else { |
|
139 |
if (app.getSelectedTree().equals(app.getOtherSharedTreeView())) |
|
140 |
app.setSelectedTree(null); |
|
141 |
if (app.getSelectedTree() == null) |
|
142 |
app.showRelevantToolbarButtons(); |
|
143 |
} |
|
138 | 144 |
} |
139 | 145 |
}); |
140 | 146 |
app.addSelectionModel(selectionModel2); |
... | ... | |
170 | 176 |
userDataProviderMap.put(username, new ListDataProvider<Folder>()); |
171 | 177 |
} |
172 | 178 |
fetchSharedFiles(username, userDataProviderMap.get(username)); |
179 |
app.showRelevantToolbarButtons(); |
|
173 | 180 |
} |
174 |
app.showRelevantToolbarButtons(); |
|
181 |
else { |
|
182 |
if (app.getSelectedTree().equals(app.getOtherSharedTreeView())) |
|
183 |
app.setSelectedTree(null); |
|
184 |
if (app.getSelectedTree() == null) |
|
185 |
app.showRelevantToolbarButtons(); |
|
186 |
} |
|
175 | 187 |
} |
176 | 188 |
}); |
177 | 189 |
app.addSelectionModel(selectionModel3); |
Also available in: Unified diff