Revision fbff60ff web_client/src/gr/grnet/pithos/web/client/GSS.java
b/web_client/src/gr/grnet/pithos/web/client/GSS.java | ||
---|---|---|
8 | 8 |
import com.google.gwt.user.client.ui.DockPanel; |
9 | 9 |
import com.google.gwt.user.client.ui.HasVerticalAlignment; |
10 | 10 |
import com.google.gwt.view.client.ListDataProvider; |
11 |
import com.google.gwt.view.client.SelectionChangeEvent; |
|
12 |
import com.google.gwt.view.client.SelectionChangeEvent.Handler; |
|
13 |
import com.google.gwt.view.client.SingleSelectionModel; |
|
14 |
import com.google.gwt.view.client.TreeViewModel.NodeInfo; |
|
11 | 15 |
import gr.grnet.pithos.web.client.clipboard.Clipboard; |
12 | 16 |
import gr.grnet.pithos.web.client.commands.GetUserCommand; |
13 | 17 |
import gr.grnet.pithos.web.client.foldertree.AccountResource; |
18 |
import gr.grnet.pithos.web.client.foldertree.File; |
|
14 | 19 |
import gr.grnet.pithos.web.client.foldertree.Folder; |
15 | 20 |
import gr.grnet.pithos.web.client.foldertree.FolderTreeView; |
16 | 21 |
import gr.grnet.pithos.web.client.foldertree.FolderTreeViewModel; |
... | ... | |
55 | 60 |
import com.google.gwt.user.client.ui.RootPanel; |
56 | 61 |
import com.google.gwt.user.client.ui.TabPanel; |
57 | 62 |
import com.google.gwt.user.client.ui.VerticalPanel; |
63 |
import java.util.Set; |
|
58 | 64 |
|
59 | 65 |
/** |
60 | 66 |
* Entry point classes define <code>onModuleLoad()</code>. |
... | ... | |
195 | 201 |
*/ |
196 | 202 |
private String token; |
197 | 203 |
|
198 |
private FolderTreeViewModel folderTreeViewModel = new FolderTreeViewModel();
|
|
199 |
|
|
200 |
private FolderTreeView folderTreeView = new FolderTreeView(folderTreeViewModel);
|
|
204 |
private SingleSelectionModel<Folder> folderTreeSelectionModel;
|
|
205 |
private FolderTreeViewModel folderTreeViewModel; |
|
206 |
private FolderTreeView folderTreeView; |
|
201 | 207 |
|
202 | 208 |
private AccountResource account; |
203 | 209 |
|
... | ... | |
217 | 223 |
messagePanel.setWidth("100%"); |
218 | 224 |
messagePanel.setVisible(false); |
219 | 225 |
|
220 |
fileList = new FileList(images); |
|
221 | 226 |
|
222 | 227 |
// Inner contains the various lists. |
223 | 228 |
inner.sinkEvents(Event.ONCONTEXTMENU); |
224 | 229 |
inner.setAnimationEnabled(true); |
225 | 230 |
inner.getTabBar().addStyleName("pithos-MainTabBar"); |
226 | 231 |
inner.getDeckPanel().addStyleName("pithos-MainTabPanelBottom"); |
227 |
inner.add(fileList, createHeaderHTML(AbstractImagePrototype.create(images.folders()), "Files"), true); |
|
228 | 232 |
|
229 | 233 |
inner.setWidth("100%"); |
230 |
inner.selectTab(0); |
|
231 | 234 |
|
232 | 235 |
inner.addSelectionHandler(new SelectionHandler<Integer>() { |
233 | 236 |
|
... | ... | |
242 | 245 |
} |
243 | 246 |
}); |
244 | 247 |
|
248 |
folderTreeSelectionModel = new SingleSelectionModel<Folder>(); |
|
249 |
folderTreeSelectionModel.addSelectionChangeHandler(new SelectionChangeEvent.Handler() { |
|
250 |
@Override |
|
251 |
public void onSelectionChange(SelectionChangeEvent event) { |
|
252 |
Folder f = folderTreeSelectionModel.getSelectedObject(); |
|
253 |
showFiles(f); |
|
254 |
} |
|
255 |
}); |
|
256 |
|
|
257 |
folderTreeViewModel = new FolderTreeViewModel(folderTreeSelectionModel); |
|
258 |
folderTreeView = new FolderTreeView(folderTreeViewModel); |
|
259 |
|
|
260 |
fileList = new FileList(images, folderTreeView); |
|
261 |
inner.add(fileList, createHeaderHTML(AbstractImagePrototype.create(images.folders()), "Files"), true); |
|
262 |
|
|
245 | 263 |
// Add the left and right panels to the split panel. |
246 | 264 |
splitPanel.setLeftWidget(folderTreeView); |
247 | 265 |
splitPanel.setRightWidget(inner); |
... | ... | |
290 | 308 |
}); |
291 | 309 |
} |
292 | 310 |
|
293 |
/** |
|
311 |
private void showFiles(Folder f) { |
|
312 |
Set<File> files = f.getFiles(); |
|
313 |
fileList.setFiles(new ArrayList<File>(files)); |
|
314 |
inner.selectTab(0); |
|
315 |
} |
|
316 |
|
|
317 |
/** |
|
294 | 318 |
* Parse and store the user credentials to the appropriate fields. |
295 | 319 |
*/ |
296 | 320 |
private boolean parseUserCredentials() { |
... | ... | |
322 | 346 |
Configuration conf = (Configuration) GWT.create(Configuration.class); |
323 | 347 |
|
324 | 348 |
// Window.Location.assign(GWT.getModuleBaseURL() + conf.loginUrl() + "?next=" + Window.Location.getHref()); |
325 |
Cookies.setCookie(conf.authCookie(), "demo" + conf.cookieSeparator() + "0000");
|
|
349 |
Cookies.setCookie(conf.authCookie(), "test" + conf.cookieSeparator() + "0000");
|
|
326 | 350 |
Window.Location.assign(GWT.getModuleBaseURL() + "GSS.html"); |
327 | 351 |
} |
328 | 352 |
|
... | ... | |
335 | 359 |
account = result; |
336 | 360 |
statusPanel.displayStats(account); |
337 | 361 |
folderTreeViewModel.initialize(account); |
362 |
inner.selectTab(0); |
|
338 | 363 |
} |
339 | 364 |
|
340 | 365 |
@Override |
... | ... | |
346 | 371 |
GSS.get().displayError("System error fetching user data: " + t.getMessage()); |
347 | 372 |
} |
348 | 373 |
}; |
349 |
|
|
374 |
getAccount.setHeader("X-Auth-Token", token); |
|
350 | 375 |
Scheduler.get().scheduleDeferred(getAccount); |
351 | 376 |
} |
352 | 377 |
|
... | ... | |
410 | 435 |
} |
411 | 436 |
|
412 | 437 |
/** |
413 |
* Make the user list visible. |
|
414 |
*/ |
|
415 |
public void showUserList() { |
|
416 |
inner.selectTab(1); |
|
417 |
} |
|
418 |
|
|
419 |
/** |
|
420 |
* Make the file list visible. |
|
421 |
*/ |
|
422 |
public void showFileList() { |
|
423 |
fileList.updateFileCache(true /*clear selection*/); |
|
424 |
inner.selectTab(0); |
|
425 |
} |
|
426 |
|
|
427 |
/** |
|
428 | 438 |
* Make the file list visible. |
429 | 439 |
* |
430 | 440 |
* @param update |
... | ... | |
453 | 463 |
if (currentFolder instanceof RestResourceWrapper) { |
454 | 464 |
RestResourceWrapper folder = (RestResourceWrapper) currentFolder; |
455 | 465 |
files = folder.getResource().getFiles(); |
456 |
} else if (currentFolder instanceof TrashResource) { |
|
457 |
TrashResource folder = (TrashResource) currentFolder; |
|
458 |
files = folder.getFiles(); |
|
459 |
} |
|
460 |
else if (currentFolder instanceof SharedResource) { |
|
461 |
SharedResource folder = (SharedResource) currentFolder; |
|
462 |
files = folder.getFiles(); |
|
463 |
} |
|
464 |
else if (currentFolder instanceof OtherUserResource) { |
|
465 |
OtherUserResource folder = (OtherUserResource) currentFolder; |
|
466 |
files = folder.getFiles(); |
|
467 | 466 |
} |
468 |
if (files != null) |
|
469 |
getFileList().setFiles(files); |
|
470 |
else |
|
471 |
getFileList().setFiles(new ArrayList<FileResource>()); |
|
472 | 467 |
} |
473 |
fileList.updateFileCache(clearSelection /*clear selection*/); |
|
474 | 468 |
inner.selectTab(0); |
475 | 469 |
} |
476 | 470 |
|
Also available in: Unified diff