+ fsTreeViewer.addSelectionChangedListener((e) -> {
+ IStructuredSelection selection = (IStructuredSelection) fsTreeViewer.getSelection();
+ if (selection.isEmpty())
+ return;
+ else {
+ Path newSelected = (Path) selection.getFirstElement();
+ if (Files.isDirectory(newSelected)) {
+ Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(repository, newSelected));
+ parent.addDisposeListener((e1) -> Jcr.logout(folderNode));
+ cmsView.sendEvent(SuiteEvent.refreshPart.topic(), SuiteEvent.eventProperties(folderNode));
+ }
+ }
+ });
+ fsTreeViewer.addDoubleClickListener((e) -> {
+ IStructuredSelection selection = (IStructuredSelection) fsTreeViewer.getSelection();
+ if (selection.isEmpty())
+ return;
+ else {
+ Path newSelected = (Path) selection.getFirstElement();
+ if (Files.isDirectory(newSelected)) {
+ Node folderNode = cmsView.doAs(() -> CmsFsUtils.getNode(repository, newSelected));
+ parent.addDisposeListener((e1) -> Jcr.logout(folderNode));
+ cmsView.sendEvent(SuiteEvent.openNewPart.topic(), SuiteEvent.eventProperties(folderNode));
+ }
+ }
+ });