Introduce a FS UIProvider
authorbsinou <bsinou@argeo.org>
Sat, 21 Jan 2017 16:13:44 +0000 (17:13 +0100)
committerbsinou <bsinou@argeo.org>
Sat, 21 Jan 2017 16:13:44 +0000 (17:13 +0100)
org.argeo.suite.web/src/org/argeo/suite/fs/MyFilesBrowserPage.java [new file with mode: 0644]
org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java

diff --git a/org.argeo.suite.web/src/org/argeo/suite/fs/MyFilesBrowserPage.java b/org.argeo.suite.web/src/org/argeo/suite/fs/MyFilesBrowserPage.java
new file mode 100644 (file)
index 0000000..6afa58b
--- /dev/null
@@ -0,0 +1,40 @@
+package org.argeo.suite.fs;
+
+import java.nio.file.spi.FileSystemProvider;
+
+import javax.jcr.Node;
+import javax.jcr.RepositoryException;
+
+import org.argeo.cms.auth.CurrentUser;
+import org.argeo.cms.fs.CmsFsBrowser;
+import org.argeo.cms.ui.CmsUiProvider;
+import org.argeo.eclipse.ui.EclipseUiUtils;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+
+/** Default file browser page for the CMS */
+public class MyFilesBrowserPage implements CmsUiProvider {
+
+       private FileSystemProvider nodeFileSystemProvider;
+
+       public MyFilesBrowserPage(FileSystemProvider nodeFileSystemProvider) {
+               this.nodeFileSystemProvider = nodeFileSystemProvider;
+       }
+
+       @Override
+       public Control createUi(Composite parent, Node context) throws RepositoryException {
+               parent.setLayout(EclipseUiUtils.noSpaceGridLayout());
+
+               if (CurrentUser.isAnonymous())
+                       // TODO implement public file display
+                       return null;
+
+               CmsFsBrowser browser = new CmsFsBrowser(parent, SWT.NO_FOCUS, context, nodeFileSystemProvider);
+               browser.setLayoutData(EclipseUiUtils.fillAll());
+
+               // TODO set input on the default home folder parent for one user's
+               // files
+               return browser;
+       }
+}
index a05d7bc6869ca6e63a7496adfa75b739b412f76d..d1ecbf272373c88a724529b1d3fb17fc77bd3253 100644 (file)
@@ -15,13 +15,13 @@ import org.argeo.cms.text.TextStyles;
 import org.argeo.cms.ui.CmsUiProvider;
 import org.argeo.cms.ui.CmsView;
 import org.argeo.cms.ui.LifeCycleUiProvider;
-import org.argeo.cms.ui.fs.MyFilesBrowserPage;
 import org.argeo.cms.util.CmsUtils;
 import org.argeo.cms.widgets.auth.CmsLogin;
 import org.argeo.connect.people.PeopleService;
 import org.argeo.connect.people.PeopleTypes;
 import org.argeo.connect.people.web.pages.PeopleDefaultPage;
 import org.argeo.eclipse.ui.EclipseUiUtils;
+import org.argeo.suite.fs.MyFilesBrowserPage;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionListener;
 import org.eclipse.swt.layout.GridData;