From 0887c47a0a7086f298401cb331462fc0444db41c Mon Sep 17 00:00:00 2001 From: bsinou Date: Sat, 21 Jan 2017 17:13:44 +0100 Subject: [PATCH] Introduce a FS UIProvider --- .../argeo/suite/fs/MyFilesBrowserPage.java | 40 +++++++++++++++++++ .../org/argeo/suite/web/DefaultMainPage.java | 2 +- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 org.argeo.suite.web/src/org/argeo/suite/fs/MyFilesBrowserPage.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 index 0000000..6afa58b --- /dev/null +++ b/org.argeo.suite.web/src/org/argeo/suite/fs/MyFilesBrowserPage.java @@ -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; + } +} diff --git a/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java b/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java index a05d7bc..d1ecbf2 100644 --- a/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java +++ b/org.argeo.suite.web/src/org/argeo/suite/web/DefaultMainPage.java @@ -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; -- 2.30.2