kune-commits
Threads by month
- ----- 2026 -----
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
December 2008
- 3 participants
- 45 discussions
Author: vjrj
Date: 2008-12-02 18:42:31 +0100 (Tue, 02 Dec 2008)
New Revision: 978
Added:
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeader.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderView.java
Removed:
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java
Modified:
trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java
trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java
trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java
trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java
trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java
trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java
trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java
trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java
trunk/src/test/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenterTest.java
Log:
Complete - task NewGroup -> Close --> don't restore state
and other fixes
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-02 17:42:31 UTC (rev 978)
@@ -41,4 +41,4 @@
padding: 1px 0px 1px 1px;
text-decoration:none;
}
-*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-bsp-buddie{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-bsp-buddie td{padding:2px 3px;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}
\ No newline at end of file
+*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-bsp-buddie{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-bsp-buddie td{padding:2px 3px;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}.x-toolbar-body table{width:100%;}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-02 17:42:31 UTC (rev 978)
@@ -814,3 +814,7 @@
background-image: url(img/emblem-system.gif) !important;
}
+.x-toolbar-body table {
+ width: 100%;
+}
+
Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientActions.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -38,7 +38,7 @@
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.TextEditor;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import com.calclab.suco.client.ioc.Provider;
@@ -50,7 +50,7 @@
final Provider<ContentServiceAsync> contentServiceProvider,
final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
- final Provider<FileDownloadUtils> fileDownloadProvider, final EntityLogo entityLogo,
+ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
final Provider<TextEditor> textEditorProvider, final KuneErrorHandler errorHandler,
final BlogViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider) {
super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
Modified: trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/blogs/client/BlogClientModule.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -46,7 +46,7 @@
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.TextEditor;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
@@ -76,7 +76,7 @@
$(Session.class), $(StateManager.class), $(DeferredCommandWrapper.class),
$$(ContentServiceAsync.class), $$(GroupServiceAsync.class), $$(FileUploader.class),
$(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(FileDownloadUtils.class),
- $(EntityLogo.class), $$(TextEditor.class), $(KuneErrorHandler.class), $(BlogViewer.class),
+ $(EntityHeader.class), $$(TextEditor.class), $(KuneErrorHandler.class), $(BlogViewer.class),
$$(ContextPropEditor.class));
}
});
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientActions.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -38,7 +38,7 @@
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.TextEditor;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import com.calclab.suco.client.ioc.Provider;
@@ -50,7 +50,7 @@
final Provider<ContentServiceAsync> contentServiceProvider,
final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
- final Provider<FileDownloadUtils> fileDownloadProvider, final EntityLogo entityLogo,
+ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
final Provider<TextEditor> textEditorProvider, final KuneErrorHandler errorHandler,
final DocumentViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider) {
super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
Modified: trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/docs/client/DocumentClientModule.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -46,7 +46,7 @@
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.TextEditor;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
@@ -76,7 +76,7 @@
$(Session.class), $(StateManager.class), $(DeferredCommandWrapper.class),
$$(ContentServiceAsync.class), $$(GroupServiceAsync.class), $$(FileUploader.class),
$(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(FileDownloadUtils.class),
- $(EntityLogo.class), $$(TextEditor.class), $(KuneErrorHandler.class), $(DocumentViewer.class),
+ $(EntityHeader.class), $$(TextEditor.class), $(KuneErrorHandler.class), $(DocumentViewer.class),
$$(ContextPropEditor.class));
}
});
Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientActions.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -37,7 +37,7 @@
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.TextEditor;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import com.calclab.suco.client.ioc.Provider;
@@ -49,7 +49,7 @@
final Provider<ContentServiceAsync> contentServiceProvider,
final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
- final Provider<FileDownloadUtils> fileDownloadProvider, final EntityLogo entityLogo,
+ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
final Provider<TextEditor> textEditorProvider, final KuneErrorHandler errorHandler,
final GalleryViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider) {
super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
Modified: trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/gallery/client/GalleryClientModule.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -46,7 +46,7 @@
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.TextEditor;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
@@ -76,7 +76,7 @@
$(Session.class), $(StateManager.class), $(DeferredCommandWrapper.class),
$$(ContentServiceAsync.class), $$(GroupServiceAsync.class), $$(FileUploader.class),
$(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(FileDownloadUtils.class),
- $(EntityLogo.class), $$(TextEditor.class), $(KuneErrorHandler.class), $(GalleryViewer.class),
+ $(EntityHeader.class), $$(TextEditor.class), $(KuneErrorHandler.class), $(GalleryViewer.class),
$$(ContextPropEditor.class));
}
});
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -43,9 +43,9 @@
import org.ourproject.kune.platf.client.ui.rate.RatePanel;
import org.ourproject.kune.platf.client.ui.rate.RatePresenter;
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPresenter;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeaderPanel;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeaderPresenter;
import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel;
@@ -255,12 +255,12 @@
}
});
- register(ApplicationComponentGroup.class, new Factory<EntityLogo>(EntityLogo.class) {
+ register(ApplicationComponentGroup.class, new Factory<EntityHeader>(EntityHeader.class) {
@Override
- public EntityLogo create() {
- final EntityLogoPresenter presenter = new EntityLogoPresenter($(StateManager.class),
+ public EntityHeader create() {
+ final EntityHeaderPresenter presenter = new EntityHeaderPresenter($(StateManager.class),
$(WsThemePresenter.class), $(Session.class));
- final EntityLogoPanel panel = new EntityLogoPanel($(WorkspaceSkeleton.class),
+ final EntityHeaderPanel panel = new EntityHeaderPanel($(WorkspaceSkeleton.class),
$$(FileDownloadUtils.class), $(Images.class));
presenter.init(panel);
return presenter;
@@ -413,7 +413,7 @@
@Override
public NoHomePage create() {
final NoHomePagePresenter presenter = new NoHomePagePresenter($(StateManager.class),
- $$(EntityLogo.class));
+ $$(EntityHeader.class));
final NoHomePagePanel panel = new NoHomePagePanel(presenter, $(WorkspaceSkeleton.class),
$(I18nTranslationService.class));
presenter.init(panel);
@@ -425,7 +425,7 @@
@Override
public EntityOptions create() {
final EntityOptionsPresenter presenter = new EntityOptionsPresenter($(StateManager.class));
- final EntityOptionsPanel panel = new EntityOptionsPanel(presenter, $(EntityLogo.class),
+ final EntityOptionsPanel panel = new EntityOptionsPanel(presenter, $(EntityHeader.class),
$(I18nTranslationService.class), $(Images.class), $(EntityOptionsGroup.class));
presenter.init(panel);
return presenter;
@@ -449,7 +449,7 @@
@Override
public EntityOptionsLogo create() {
final EntityOptionsLogoPresenter presenter = new EntityOptionsLogoPresenter($(Session.class),
- $(EntityLogo.class), $(EntityOptions.class), $(StateManager.class));
+ $(EntityHeader.class), $(EntityOptions.class), $(StateManager.class));
final EntityOptionsLogoPanel panel = new EntityOptionsLogoPanel(presenter, $(WorkspaceSkeleton.class),
$(I18nTranslationService.class));
presenter.init(panel);
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/EntityLogoUploadManager.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -37,7 +37,7 @@
import org.ourproject.kune.platf.server.domain.BasicMimeType;
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.manager.GroupManager;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoView;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeaderView;
import com.google.inject.Inject;
import com.wideplay.warp.persist.TransactionType;
@@ -75,7 +75,7 @@
File tmpDestFile = File.createTempFile("logoDest", "");
boolean result = ImageUtilsDefault.scaleImageToMax(origFile.getAbsolutePath(), tmpDestFile.getAbsolutePath(),
- EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT);
+ EntityHeaderView.LOGO_ICON_DEFAULT_HEIGHT);
if (result) {
group.setLogo(FileUtils.getBytesFromFile(tmpDestFile));
group.setLogoMime(mimeType);
@@ -125,7 +125,7 @@
protected String createXmlResponse(final boolean success, final String message) {
String error = "";
if (!success) {
- error = "<errors><field><id>" + EntityLogoView.LOGO_FORM_FIELD + "</id><msg><![CDATA[" + message
+ error = "<errors><field><id>" + EntityHeaderView.LOGO_FORM_FIELD + "</id><msg><![CDATA[" + message
+ "]]></msg></field></errors>";
}
return "<response success=\"" + success + "\">" + error + "</response>";
Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientActions.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -38,7 +38,7 @@
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.TextEditor;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import com.calclab.suco.client.ioc.Provider;
@@ -50,7 +50,7 @@
final Provider<ContentServiceAsync> contentServiceProvider,
final Provider<GroupServiceAsync> groupServiceProvider, final Provider<FileUploader> fileUploaderProvider,
final ContentActionRegistry contentActionRegistry, final ContextActionRegistry contextActionRegistry,
- final Provider<FileDownloadUtils> fileDownloadProvider, final EntityLogo entityLogo,
+ final Provider<FileDownloadUtils> fileDownloadProvider, final EntityHeader entityLogo,
final Provider<TextEditor> textEditorProvider, final KuneErrorHandler errorHandler,
final WikiViewer documentViewer, final Provider<ContextPropEditor> contextProvEditorProvider) {
super(session, stateManager, i18n, errorHandler, deferredCommandWrapper, groupServiceProvider,
Modified: trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/wiki/client/WikiClientModule.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -46,7 +46,7 @@
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.TextEditor;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
@@ -76,7 +76,7 @@
$(Session.class), $(StateManager.class), $(DeferredCommandWrapper.class),
$$(ContentServiceAsync.class), $$(GroupServiceAsync.class), $$(FileUploader.class),
$(ContentActionRegistry.class), $(ContextActionRegistry.class), $$(FileDownloadUtils.class),
- $(EntityLogo.class), $$(TextEditor.class), $(KuneErrorHandler.class), $(WikiViewer.class),
+ $(EntityHeader.class), $$(TextEditor.class), $(KuneErrorHandler.class), $(WikiViewer.class),
$$(ContextPropEditor.class));
}
});
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/AbstractFoldableContentActions.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -33,7 +33,7 @@
import org.ourproject.kune.workspace.client.ctxnav.ContextNavigator;
import org.ourproject.kune.workspace.client.cxt.ContextPropEditor;
import org.ourproject.kune.workspace.client.editor.TextEditor;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.site.Site;
@@ -63,7 +63,7 @@
protected final Provider<ContextPropEditor> contextPropEditorProvider;
protected final FoldableContent foldableContent;
protected final DeferredCommandWrapper deferredCommandWrapper;
- protected final EntityLogo entityLogo;
+ protected final EntityHeader entityLogo;
public AbstractFoldableContentActions(Session session, StateManager stateManager, I18nUITranslationService i18n,
KuneErrorHandler errorHandler, DeferredCommandWrapper deferredCommandWrapper,
@@ -72,7 +72,7 @@
ContentActionRegistry contentActionRegistry, ContextActionRegistry contextActionRegistry,
Provider<FileDownloadUtils> fileDownloadProvider, Provider<TextEditor> textEditorProvider,
Provider<ContextPropEditor> contextPropEditorProvider, FoldableContent foldableContent,
- EntityLogo entityLogo) {
+ EntityHeader entityLogo) {
this.session = session;
this.stateManager = stateManager;
this.i18n = i18n;
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeader.java (from rev 977, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeader.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -0,0 +1,37 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */package org.ourproject.kune.workspace.client.entitylogo;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface EntityHeader {
+
+ void addWidget(View widget);
+
+ /**
+ * Refresh the logo from the group info in the client session
+ */
+ void refreshGroupLogo();
+
+ /**
+ * Reload the logo from the group reloaded from the server
+ */
+ void reloadGroupLogoImage();
+
+}
\ No newline at end of file
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeader.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderPanel.java (from rev 977, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderPanel.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -0,0 +1,117 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+package org.ourproject.kune.workspace.client.entitylogo;
+
+import java.util.Date;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.themes.WsTheme;
+
+import com.calclab.suco.client.ioc.Provider;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.VerticalPanel;
+import com.google.gwt.user.client.ui.Widget;
+
+public class EntityHeaderPanel extends HorizontalPanel implements EntityHeaderView {
+
+ private final Provider<FileDownloadUtils> downloadProvider;
+ private final EntityTextLogo entityTextLogo;
+ private final Images images;
+ private final VerticalPanel vp;
+
+ public EntityHeaderPanel(final WorkspaceSkeleton ws, final Provider<FileDownloadUtils> dowloadProvider, Images images) {
+ this.downloadProvider = dowloadProvider;
+ this.images = images;
+ vp = new VerticalPanel();
+ vp.setWidth("100%");
+ super.setWidth("100%");
+ vp.setHorizontalAlignment(ALIGN_RIGHT);
+ entityTextLogo = new EntityTextLogo();
+ add(entityTextLogo);
+ add(vp);
+ ws.addToEntityMainHeader(this);
+ }
+
+ public void addWidget(View view) {
+ Widget widget = (Widget) view;
+ vp.add(widget);
+ vp.setCellWidth(widget, "100%");
+ }
+
+ public void reloadImage(GroupDTO group) {
+ entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(group.getStateToken()) + "&nocache="
+ + new Date().getTime());
+ }
+
+ public void setFullLogo(final StateToken stateToken, final boolean clipped) {
+ clear();
+ final String imageUrl = downloadProvider.get().getImageUrl(stateToken);
+ Image logo;
+ if (clipped) {
+ logo = new Image(imageUrl, 0, 0, LOGO_ICON_DEFAULT_WIDTH, LOGO_ICON_DEFAULT_HEIGHT);
+ } else {
+ logo = new Image(imageUrl);
+ logo.setWidth("" + LOGO_ICON_DEFAULT_WIDTH);
+ logo.setHeight("" + LOGO_ICON_DEFAULT_HEIGHT);
+ }
+ add(logo);
+ }
+
+ public void setLargeFont() {
+ entityTextLogo.setLargeFont();
+ }
+
+ public void setLogoImage(StateToken stateToken) {
+ entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(stateToken));
+ }
+
+ public void setLogoImageVisible(boolean visible) {
+ entityTextLogo.setLogoVisible(visible);
+ }
+
+ public void setLogoText(final String groupName) {
+ entityTextLogo.setLogoText(groupName);
+ }
+
+ public void setMediumFont() {
+ entityTextLogo.setMediumFont();
+ }
+
+ public void setSmallFont() {
+ entityTextLogo.setSmallFont();
+ }
+
+ public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
+ if (oldTheme != null) {
+ entityTextLogo.removeStyleDependentName(oldTheme.toString());
+ }
+ entityTextLogo.addStyleDependentName(newTheme.toString());
+ }
+
+ public void showDefUserLogo() {
+ entityTextLogo.setLogoImage(images.personAvatarDef());
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderPanel.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderPresenter.java (from rev 977, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderPresenter.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -0,0 +1,100 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */package org.ourproject.kune.workspace.client.entitylogo;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.GroupType;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.themes.WsTheme;
+import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
+
+import com.calclab.suco.client.listener.Listener2;
+
+public class EntityHeaderPresenter implements EntityHeader {
+ int GROUP_MEDIUM_NAME_LIMIT_SIZE = 90;
+ int GROUP_LARGE_NAME_LIMIT_SIZE = 20;
+
+ private EntityHeaderView view;
+ private final Session session;
+
+ public EntityHeaderPresenter(final StateManager stateManager, final WsThemePresenter theme, final Session session) {
+ this.session = session;
+
+ stateManager.onGroupChanged(new Listener2<String, String>() {
+ public void onEvent(final String oldGroup, final String newGroup) {
+ setGroupLogo(session.getCurrentState().getGroup());
+ }
+ });
+ theme.onThemeChanged(new Listener2<WsTheme, WsTheme>() {
+ public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
+ view.setTheme(oldTheme, newTheme);
+ }
+ });
+ }
+
+ public void addWidget(View widget) {
+ view.addWidget(widget);
+ }
+
+ public void init(final EntityHeaderView view) {
+ this.view = view;
+ }
+
+ public void refreshGroupLogo() {
+ setGroupLogo(session.getCurrentState().getGroup());
+ }
+
+ public void reloadGroupLogoImage() {
+ view.reloadImage(session.getCurrentState().getGroup());
+ }
+
+ void setGroupLogo(final GroupDTO group) {
+ final ContentSimpleDTO groupFullLogo = group.getGroupFullLogo();
+ if (groupFullLogo != null) {
+ view.setFullLogo(groupFullLogo.getStateToken(), true);
+ } else if (group.hasLogo()) {
+ setLogoText(group.getLongName());
+ view.setLogoImage(group.getStateToken());
+ view.setLogoImageVisible(true);
+ } else {
+ setLogoText(group.getLongName());
+ if (group.getGroupType().equals(GroupType.PERSONAL)) {
+ view.showDefUserLogo();
+ view.setLogoImageVisible(true);
+ } else {
+ view.setLogoImageVisible(false);
+ }
+ }
+ }
+
+ void setLogoText(String name) {
+ int length = name.length();
+ if (length <= GROUP_LARGE_NAME_LIMIT_SIZE) {
+ view.setLargeFont();
+ } else if (length <= GROUP_MEDIUM_NAME_LIMIT_SIZE) {
+ view.setMediumFont();
+ } else {
+ view.setSmallFont();
+ }
+ view.setLogoText(name);
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderPresenter.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderView.java (from rev 977, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderView.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -0,0 +1,57 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */package org.ourproject.kune.workspace.client.entitylogo;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.GroupDTO;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.workspace.client.themes.WsTheme;
+
+public interface EntityHeaderView {
+
+ int LOGO_ICON_DEFAULT_HEIGHT = 60;
+ int LOGO_ICON_DEFAULT_WIDTH = 468;
+
+ int LOGO_ICON_MIN_HEIGHT = 28;
+ int LOGO_ICON_MIN_WIDTH = 468;
+
+ String LOGO_FORM_FIELD = "k-elogov-ff";
+
+ void addWidget(View view);
+
+ void reloadImage(GroupDTO group);
+
+ void setFullLogo(StateToken stateToken, boolean clipped);
+
+ void setLargeFont();
+
+ void setLogoImage(StateToken stateToken);
+
+ void setLogoImageVisible(boolean visible);
+
+ void setLogoText(final String groupName);
+
+ void setMediumFont();
+
+ void setSmallFont();
+
+ void setTheme(final WsTheme oldTheme, WsTheme newTheme);
+
+ void showDefUserLogo();
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityHeaderView.java
___________________________________________________________________
Name: svn:mergeinfo
+
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -1,37 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */package org.ourproject.kune.workspace.client.entitylogo;
-
-import org.ourproject.kune.platf.client.View;
-
-public interface EntityLogo {
-
- void addWidget(View widget);
-
- /**
- * Refresh the logo from the group info in the client session
- */
- void refreshGroupLogo();
-
- /**
- * Reload the logo from the group reloaded from the server
- */
- void reloadGroupLogoImage();
-
-}
\ No newline at end of file
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -1,117 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-package org.ourproject.kune.workspace.client.entitylogo;
-
-import java.util.Date;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.GroupDTO;
-import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-import org.ourproject.kune.workspace.client.themes.WsTheme;
-
-import com.calclab.suco.client.ioc.Provider;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
-
-public class EntityLogoPanel extends HorizontalPanel implements EntityLogoView {
-
- private final Provider<FileDownloadUtils> downloadProvider;
- private final EntityTextLogo entityTextLogo;
- private final Images images;
- private final VerticalPanel vp;
-
- public EntityLogoPanel(final WorkspaceSkeleton ws, final Provider<FileDownloadUtils> dowloadProvider, Images images) {
- this.downloadProvider = dowloadProvider;
- this.images = images;
- vp = new VerticalPanel();
- vp.setWidth("100%");
- super.setWidth("100%");
- vp.setHorizontalAlignment(ALIGN_RIGHT);
- entityTextLogo = new EntityTextLogo();
- add(entityTextLogo);
- add(vp);
- ws.addToEntityMainHeader(this);
- }
-
- public void addWidget(View view) {
- Widget widget = (Widget) view;
- vp.add(widget);
- vp.setCellWidth(widget, "100%");
- }
-
- public void reloadImage(GroupDTO group) {
- entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(group.getStateToken()) + "&nocache="
- + new Date().getTime());
- }
-
- public void setFullLogo(final StateToken stateToken, final boolean clipped) {
- clear();
- final String imageUrl = downloadProvider.get().getImageUrl(stateToken);
- Image logo;
- if (clipped) {
- logo = new Image(imageUrl, 0, 0, LOGO_ICON_DEFAULT_WIDTH, LOGO_ICON_DEFAULT_HEIGHT);
- } else {
- logo = new Image(imageUrl);
- logo.setWidth("" + LOGO_ICON_DEFAULT_WIDTH);
- logo.setHeight("" + LOGO_ICON_DEFAULT_HEIGHT);
- }
- add(logo);
- }
-
- public void setLargeFont() {
- entityTextLogo.setLargeFont();
- }
-
- public void setLogoImage(StateToken stateToken) {
- entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(stateToken));
- }
-
- public void setLogoImageVisible(boolean visible) {
- entityTextLogo.setLogoVisible(visible);
- }
-
- public void setLogoText(final String groupName) {
- entityTextLogo.setLogoText(groupName);
- }
-
- public void setMediumFont() {
- entityTextLogo.setMediumFont();
- }
-
- public void setSmallFont() {
- entityTextLogo.setSmallFont();
- }
-
- public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
- if (oldTheme != null) {
- entityTextLogo.removeStyleDependentName(oldTheme.toString());
- }
- entityTextLogo.addStyleDependentName(newTheme.toString());
- }
-
- public void showDefUserLogo() {
- entityTextLogo.setLogoImage(images.personAvatarDef());
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -1,100 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */package org.ourproject.kune.workspace.client.entitylogo;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
-import org.ourproject.kune.platf.client.dto.GroupDTO;
-import org.ourproject.kune.platf.client.dto.GroupType;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.themes.WsTheme;
-import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
-
-import com.calclab.suco.client.listener.Listener2;
-
-public class EntityLogoPresenter implements EntityLogo {
- int GROUP_MEDIUM_NAME_LIMIT_SIZE = 90;
- int GROUP_LARGE_NAME_LIMIT_SIZE = 20;
-
- private EntityLogoView view;
- private final Session session;
-
- public EntityLogoPresenter(final StateManager stateManager, final WsThemePresenter theme, final Session session) {
- this.session = session;
-
- stateManager.onGroupChanged(new Listener2<String, String>() {
- public void onEvent(final String oldGroup, final String newGroup) {
- setGroupLogo(session.getCurrentState().getGroup());
- }
- });
- theme.onThemeChanged(new Listener2<WsTheme, WsTheme>() {
- public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
- view.setTheme(oldTheme, newTheme);
- }
- });
- }
-
- public void addWidget(View widget) {
- view.addWidget(widget);
- }
-
- public void init(final EntityLogoView view) {
- this.view = view;
- }
-
- public void refreshGroupLogo() {
- setGroupLogo(session.getCurrentState().getGroup());
- }
-
- public void reloadGroupLogoImage() {
- view.reloadImage(session.getCurrentState().getGroup());
- }
-
- void setGroupLogo(final GroupDTO group) {
- final ContentSimpleDTO groupFullLogo = group.getGroupFullLogo();
- if (groupFullLogo != null) {
- view.setFullLogo(groupFullLogo.getStateToken(), true);
- } else if (group.hasLogo()) {
- setLogoText(group.getLongName());
- view.setLogoImage(group.getStateToken());
- view.setLogoImageVisible(true);
- } else {
- setLogoText(group.getLongName());
- if (group.getGroupType().equals(GroupType.PERSONAL)) {
- view.showDefUserLogo();
- view.setLogoImageVisible(true);
- } else {
- view.setLogoImageVisible(false);
- }
- }
- }
-
- void setLogoText(String name) {
- int length = name.length();
- if (length <= GROUP_LARGE_NAME_LIMIT_SIZE) {
- view.setLargeFont();
- } else if (length <= GROUP_MEDIUM_NAME_LIMIT_SIZE) {
- view.setMediumFont();
- } else {
- view.setSmallFont();
- }
- view.setLogoText(name);
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -1,57 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */package org.ourproject.kune.workspace.client.entitylogo;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.GroupDTO;
-import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.workspace.client.themes.WsTheme;
-
-public interface EntityLogoView {
-
- int LOGO_ICON_DEFAULT_HEIGHT = 60;
- int LOGO_ICON_DEFAULT_WIDTH = 468;
-
- int LOGO_ICON_MIN_HEIGHT = 28;
- int LOGO_ICON_MIN_WIDTH = 468;
-
- String LOGO_FORM_FIELD = "k-elogov-ff";
-
- void addWidget(View view);
-
- void reloadImage(GroupDTO group);
-
- void setFullLogo(StateToken stateToken, boolean clipped);
-
- void setLargeFont();
-
- void setLogoImage(StateToken stateToken);
-
- void setLogoImageVisible(boolean visible);
-
- void setLogoText(final String groupName);
-
- void setMediumFont();
-
- void setSmallFont();
-
- void setTheme(final WsTheme oldTheme, WsTheme newTheme);
-
- void showDefUserLogo();
-}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/nohomepage/NoHomePagePresenter.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -22,7 +22,7 @@
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.StateNoContentDTO;
import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener;
@@ -31,7 +31,7 @@
private NoHomePageView view;
- public NoHomePagePresenter(final StateManager stateManager, final Provider<EntityLogo> entityLogoProvider) {
+ public NoHomePagePresenter(final StateManager stateManager, final Provider<EntityHeader> entityLogoProvider) {
stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
public void onEvent(StateAbstractDTO state) {
if (state instanceof StateNoContentDTO) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -67,7 +67,7 @@
}
public void setFirstTabActive() {
- tabPanel.setActiveTab(1);
+ tabPanel.setActiveTab(0);
}
public void setIconCls(String iconCls) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -7,7 +7,7 @@
import org.ourproject.kune.platf.client.services.Images;
import org.ourproject.kune.platf.client.ui.IconLabel;
import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import com.allen_sauer.gwt.log.client.Log;
import com.google.gwt.user.client.ui.AbstractImagePrototype;
@@ -26,13 +26,13 @@
public static final String GROUP_OPTIONS_ID = "k-gop-panel";
public static final String GROUP_OPTIONS_ICON = "k-gop-icon";
private final I18nTranslationService i18n;
- private final EntityLogo entityHeader;
+ private final EntityHeader entityHeader;
private EntityOptionPushButton optionsButton;
private final Images images;
private final EntityOptionsGroup entityPreferencesGroup;
- public EntityOptionsPanel(final EntityOptionsPresenter presenter, final EntityLogo entityHeader,
+ public EntityOptionsPanel(final EntityOptionsPresenter presenter, final EntityHeader entityHeader,
I18nTranslationService i18n, Images images, EntityOptionsGroup entityOptionsGroup) {
super("", 400, 250, 400, 250, images, GROUP_OPTIONS_ID, GROUP_OPTIONS_ERROR_ID);
this.entityHeader = entityHeader;
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -21,7 +21,7 @@
import org.ourproject.kune.platf.client.PlatfMessages;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.ui.download.FileParams;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoView;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeaderView;
import org.ourproject.kune.workspace.client.site.Site;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
@@ -78,14 +78,14 @@
});
dialogInfoLabel = new Label();
super.add(dialogInfoLabel);
- file = new TextField("File", EntityLogoView.LOGO_FORM_FIELD);
+ file = new TextField("File", EntityHeaderView.LOGO_FORM_FIELD);
EventCallback keyListener = new EventCallback() {
public void execute(EventObject e) {
// setEnableFileField();
}
};
file.addKeyPressListener(keyListener);
- file.setId(EntityLogoView.LOGO_FORM_FIELD);
+ file.setId(EntityHeaderView.LOGO_FORM_FIELD);
file.setInputType("file");
userhashField = new Hidden(FileParams.HASH, FileParams.HASH);
tokenField = new Hidden(FileParams.TOKEN, FileParams.TOKEN);
@@ -133,7 +133,7 @@
public void setNormalGroupsLabels() {
dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as the logo for this group. "
+ "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
- EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT, EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT)
+ EntityHeaderView.LOGO_ICON_DEFAULT_HEIGHT, EntityHeaderView.LOGO_ICON_DEFAULT_HEIGHT)
+ "<br/><br/>");
super.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
doLayoutIfNeeded();
@@ -142,7 +142,7 @@
public void setPersonalGroupsLabels() {
dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as your avatar. "
+ "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
- EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT, EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT)
+ EntityHeaderView.LOGO_ICON_DEFAULT_HEIGHT, EntityHeaderView.LOGO_ICON_DEFAULT_HEIGHT)
+ "<br/><br/>");
super.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_PERSON_TITLE);
doLayoutIfNeeded();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -21,7 +21,7 @@
import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeader;
import org.ourproject.kune.workspace.client.options.EntityOptions;
import org.ourproject.kune.workspace.client.site.Site;
@@ -31,10 +31,10 @@
private EntityOptionsLogoView view;
private final Session session;
- private final EntityLogo entityLogo;
+ private final EntityHeader entityLogo;
private final EntityOptions entityOptions;
- public EntityOptionsLogoPresenter(Session session, EntityLogo entityLogo, EntityOptions entityOptions,
+ public EntityOptionsLogoPresenter(Session session, EntityHeader entityLogo, EntityOptions entityOptions,
StateManager stateManager) {
this.session = session;
this.entityLogo = entityLogo;
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -4,7 +4,7 @@
import java.io.IOException;
import org.junit.Test;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoView;
+import org.ourproject.kune.workspace.client.entitylogo.EntityHeaderView;
import org.ourproject.kune.workspace.client.options.EntityOptionsPanel;
import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPanel;
@@ -24,7 +24,7 @@
// PlatfMessages.ENT_OPTIONS_GROUP_TITLE);
click(EntityOptionsLogoPanel.SET_LOGO_ID);
File dir = new File(".");
- type(EntityLogoView.LOGO_FORM_FIELD, dir.getCanonicalPath() + File.separator + "img" + File.separator
+ type(EntityHeaderView.LOGO_FORM_FIELD, dir.getCanonicalPath() + File.separator + "img" + File.separator
+ filename);
click(EntityOptionsLogoPanel.SET_LOGO_ID);
}
Modified: trunk/src/test/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenterTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenterTest.java 2008-12-02 17:08:38 UTC (rev 977)
+++ trunk/src/test/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenterTest.java 2008-12-02 17:42:31 UTC (rev 978)
@@ -14,16 +14,16 @@
private StateManager stateManager;
private Session session;
- private EntityLogoPresenter entityLogoPresenter;
- private EntityLogoView view;
+ private EntityHeaderPresenter entityLogoPresenter;
+ private EntityHeaderView view;
@Before
public void before() {
stateManager = Mockito.mock(StateManager.class);
session = Mockito.mock(Session.class);
WsThemePresenter theme = Mockito.mock(WsThemePresenter.class);
- entityLogoPresenter = new EntityLogoPresenter(stateManager, theme, session);
- view = Mockito.mock(EntityLogoView.class);
+ entityLogoPresenter = new EntityHeaderPresenter(stateManager, theme, session);
+ view = Mockito.mock(EntityHeaderView.class);
entityLogoPresenter.init(view);
}
1
0
Author: vjrj
Date: 2008-12-02 18:08:38 +0100 (Tue, 02 Dec 2008)
New Revision: 977
Added:
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityTextLogo.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogo.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/
trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConf.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfView.java
Removed:
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java
Modified:
trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css
trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java
trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInForm.java
trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java
trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java
trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java
Log:
Incomplete - task Abstract and Group options dialog
Complete - task NewGroup -> Close --> don't restore state
Incomplete - task focus on SignIn nickname
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-02 17:08:38 UTC (rev 977)
@@ -20,7 +20,7 @@
* licensing(a)extjs.com
*
* http://extjs.com/license
- */.x-panel{border-style:solid;border-color:#d0d0d0;}.x-panel-header{color:#333;border:1px solid #d0d0d0;background-image:url(../js/ext/resources/images/gray/panel/white-top-bottom.gif);}.x-panel-body{border-color:#d0d0d0;}.x-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-body-noheader,.x-panel-mc .x-panel-body{border-color:#d0d0d0;}.x-panel-tl .x-panel-header{color:#333;}.x-panel-tc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-tl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);border-color:#d0d0d0;}.x-panel-tr{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-bc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-bl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-br{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-mc{background:#f1f1f1;}.x-panel-mc .x-panel-body{background:transparent;border:0 none;}.x-panel-ml{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}.x-panel-mr{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}/* Tools */.x-tool{background-image:url(../js/ext/resources/images/gray/panel/tool-sprites.gif);}/* Ghosting */.x-panel-ghost{background:#e0e0e0;}.x-panel-ghost ul{border-color:#b0b0b0;}.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #d0d0d0;}/* Buttons */.x-btn-left{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-right{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-center{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}/* Layout classes */.x-border-layout-ct{background:#f0f0f0;}.x-accordion-hd{background-image:url(../js/ext/resources/images/gray/panel/light-hd.gif);}.x-layout-collapsed{background-color:#eee;border-color:#e0e0e0;}.x-layout-collapsed-over{background-color:#fbfbfb;}/* qtips */.x-tip .x-tip-top{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}/* Toolbars */.x-toolbar{border-color:#d0d0d0;background:#f0f4f5 url(../js/ext/resources/images/gray/toolbar/bg.gif) repeat-x top left;}.x-toolbar button{color:#444;}.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-over .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over button{color:#111;}.x-toolbar .x-btn-click .x-btn-left,.x-toolbar .x-btn-pressed .x-btn-left,.x-toolbar .x-btn-menu-active .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-right,.x-toolbar .x-btn-pressed .x-btn-right,.x-toolbar .x-btn-menu-active .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-center,.x-toolbar .x-btn-pressed .x-btn-center,.x-toolbar .x-btn-menu-active .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);}/* Tabs */.x-tab-panel-header,.x-tab-panel-footer{background:#EAEAEA;border-color:#d0d0d0;}.x-tab-panel-header{border-color:#d0d0d0;}.x-tab-panel-footer{border-color:#d0d0d0;}ul.x-tab-strip-top{background:#dbdbdb url(../js/ext/resources/images/gray/tabs/tab-strip-bg.gif) repeat-x left top;border-color:#d0d0d0;padding-top:2px;}ul.x-tab-strip-bottom{background-image:url(../js/ext/resources/images/gray/tabs/tab-strip-btm-bg.gif);border-color:#d0d0d0;}.x-tab-strip span.x-tab-strip-text{color:#333;}.x-tab-strip-over span.x-tab-strip-text{color:#111;}.x-tab-strip-active span.x-tab-strip-text{color:#333;}.x-tab-strip-disabled .x-tabs-text{color:#AAA;}.x-tab-strip-top .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-strip-inner{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-bottom .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif);}.x-tab-strip-bottom .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-right-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-left-bg.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-panel-body{border-color:#d0d0d0;background:#fff;}.x-tab-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-header-plain .x-tab-strip-spacer{border-color:#d0d0d0;background:#eaeaea;}.x-tab-scroller-left{background-image:url(../js/ext/resources/images/gray/tabs/scroll-left.gif);border-color:#aeaeae;}.x-tab-scroller-right{background-image:url(../js/ext/resources/images/gray/tabs/scroll-right.gif);border-color:#aeaeae;}/* Window */.x-window-proxy{background:#e0e0e0;border-color:#b0b0b0;}.x-window-tl .x-window-header{color:#555;}.x-window-tc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-tl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-tr{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-bc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-bl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-br{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-mc{border:1px solid #d0d0d0;background:#e8e8e8;}.x-window-ml{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-window-mr{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-panel-ghost .x-window-tl{border-color:#d0d0d0;}.x-panel-collapsed .x-window-tl{border-color:#d0d0d0;}.x-window-plain .x-window-mc{background:#e8e8e8;border-right:1px solid #eee;border-bottom:1px solid #eee;border-top:1px solid #d0d0d0;border-left:1px solid #d0d0d0;}.x-window-plain .x-window-body{border-left:1px solid #eee;border-top:1px solid #eee;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;background:transparent!important;}body.x-body-masked .x-window-mc,body.x-body-masked .x-window-plain .x-window-mc{background-color:#e4e4e4;}/* misc */.x-html-editor-wrap{border-color:#d0d0d0;}/* Borders go last for specificity */.x-panel-noborder .x-panel-body-noborder{border-width:0;}.x-panel-noborder .x-panel-header-noborder{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-window-noborder .x-window-mc{border-width:0;}.x-window-plain .x-window-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-header-noborder{border-top-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-noborder .x-tab-panel-footer-noborder{border-bottom-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-tab-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.kunebody{background-color:#FFF;color:#000;font-family:arial, sans;margin:5px;}/* Global styles */.gwt-HorizontalSplitPanel .hsplitter{cursor:e-resize;width:6px;}.gwt-DialogBox{border:8px solid #C3D9FF;border:2px outset;background-color:#FFF;}.gwt-DialogBox .Caption{background-color:#C3D9FF;font-size:85%;font-weight:700;padding:3px;margin:2px;cursor:default;}.gwt-MenuBar{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;}.gwt-MenuBar .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.gwt-MenuBar .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.gwt-MenuBar .gwt-MenuItem{background-color:#F2F2F2;}.gwt-MenuBar .gwt-MenuItem-selected{background-color:#FFB958;}.kune-MenuBar .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;cursor:hand;white-space:nowrap;padding:0 10px;}.kune-MenuBar .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#963;}.kune-expandHoriz{width:100%;}.kune-expandVert{height:100%;}.kune-floatleft{float:left;}.kune-floatright{float:right;}/* Deprecated */.kune-Default-Form{margin:10px;}.kune-valignmiddle{vertical-align:middle;}fieldset{border:1px solid #B5B8C8;/* margin-bottom:10px; */padding:10px 10px 5px;}legend{color:#15428B;font-size:85%;font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:700;line-height:normal;}.gwt-RadioButton input{margin:0 3px;vertical-align:middle;}.gwt-RadioButton label{margin:0 3px;vertical-align:middle;}.kune-pointer{cursor:pointer;}.kuneLabelPre{white-space:pre!important;}/* Buttons */.kune-CustomPushButton-space{margin-top:3px;margin-bottom:3px;}.kune-CustomPushButton{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:0 12px;}.kune-CustomPushButton-up{color:#161616;}.kune-CustomPushButton-down{color:#000;}.kune-CustomPushButton-up-hovering{color:#161616;background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;}.kune-CustomPushButton-down-hovering{color:#000;}.kune-CustomPushButton-up-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-CustomPushButton-down-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-Button-Large-lrSpace{margin-left:12px;margin-right:12px;}.kune-Button-Large-rSpace{margin-right:12px;}.kune-Button-Large-lSpace{margin-left:12px;}.kune-Button-Large-tbSpace{margin-top:12px;margin-bottom:12px;}.kune-Button-Small-lrSpace{margin-left:10px;margin-right:10px;}.kune-Button-Small-rSpace{margin-right:10px;}.kune-Button-Small-lSpace{margin-left:10px;}.kune-Button-Small-tbSpace{margin-top:10px;margin-bottom:10px;}.kune-Button-Mini-lSpace{margin-left:8px;}.kune-Button-Mini-lrSpace{margin-left:8px;margin-right:8px;}.kune-Button-Mini-rSpace{margin-right:8px;}.kune-Button-Mini-tbSpace{margin-top:8px;margin-bottom:8px;}.kune-IconHyperlink{}.kune-IconHyperlink a:link{/* text-decoration: underline; */color:green;}.kune-IconHyperlink a:hover{text-decoration:underline;}.kune-IconHyperlink a:visited{color:olive;}.kune-IconHyperlink img{margin-right:4px;vertical-align:middle;}.kune-IconLabel{}.kune-IconLabel img{margin-right:4px;vertical-align:middle;}.kune-link{text-decoration:underline;color:green;cursor:pointer;}/* DropDowns */.kune-DropDownOuter{background-color:green;}.kune-DropDownInner{margin:0 3px 1px;background:green;background-color:#FFF;padding:3px;}.kune-DropDownLabel{color:#FFF;cursor:pointer;}.kune-DropDownLabel .gwt-Label{margin:0 5px 0 0;width:100%;}.kune-DropDownLabel img{margin:0 3px 0 1px;}.kune-IconLabel{color:green;}.kune-IconLabel img{margin-right:4px;vertical-align:middle;}/* Used in multi chat panel status change */.x-menu-item img{margin-right:4px;vertical-align:middle;}/* Margins */.kune-Margin-40-trbl{margin:40px;}.kune-Margin-40-lr{margin-left:40px;margin-right:40px;}.kune-Margin-40-tl{margin-top:40px;margin-left:40px;}.kune-Margin-40-tb{margin-top:40px;margin-bottom:40px;}.kune-Margin-40-t{margin-top:40px;}.kune-Margin-40-r{margin-right:40px;}.kune-Margin-40-l{margin-left:40px;}.kune-Margin-20-trbl{margin:20px;}.kune-Margin-20-lr{margin-left:20px;margin-right:20px;}.kune-Margin-20-tl{margin-top:20px;margin-left:20px;}.kune-Margin-20-tb{margin-top:20px;margin-bottom:20px;}.kune-Margin-20-t{margin-top:20px;}.kune-Margin-20-r{margin-right:20px;}.kune-Margin-20-l{margin-left:20px;}.kune-Margin-Large-trbl{margin:10px;}.kune-Margin-Large-lr{margin-left:10px;margin-right:10px;}.kune-Margin-Large-tl{margin-top:10px;margin-left:10px;}.kune-Margin-Large-tb{margin-top:10px;margin-bottom:10px;}.kune-Margin-Large-t{margin-top:10px;}.kune-Margin-Large-r{margin-right:10px;}.kune-Margin-Large-l{margin-left:10px;}.kune-Margin-7-trbl{margin:7px;}.kune-Margin-7-lr{margin-left:7px;margin-right:7px;}.kune-Margin-7-tl{margin-top:7px;margin-left:7px;}.kune-Margin-7-tb{margin-top:7px;margin-bottom:7px;}.kune-Margin-7-t{margin-top:7px;}.kune-Margin-7-r{margin-right:7px;}.kune-Margin-7-b{margin-bottom:7px;}.kune-Margin-7-l{margin-left:7px;}.kune-Margin-Medium-trbl{margin:5px;}.kune-Margin-Medium-lr{margin-left:5px;margin-right:5px;}.kune-Margin-Medium-tl{margin-top:5px;margin-left:5px;}.kune-Margin-Medium-tb{margin-top:5px;margin-bottom:5px;}.kune-Margin-Medium-t{margin-top:5px;}.kune-Margin-Medium-r{margin-right:5px;}.kune-Margin-Medium-b{margin-bottom:5px;}.kune-Margin-Medium-l{margin-left:5px;}.kune-Margin-Small-trbl{margin:3px;}.kune-Margin-Small-lr{margin-left:3px;margin-right:3px;}.kune-Margin-Small-tl{margin-top:3px;margin-left:3px;}.kune-Margin-Small-tb{margin-top:3px;margin-bottom:3px;}.kune-Margin-Small-t{margin-top:3px;}.kune-Margin-Small-l{margin-left:3px;}.kune-Margin-Small-r{margin-right:3px;}.kune-Margin-Small-b{margin-bottom:3px;}.kune-Margin-Mini-trbl{margin:1px;}.kune-Margin-Mini-lr{margin-left:1px;margin-right:1px;}.kune-Margin-Mini-tl{margin-top:1px;margin-left:1px;}.kune-Margin-Mini-tb{margin-top:1px;margin-bottom:1px;}.kune-Margin-Mini-t{margin-top:1px;}.kune-Margin-Mini-r{margin-right:1px;}.kune-Margin-Mini-b{margin-bottom:1px;}.kune-Margin-Mini-l{margin-left:1px;}/* Fonts
+ */.x-panel{border-style:solid;border-color:#d0d0d0;}.x-panel-header{color:#333;border:1px solid #d0d0d0;background-image:url(../js/ext/resources/images/gray/panel/white-top-bottom.gif);}.x-panel-body{border-color:#d0d0d0;}.x-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-tbar-noheader .x-toolbar,.x-panel-mc .x-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-panel-body-noheader,.x-panel-mc .x-panel-body{border-color:#d0d0d0;}.x-panel-tl .x-panel-header{color:#333;}.x-panel-tc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-tl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);border-color:#d0d0d0;}.x-panel-tr{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-bc{background-image:url(../js/ext/resources/images/gray/panel/top-bottom.gif);}.x-panel-bl{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-br{background-image:url(../js/ext/resources/images/gray/panel/corners-sprite.gif);}.x-panel-mc{background:#f1f1f1;}.x-panel-mc .x-panel-body{background:transparent;border:0 none;}.x-panel-ml{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}.x-panel-mr{background-image:url(../js/ext/resources/images/gray/panel/left-right.gif);}/* Tools */.x-tool{background-image:url(../js/ext/resources/images/gray/panel/tool-sprites.gif);}/* Ghosting */.x-panel-ghost{background:#e0e0e0;}.x-panel-ghost ul{border-color:#b0b0b0;}.x-grid-panel .x-panel-mc .x-panel-body{border:1px solid #d0d0d0;}/* Buttons */.x-btn-left{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-right{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}.x-btn-center{background-image:url(../js/ext/resources/images/gray/button/btn-sprite.gif);}/* Layout classes */.x-border-layout-ct{background:#f0f0f0;}.x-accordion-hd{background-image:url(../js/ext/resources/images/gray/panel/light-hd.gif);}.x-layout-collapsed{background-color:#eee;border-color:#e0e0e0;}.x-layout-collapsed-over{background-color:#fbfbfb;}/* qtips */.x-tip .x-tip-top{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-top-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-ft-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-left{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}.x-tip .x-tip-bd-right{background-image:url(../js/ext/resources/images/gray/qtip/tip-sprite.gif);}/* Toolbars */.x-toolbar{border-color:#d0d0d0;background:#f0f4f5 url(../js/ext/resources/images/gray/toolbar/bg.gif) repeat-x top left;}.x-toolbar button{color:#444;}.x-toolbar .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-text-icon .x-btn-menu-arrow-wrap .x-btn-center button{background-image:url(../js/ext/resources/images/gray/toolbar/btn-arrow.gif);}.x-toolbar .x-btn-over .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-over button{color:#111;}.x-toolbar .x-btn-click .x-btn-left,.x-toolbar .x-btn-pressed .x-btn-left,.x-toolbar .x-btn-menu-active .x-btn-left{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-right,.x-toolbar .x-btn-pressed .x-btn-right,.x-toolbar .x-btn-menu-active .x-btn-right{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .x-btn-click .x-btn-center,.x-toolbar .x-btn-pressed .x-btn-center,.x-toolbar .x-btn-menu-active .x-btn-center{background-image:url(../js/ext/resources/images/gray/toolbar/tb-btn-sprite.gif);}.x-toolbar .ytb-sep{background-image:url(../js/ext/resources/images/default/grid/grid-split.gif);}/* Tabs */.x-tab-panel-header,.x-tab-panel-footer{background:#EAEAEA;border-color:#d0d0d0;}.x-tab-panel-header{border-color:#d0d0d0;}.x-tab-panel-footer{border-color:#d0d0d0;}ul.x-tab-strip-top{background:#dbdbdb url(../js/ext/resources/images/gray/tabs/tab-strip-bg.gif) repeat-x left top;border-color:#d0d0d0;padding-top:2px;}ul.x-tab-strip-bottom{background-image:url(../js/ext/resources/images/gray/tabs/tab-strip-btm-bg.gif);border-color:#d0d0d0;}.x-tab-strip span.x-tab-strip-text{color:#333;}.x-tab-strip-over span.x-tab-strip-text{color:#111;}.x-tab-strip-active span.x-tab-strip-text{color:#333;}.x-tab-strip-disabled .x-tabs-text{color:#AAA;}.x-tab-strip-top .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-top .x-tab-strip-inner{background-image:url(../js/ext/resources/images/gray/tabs/tabs-sprite.gif);}.x-tab-strip-bottom .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-right-bg.gif);}.x-tab-strip-bottom .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-inactive-left-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-right{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-right-bg.gif);}.x-tab-strip-bottom .x-tab-strip-active .x-tab-left{background-image:url(../js/ext/resources/images/gray/tabs/tab-btm-left-bg.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-strip .x-tab-strip-closable a.x-tab-strip-close:hover{background-image:url(../js/ext/resources/images/gray/tabs/tab-close.gif);}.x-tab-panel-body{border-color:#d0d0d0;background:#fff;}.x-tab-panel-bbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-tbar .x-toolbar{border-color:#d0d0d0;}.x-tab-panel-header-plain .x-tab-strip-spacer{border-color:#d0d0d0;background:#eaeaea;}.x-tab-scroller-left{background-image:url(../js/ext/resources/images/gray/tabs/scroll-left.gif);border-color:#aeaeae;}.x-tab-scroller-right{background-image:url(../js/ext/resources/images/gray/tabs/scroll-right.gif);border-color:#aeaeae;}/* Window */.x-window-proxy{background:#e0e0e0;border-color:#b0b0b0;}.x-window-tl .x-window-header{color:#555;}.x-window-tc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-tl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-tr{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-bc{background-image:url(../js/ext/resources/images/gray/window/top-bottom.png);}.x-window-bl{background-image:url(../js/ext/resources/images/gray/window/left-corners.png);}.x-window-br{background-image:url(../js/ext/resources/images/gray/window/right-corners.png);}.x-window-mc{border:1px solid #d0d0d0;background:#e8e8e8;}.x-window-ml{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-window-mr{background-image:url(../js/ext/resources/images/gray/window/left-right.png);}.x-panel-ghost .x-window-tl{border-color:#d0d0d0;}.x-panel-collapsed .x-window-tl{border-color:#d0d0d0;}.x-window-plain .x-window-mc{background:#e8e8e8;border-right:1px solid #eee;border-bottom:1px solid #eee;border-top:1px solid #d0d0d0;border-left:1px solid #d0d0d0;}.x-window-plain .x-window-body{border-left:1px solid #eee;border-top:1px solid #eee;border-bottom:1px solid #d0d0d0;border-right:1px solid #d0d0d0;background:transparent!important;}body.x-body-masked .x-window-mc,body.x-body-masked .x-window-plain .x-window-mc{background-color:#e4e4e4;}/* misc */.x-html-editor-wrap{border-color:#d0d0d0;}/* Borders go last for specificity */.x-panel-noborder .x-panel-body-noborder{border-width:0;}.x-panel-noborder .x-panel-header-noborder{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.x-panel-noborder .x-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-window-noborder .x-window-mc{border-width:0;}.x-window-plain .x-window-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-body-noborder{border-width:0;}.x-tab-panel-noborder .x-tab-panel-header-noborder{border-top-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-noborder .x-tab-panel-footer-noborder{border-bottom-width:0;border-left-width:0;border-right-width:0;}.x-tab-panel-bbar-noborder .x-toolbar{border-width:0;border-top:1px solid #d0d0d0;}.x-tab-panel-tbar-noborder .x-toolbar{border-width:0;border-bottom:1px solid #d0d0d0;}.kunebody{background-color:#FFF;color:#000;font-family:arial, sans;margin:5px;}/* Global styles */.gwt-HorizontalSplitPanel .hsplitter{cursor:e-resize;width:6px;}.gwt-DialogBox{border:8px solid #C3D9FF;border:2px outset;background-color:#FFF;}.gwt-DialogBox .Caption{background-color:#C3D9FF;font-size:85%;font-weight:700;padding:3px;margin:2px;cursor:default;}.gwt-MenuBar{background-color:#F2F2F2;border:1px solid #999;vertical-align:middle;padding:5px 0;}.gwt-MenuBar .gwt-MenuItem{cursor:pointer;padding:1px 10px;white-space:nowrap;}.gwt-MenuBar .gwt-MenuItem img{vertical-align:middle;margin-right:3px;}.gwt-MenuBar .gwt-MenuItem{background-color:#F2F2F2;}.gwt-MenuBar .gwt-MenuItem-selected{background-color:#FFB958;}.kune-MenuBar .gwt-MenuItem{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;cursor:hand;white-space:nowrap;padding:0 10px;}.kune-MenuBar .gwt-MenuItem-selected{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#963;}.kune-expandHoriz{width:100%;}.kune-expandVert{height:100%;}.kune-floatleft{float:left;}.kune-floatright{float:right;}/* Deprecated */.kune-Default-Form{margin:10px;}.kune-valignmiddle{vertical-align:middle;}fieldset{border:1px solid #B5B8C8;/* margin-bottom:10px; */padding:10px 10px 5px;}legend{color:#15428B;font-size:85%;font-size-adjust:none;font-style:normal;font-variant:normal;font-weight:700;line-height:normal;}.gwt-RadioButton input{margin:0 3px;vertical-align:middle;}.gwt-RadioButton label{margin:0 3px;vertical-align:middle;}.kune-pointer{cursor:pointer;}.kuneLabelPre{white-space:pre!important;}/* Buttons */.kune-CustomPushButton-space{margin-top:3px;margin-bottom:3px;}.kune-CustomPushButton{background:transparent url(img/button-bg-hard.gif) repeat-x 0 0;border-left:1px solid #AAA;border-right:1px solid #AAA;color:#999;cursor:pointer;white-space:nowrap;padding:0 12px;}.kune-CustomPushButton-up{color:#161616;}.kune-CustomPushButton-down{color:#000;}.kune-CustomPushButton-up-hovering{color:#161616;background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;}.kune-CustomPushButton-down-hovering{color:#000;}.kune-CustomPushButton-up-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-CustomPushButton-down-disabled{background:transparent url(img/button-bg-soft.gif) repeat-x 0 0;color:#E0E0E0;cursor:default;}.kune-Button-Large-lrSpace{margin-left:12px;margin-right:12px;}.kune-Button-Large-rSpace{margin-right:12px;}.kune-Button-Large-lSpace{margin-left:12px;}.kune-Button-Large-tbSpace{margin-top:12px;margin-bottom:12px;}.kune-Button-Small-lrSpace{margin-left:10px;margin-right:10px;}.kune-Button-Small-rSpace{margin-right:10px;}.kune-Button-Small-lSpace{margin-left:10px;}.kune-Button-Small-tbSpace{margin-top:10px;margin-bottom:10px;}.kune-Button-Mini-lSpace{margin-left:8px;}.kune-Button-Mini-lrSpace{margin-left:8px;margin-right:8px;}.kune-Button-Mini-rSpace{margin-right:8px;}.kune-Button-Mini-tbSpace{margin-top:8px;margin-bottom:8px;}.kune-IconHyperlink{}.kune-IconHyperlink a:link{/* text-decoration: underline; */color:green;}.kune-IconHyperlink a:hover{text-decoration:underline;}.kune-IconHyperlink a:visited{color:olive;}.kune-IconHyperlink img{margin-right:4px;vertical-align:middle;}.kune-IconLabel-l{}.kune-IconLabel-l img{margin-right:4px;vertical-align:middle;}.kune-IconLabel-r{}.kune-IconLabel-r img{margin-left:4px;vertical-align:middle;}.kune-link{text-decoration:underline;color:green;cursor:pointer;}/* DropDowns */.kune-DropDownOuter{background-color:green;}.kune-DropDownInner{margin:0 3px 1px;background:green;background-color:#FFF;padding:3px;}.kune-DropDownLabel{color:#FFF;cursor:pointer;}.kune-DropDownLabel .gwt-Label{margin:0 5px 0 0;width:100%;}.kune-DropDownLabel img{margin:0 3px 0 1px;}/* Used in multi chat panel status change */.x-menu-item img{margin-right:4px;vertical-align:middle;}/* Margins */.kune-Margin-40-trbl{margin:40px;}.kune-Margin-40-lr{margin-left:40px;margin-right:40px;}.kune-Margin-40-tl{margin-top:40px;margin-left:40px;}.kune-Margin-40-tb{margin-top:40px;margin-bottom:40px;}.kune-Margin-40-t{margin-top:40px;}.kune-Margin-40-r{margin-right:40px;}.kune-Margin-40-l{margin-left:40px;}.kune-Margin-20-trbl{margin:20px;}.kune-Margin-20-lr{margin-left:20px;margin-right:20px;}.kune-Margin-20-tl{margin-top:20px;margin-left:20px;}.kune-Margin-20-tb{margin-top:20px;margin-bottom:20px;}.kune-Margin-20-t{margin-top:20px;}.kune-Margin-20-r{margin-right:20px;}.kune-Margin-20-l{margin-left:20px;}.kune-Margin-Large-trbl{margin:10px;}.kune-Margin-Large-lr{margin-left:10px;margin-right:10px;}.kune-Margin-Large-tl{margin-top:10px;margin-left:10px;}.kune-Margin-Large-tb{margin-top:10px;margin-bottom:10px;}.kune-Margin-Large-t{margin-top:10px;}.kune-Margin-Large-r{margin-right:10px;}.kune-Margin-Large-l{margin-left:10px;}.kune-Margin-7-trbl{margin:7px;}.kune-Margin-7-lr{margin-left:7px;margin-right:7px;}.kune-Margin-7-tl{margin-top:7px;margin-left:7px;}.kune-Margin-7-tb{margin-top:7px;margin-bottom:7px;}.kune-Margin-7-t{margin-top:7px;}.kune-Margin-7-r{margin-right:7px;}.kune-Margin-7-b{margin-bottom:7px;}.kune-Margin-7-l{margin-left:7px;}.kune-Margin-Medium-trbl{margin:5px;}.kune-Margin-Medium-lr{margin-left:5px;margin-right:5px;}.kune-Margin-Medium-tl{margin-top:5px;margin-left:5px;}.kune-Margin-Medium-tb{margin-top:5px;margin-bottom:5px;}.kune-Margin-Medium-t{margin-top:5px;}.kune-Margin-Medium-r{margin-right:5px;}.kune-Margin-Medium-b{margin-bottom:5px;}.kune-Margin-Medium-l{margin-left:5px;}.kune-Margin-Small-trbl{margin:3px;}.kune-Margin-Small-lr{margin-left:3px;margin-right:3px;}.kune-Margin-Small-tl{margin-top:3px;margin-left:3px;}.kune-Margin-Small-tb{margin-top:3px;margin-bottom:3px;}.kune-Margin-Small-t{margin-top:3px;}.kune-Margin-Small-l{margin-left:3px;}.kune-Margin-Small-r{margin-right:3px;}.kune-Margin-Small-b{margin-bottom:3px;}.kune-Margin-Mini-trbl{margin:1px;}.kune-Margin-Mini-lr{margin-left:1px;margin-right:1px;}.kune-Margin-Mini-tl{margin-top:1px;margin-left:1px;}.kune-Margin-Mini-tb{margin-top:1px;margin-bottom:1px;}.kune-Margin-Mini-t{margin-top:1px;}.kune-Margin-Mini-r{margin-right:1px;}.kune-Margin-Mini-b{margin-bottom:1px;}.kune-Margin-Mini-l{margin-left:1px;}/* Fonts
see: http://developer.yahoo.com/yui/fonts/ */.kune-ft10px{font-size:77%;}.kune-ft11px{font-size:85%;}.kune-ft12px{font-size:93%;}.kune-ft13px{font-size:100%;}.kune-ft14px{font-size:108%;}.kune-ft15px{font-size:116%;}.kune-ft16px{font-size:123.099998%;}.kune-ft17px{font-size:131%;}.kune-ft18px{font-size:138.5%;}.kune-ft19px{font-size:146.5%;}.kune-ft20px{font-size:153.899994%;}.kune-ft21px{font-size:161.600006%;}.kune-ft22px{font-size:167%;}.kune-ft23px{font-size:174%;}.kune-ft24px{font-size:182%;}.kune-ft25px{font-size:189%;}.kune-ft26px{font-size:197%;}/* Sitebar */.kune-SiteBarPanel .kune-IconHyperlink{white-space:nowrap;}.kune-SiteBarPanel .kune-IconHyperlink a:link{cursor:pointer;text-decoration:underline;color:#B3B3B3;}.kune-SiteBarPanel .kune-IconHyperlink a:hover{text-decoration:underline;}.kune-SiteBarPanel .kune-IconHyperlink a:visited{color:#B3B3B3;}.kune-SiteBarPanel{margin-right:10px;height:16px;}.kune-SiteBarPanel .gwt-TextBox{border:1px solid #E4A374;margin:0 15px 0 3px;padding-left:3px;color:#B3B3B3;}.kune-SiteBarPanel .gwt-Hyperlink a{white-space:nowrap;color:#B3B3B3;text-decoration:underline;cursor:pointer;}.kune-SiteBarPanel .gwt-PushButton{cursor:pointer;}.kune-SiteBarPanel-Separator{color:#E4A374;margin:0 5px;}.kune-SiteBarPanel-SpaceSeparator{width:10px;}.kune-SiteMessagePanel{color:#250;position:absolute;z-index:10000;vertical-align:middle;}.kune-SiteMessagePanel .gwt-HTML{margin:15px 5px 15px 2px;}.kune-SiteMessagePanel .gwt-Image{margin:5px;}.kune-SiteMessagePanel-error{background-color:#FFB380;border:1px solid #F06;}.kune-SiteMessagePanel-veryimp{background-color:#FFD4AA;border:1px solid #F59;}.kune-SiteMessagePanel-imp{background-color:#FFE6D5;border:1px solid #DE87AA;}.kune-SiteMessagePanel-info{background-color:#E5FF80;border:1px solid #87DE87;}/* Workspace styles */.kune-WorkspacePanel{width:100%;background-color:#FFF;}.kune-WokspacePanel .Tab{}.kune-WorkspacePanel .GeneralHP{}.kune-WorkspacePanel .ContextPanel{width:100%;border-right:3px solid #DD8A3D;}.kune-GroupSummaryPanel{margin:5px 0 0 5px;width:100%;}.kune-GroupToolsBar{width:150px;}.kune-GroupToolsBar-itemSelected{margin-bottom:5px;}.kune-GroupToolsBar-itemSelected .gwt-Hyperlink a{color:#FFF;padding:0 9px;text-decoration:none;}.kune-GroupToolsBar-itemSelected .gwt-Hyperlink a:hover{text-decoration:none;}.kune-GroupToolsBar-itemNotSelected{margin-bottom:5px;}.kune-GroupToolsBar-itemNotSelected .gwt-Hyperlink a{color:green;padding:0 9px;text-decoration:none;}.kune-GroupToolsBar-itemNotSelected .gwt-Hyperlink a:hover{text-decoration:none;}/* Content titles */.kune-ContentToolBarPanel{background-color:#F2F2F2;padding:2px;height:24px;vertical-align:middle;}.kune-ContentBottomBar{vertical-align:middle;height:24px;}.kune-ContentBottomBar .gwt-Image{margin-left:5px;cursor:pointer;float:left;}.kune-ContentBottomBar .gwt-Label a{}/* Main Content & Context */.kune-WorkspacePanel-Content{background-color:#FCFCFC;width:100%;height:100%;}.kune-WorkspacePanel-Content .main-content{margin:7px 5px 5px 10px;}.kune-WorkspacePanel-Context{background-color:#CFA;width:100%;height:100%;}.kune-NavigationBar{width:100%;}.kune-NavigationBar .topBar{background-color:#ececec;background:#ececec;border-bottom:1px solid #e3dbdb;vertical-align:middle;}.kune-NavigationBar .topBar .gwt-PushButton{margin:1px 3px 1px 0;}.kune-NavigationBar .topBar .gwt-Label{vertical-align:middle;}.kune-NavigationBar .kune-topBar-iconBar{margin:2px 0 2px 5px;}.kune-NavigationBar .kune-ContextItemsPanel-LabelLink{/* text-decoration: underline; */color:green;cursor:pointer;margin-left:3px;}/*
.topBar .gwt-PushButton-up-disabled {
filter: alpha(opacity = 20);
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-02 17:08:38 UTC (rev 977)
@@ -799,7 +799,6 @@
cursor: pointer;
}
-
.k-tsp-tag {
float: right;
margin-right: 5px;
@@ -807,7 +806,6 @@
color: #0000FF;
}
-
.k-tsp-cloud {
vertical-align: bottom;
}
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune.css 2008-12-02 17:08:38 UTC (rev 977)
@@ -249,15 +249,23 @@
vertical-align: middle;
}
-.kune-IconLabel {
-
+.kune-IconLabel-l {
}
-.kune-IconLabel img {
+.kune-IconLabel-l img {
margin-right: 4px;
vertical-align: middle;
}
+.kune-IconLabel-r {
+}
+
+.kune-IconLabel-r img {
+ margin-left: 4px;
+ vertical-align: middle;
+}
+
+
.kune-link {
text-decoration: underline;
color: green;
@@ -291,15 +299,6 @@
margin: 0 3px 0 1px;
}
-.kune-IconLabel {
- color: green;
-}
-
-.kune-IconLabel img {
- margin-right: 4px;
- vertical-align: middle;
-}
-
/* Used in multi chat panel status change */
.x-menu-item img {
margin-right: 4px;
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/PlatfMessages.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -10,7 +10,8 @@
String INCORRECT_NICKNAME_EMAIL_OR_PASSWORD = "Incorrect nickname/email or password";
String YOUR_HOMEPAGE = "Your homepage";
String USER_DON_T_HAVE_A_HOMEPAGE = "This user don't have a homepage";
- String ENT_LOGO_SELECTOR_NORMAL_TITLE = "Select a logo for your group";
- String ENT_LOGO_SELECTOR_PERSON_TITLE = "Select your avatar";
-
+ String ENT_LOGO_SELECTOR_NORMAL_TITLE = "Logo";
+ String ENT_LOGO_SELECTOR_PERSON_TITLE = "Avatar";
+ String ENT_OPTIONS_GROUP_TITLE = "Group options";
+ String ENT_OPTIONS_USER_TITLE = "User options";
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneErrorHandler.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -90,13 +90,13 @@
}
} catch (final GroupNotFoundException e) {
logException(e);
- Site.error(i18n.t("Group not found"));
+ Site.veryImportant(i18n.t("Group not found"));
stateManagerProvider.get().gotoToken("");
} catch (final IncompatibleRemoteServiceException e) {
Site.error(i18n.t("Your browser is outdated from the server software. Please reload this page."));
} catch (final ContentNotFoundException e) {
logException(e);
- Site.error(i18n.t("Content not found"));
+ Site.veryImportant(i18n.t("Content not found"));
stateManagerProvider.get().gotoToken("");
} catch (final ContentNotPermittedException e) {
logException(e);
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -78,10 +78,6 @@
import org.ourproject.kune.workspace.client.editor.TextEditor;
import org.ourproject.kune.workspace.client.editor.TextEditorPanel;
import org.ourproject.kune.workspace.client.editor.TextEditorPresenter;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoSelector;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoSelectorPanel;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoSelectorPresenter;
import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPanel;
import org.ourproject.kune.workspace.client.i18n.I18nTranslatorPresenter;
@@ -547,18 +543,6 @@
}
});
- register(Singleton.class, new Factory<EntityLogoSelector>(EntityLogoSelector.class) {
- @Override
- public EntityLogoSelector create() {
- final EntityLogoSelectorPresenter presenter = new EntityLogoSelectorPresenter($(Session.class),
- $(EntityLogo.class));
- final EntityLogoSelectorPanel panel = new EntityLogoSelectorPanel(presenter,
- $(WorkspaceSkeleton.class), $(I18nTranslationService.class));
- presenter.init(panel);
- return presenter;
- }
- });
-
$(ApplicationComponentGroup.class).createAll();
$(ToolGroup.class).createAll();
$(Application.class).start();
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -46,7 +46,6 @@
import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPresenter;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoSelector;
import org.ourproject.kune.workspace.client.i18n.I18nTranslator;
import org.ourproject.kune.workspace.client.i18n.I18nUITranslationService;
import org.ourproject.kune.workspace.client.licensefoot.EntityLicensePanel;
@@ -57,9 +56,12 @@
import org.ourproject.kune.workspace.client.options.EntityOptions;
import org.ourproject.kune.workspace.client.options.EntityOptionsPanel;
import org.ourproject.kune.workspace.client.options.EntityOptionsPresenter;
-import org.ourproject.kune.workspace.client.options.EntityOptionsToolsConf;
-import org.ourproject.kune.workspace.client.options.EntityOptionsToolsConfPanel;
-import org.ourproject.kune.workspace.client.options.EntityOptionsToolsConfPresenter;
+import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogo;
+import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPanel;
+import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPresenter;
+import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConf;
+import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConfPanel;
+import org.ourproject.kune.workspace.client.options.tools.EntityOptionsToolsConfPresenter;
import org.ourproject.kune.workspace.client.search.GroupLiveSearcher;
import org.ourproject.kune.workspace.client.search.SiteSearcher;
import org.ourproject.kune.workspace.client.site.Site;
@@ -179,7 +181,7 @@
@Override
public SiteUserMenu create() {
final SiteUserMenuPresenter presenter = new SiteUserMenuPresenter($(Session.class),
- $(StateManager.class));
+ $(StateManager.class), $$(EntityOptions.class));
final SiteUserMenuPanel panel = new SiteUserMenuPanel(presenter, $(WorkspaceSkeleton.class),
$(I18nUITranslationService.class));
presenter.init(panel);
@@ -258,9 +260,8 @@
public EntityLogo create() {
final EntityLogoPresenter presenter = new EntityLogoPresenter($(StateManager.class),
$(WsThemePresenter.class), $(Session.class));
- final EntityLogoPanel panel = new EntityLogoPanel($(I18nUITranslationService.class),
- $(WorkspaceSkeleton.class), $$(FileDownloadUtils.class), $$(EntityLogoSelector.class),
- $(Images.class));
+ final EntityLogoPanel panel = new EntityLogoPanel($(WorkspaceSkeleton.class),
+ $$(FileDownloadUtils.class), $(Images.class));
presenter.init(panel);
return presenter;
}
@@ -424,7 +425,7 @@
@Override
public EntityOptions create() {
final EntityOptionsPresenter presenter = new EntityOptionsPresenter($(StateManager.class));
- final EntityOptionsPanel panel = new EntityOptionsPanel(presenter, $(WorkspaceSkeleton.class),
+ final EntityOptionsPanel panel = new EntityOptionsPanel(presenter, $(EntityLogo.class),
$(I18nTranslationService.class), $(Images.class), $(EntityOptionsGroup.class));
presenter.init(panel);
return presenter;
@@ -444,5 +445,17 @@
}
});
+ register(EntityOptionsGroup.class, new Factory<EntityOptionsLogo>(EntityOptionsLogo.class) {
+ @Override
+ public EntityOptionsLogo create() {
+ final EntityOptionsLogoPresenter presenter = new EntityOptionsLogoPresenter($(Session.class),
+ $(EntityLogo.class), $(EntityOptions.class), $(StateManager.class));
+ final EntityOptionsLogoPanel panel = new EntityOptionsLogoPanel(presenter, $(WorkspaceSkeleton.class),
+ $(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/IconLabel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -1,4 +1,3 @@
-
/*
* Copyright 2007 Google Inc.
*
@@ -59,24 +58,16 @@
private final Element textLabel;
/**
- * Creates an empty label with a icon.
+ * Creates a label with the specified text and a icon in the left.
*
* @param image
* the icon to add
+ * @param text
+ * the new label's text
*/
- private IconLabel(final AbstractImagePrototype image, final boolean leftIcon) {
- setElement(DOM.createDiv());
- sinkEvents(Event.ONCLICK | Event.MOUSEEVENTS | Event.ONMOUSEWHEEL | Event.ONDBLCLICK);
- setStyleName("kune-IconLabel");
- icon = image.createImage().getElement();
- textLabel = DOM.createSpan();
- if (leftIcon) {
- DOM.appendChild(getElement(), icon);
- DOM.appendChild(getElement(), textLabel);
- } else {
- DOM.appendChild(getElement(), textLabel);
- DOM.appendChild(getElement(), icon);
- }
+ public IconLabel(final AbstractImagePrototype image, final String text) {
+ this(image, true);
+ setText(text);
}
/**
@@ -86,10 +77,12 @@
* the icon to add
* @param text
* the new label's text
+ * @param wordWrap
+ * <code>false</code> to disable word wrapping
*/
- public IconLabel(final AbstractImagePrototype image, final String text) {
- this(image, true);
- setText(text);
+ public IconLabel(final AbstractImagePrototype image, final String text, final boolean wordWrap) {
+ this(image, text);
+ setWordWrap(wordWrap);
}
/**
@@ -121,18 +114,25 @@
}
/**
- * Creates a label with the specified text and a icon in the left.
+ * Creates an empty label with a icon.
*
* @param image
* the icon to add
- * @param text
- * the new label's text
- * @param wordWrap
- * <code>false</code> to disable word wrapping
*/
- public IconLabel(final AbstractImagePrototype image, final String text, final boolean wordWrap) {
- this(image, text);
- setWordWrap(wordWrap);
+ private IconLabel(final AbstractImagePrototype image, final boolean leftIcon) {
+ setElement(DOM.createDiv());
+ sinkEvents(Event.ONCLICK | Event.MOUSEEVENTS | Event.ONMOUSEWHEEL | Event.ONDBLCLICK);
+ icon = image.createImage().getElement();
+ textLabel = DOM.createSpan();
+ if (leftIcon) {
+ setStyleName("kune-IconLabel-l");
+ DOM.appendChild(getElement(), icon);
+ DOM.appendChild(getElement(), textLabel);
+ } else {
+ setStyleName("kune-IconLabel-r");
+ DOM.appendChild(getElement(), textLabel);
+ DOM.appendChild(getElement(), icon);
+ }
}
public void addClickListener(final ClickListener listener) {
@@ -175,6 +175,7 @@
return !DOM.getStyleAttribute(textLabel, "whiteSpace").equals("nowrap");
}
+ @Override
public void onBrowserEvent(final Event event) {
switch (DOM.eventGetType(event)) {
case Event.ONCLICK:
@@ -229,6 +230,10 @@
}
}
+ public void setColor(final String color) {
+ DOM.setStyleAttribute(textLabel, "color", color);
+ }
+
public void setHorizontalAlignment(final HorizontalAlignmentConstant align) {
horzAlign = align;
DOM.setStyleAttribute(textLabel, "textAlign", align.getTextAlignString());
@@ -238,17 +243,14 @@
DOM.setInnerText(textLabel, text);
}
- public void setWordWrap(final boolean wrap) {
- DOM.setStyleAttribute(textLabel, "whiteSpace", wrap ? "normal" : "nowrap");
- }
-
- public void setColor(final String color) {
- DOM.setStyleAttribute(textLabel, "color", color);
- }
-
+ @Override
public void setTitle(final String title) {
KuneUiUtils.setQuickTip(icon, title);
KuneUiUtils.setQuickTip(textLabel, title);
}
+ public void setWordWrap(final boolean wrap) {
+ DOM.setStyleAttribute(textLabel, "whiteSpace", wrap ? "normal" : "nowrap");
+ }
+
}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/WizardDialog.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -24,7 +24,7 @@
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.core.EventObject;
import com.gwtext.client.widgets.Button;
-import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.Component;
import com.gwtext.client.widgets.Toolbar;
import com.gwtext.client.widgets.event.ButtonListenerAdapter;
import com.gwtext.client.widgets.event.WindowListenerAdapter;
@@ -89,7 +89,7 @@
dialog.addListener(new WindowListenerAdapter() {
@Override
- public void onClose(final Panel panel) {
+ public void onHide(Component component) {
listener.onClose();
}
});
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogo.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -18,8 +18,12 @@
*
*/package org.ourproject.kune.workspace.client.entitylogo;
+import org.ourproject.kune.platf.client.View;
+
public interface EntityLogo {
+ void addWidget(View widget);
+
/**
* Refresh the logo from the group info in the client session
*/
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPanel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -21,181 +21,51 @@
import java.util.Date;
+import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.services.Images;
import org.ourproject.kune.platf.client.ui.download.FileDownloadUtils;
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import org.ourproject.kune.workspace.client.themes.WsTheme;
import com.calclab.suco.client.ioc.Provider;
-import com.google.gwt.user.client.ui.AbstractImagePrototype;
-import com.google.gwt.user.client.ui.ClickListener;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;
-public class EntityLogoPanel extends SimplePanel implements EntityLogoView {
- class EntityTextLogo extends VerticalPanel {
+public class EntityLogoPanel extends HorizontalPanel implements EntityLogoView {
- private static final String _100 = "100%";
- private static final String LOGO_MEDIUM_FONT_STYLE = "k-elogo-l-m";
- private static final String LOGO_SMALL_FONT_STYLE = "k-elogo-l-s";
- private static final String LOGO_LARGE_FONT_STYLE = "k-elogo-l-l";
- private final Label logoLabel;
- private final Label putYourLogoHL;
- private final HorizontalPanel putYourLogoHP;
- private final Image logoImage;
-
- public EntityTextLogo(final Provider<EntityLogoSelector> entityLogoSelectorProvider) {
- // Initialize
- super();
- HorizontalPanel generalHP = new HorizontalPanel();
- VerticalPanel logoTextVP = new VerticalPanel();
- logoImage = new Image();
- logoLabel = new Label();
- final Label expandCell = new Label("");
- putYourLogoHP = new HorizontalPanel();
- putYourLogoHL = new Label();
-
- logoImage.ensureDebugId(LOGO_IMAGE);
- logoLabel.ensureDebugId(LOGO_NAME);
- putYourLogoHL.ensureDebugId(PUT_YOUR_LOGO_LINK);
-
- // Layout
- add(generalHP);
- generalHP.add(logoImage);
- generalHP.add(logoTextVP);
- logoTextVP.add(logoLabel);
- logoTextVP.add(putYourLogoHP);
- putYourLogoHP.add(expandCell);
- putYourLogoHP.add(putYourLogoHL);
-
- // Set properties
-
- setPutYourLogo();
- expandCell.setStyleName("k-elogop-expand");
- putYourLogoHL.setStyleName("k-elogo-plink");
- putYourLogoHL.addStyleName("kune-pointer");
- putYourLogoHL.addClickListener(new ClickListener() {
- public void onClick(final Widget sender) {
- entityLogoSelectorProvider.get().show();
- }
- });
- generalHP.setWidth(_100);
- generalHP.setHeight(_100);
- generalHP.setCellWidth(logoTextVP, _100);
- generalHP.setCellHeight(logoTextVP, _100);
- logoTextVP.setWidth(_100);
- logoTextVP.setCellWidth(logoLabel, _100);
- super.setVerticalAlignment(ALIGN_MIDDLE);
- logoTextVP.setVerticalAlignment(ALIGN_MIDDLE);
- generalHP.setVerticalAlignment(ALIGN_MIDDLE);
- logoTextVP.setCellWidth(putYourLogoHP, _100);
- logoTextVP.setHeight(_100);
- expandCell.setWidth(_100);
- putYourLogoHP.setCellWidth(expandCell, _100);
- setStylePrimaryName("k-entitytextlogo");
- addStyleName("k-entitytextlogo-no-border");
- logoImage.setVisible(false);
- setLogoText("");
- }
-
- public void setChangeYourAvatarText() {
- putYourLogoHL.setText(i18n.t("Change Your Avatar"));
- }
-
- public void setChangeYourLogo() {
- putYourLogoHL.setText(i18n.t("Change Your Logo"));
- }
-
- public void setLargeFont() {
- resetFontSize();
- logoLabel.addStyleName(LOGO_LARGE_FONT_STYLE);
- }
-
- public void setLogoImage(AbstractImagePrototype imageProto) {
- imageProto.applyTo(logoImage);
- }
-
- public void setLogoImage(final String url) {
- Image.prefetch(url);
- logoImage.setUrl(url);
- }
-
- public void setLogoText(final String text) {
- logoLabel.setText(text);
- }
-
- public void setLogoVisible(final boolean visible) {
- logoImage.setVisible(visible);
- }
-
- public void setMediumFont() {
- resetFontSize();
- logoLabel.addStyleName(LOGO_MEDIUM_FONT_STYLE);
- }
-
- public void setPutYourAvatarText() {
- putYourLogoHL.setText(i18n.t("Put Your Avatar Here"));
- }
-
- public void setPutYourLogo() {
- putYourLogoHL.setText(i18n.t("Put Your Logo Here"));
- }
-
- public void setPutYourLogoVisible(final boolean visible) {
- putYourLogoHP.setVisible(visible);
- }
-
- public void setSmallFont() {
- resetFontSize();
- logoLabel.addStyleName(LOGO_SMALL_FONT_STYLE);
- }
-
- private void resetFontSize() {
- logoLabel.removeStyleName(LOGO_LARGE_FONT_STYLE);
- logoLabel.removeStyleName(LOGO_SMALL_FONT_STYLE);
- logoLabel.removeStyleName(LOGO_MEDIUM_FONT_STYLE);
- }
- }
- public static final String LOGO_NAME = "k-elogop-ln";
- public static final String LOGO_IMAGE = "k-elogop-image";
- public static final String PUT_YOUR_LOGO_LINK = "k-elogop-pyll";
-
private final Provider<FileDownloadUtils> downloadProvider;
- private final Provider<EntityLogoSelector> entityLogoSelectorProvider;
- private EntityTextLogo entityTextLogo;
- private final I18nTranslationService i18n;
+ private final EntityTextLogo entityTextLogo;
private final Images images;
+ private final VerticalPanel vp;
- public EntityLogoPanel(final I18nTranslationService i18n, final WorkspaceSkeleton ws,
- final Provider<FileDownloadUtils> dowloadProvider,
- final Provider<EntityLogoSelector> entityLogoSelectorProvider, Images images) {
- this.i18n = i18n;
+ public EntityLogoPanel(final WorkspaceSkeleton ws, final Provider<FileDownloadUtils> dowloadProvider, Images images) {
this.downloadProvider = dowloadProvider;
- this.entityLogoSelectorProvider = entityLogoSelectorProvider;
this.images = images;
+ vp = new VerticalPanel();
+ vp.setWidth("100%");
+ super.setWidth("100%");
+ vp.setHorizontalAlignment(ALIGN_RIGHT);
+ entityTextLogo = new EntityTextLogo();
+ add(entityTextLogo);
+ add(vp);
ws.addToEntityMainHeader(this);
}
- public void reloadImage(GroupDTO group) {
- getEntityTextLogo().setLogoImage(
- downloadProvider.get().getLogoImageUrl(group.getStateToken()) + "&nocache=" + new Date().getTime());
+ public void addWidget(View view) {
+ Widget widget = (Widget) view;
+ vp.add(widget);
+ vp.setCellWidth(widget, "100%");
}
- public void setChangeYourAvatarText() {
- getEntityTextLogo().setChangeYourAvatarText();
+ public void reloadImage(GroupDTO group) {
+ entityTextLogo.setLogoImage(downloadProvider.get().getLogoImageUrl(group.getStateToken()) + "&nocache="
+ + new Date().getTime());
}
- public void setChangeYourLogoText() {
- getEntityTextLogo().setChangeYourLogo();
- }
-
public void setFullLogo(final StateToken stateToken, final boolean clipped) {
clear();
final String imageUrl = downloadProvider.get().getImageUrl(stateToken);
@@ -211,7 +81,7 @@
}
public void setLargeFont() {
- getEntityTextLogo().setLargeFont();
+ entityTextLogo.setLargeFont();
}
public void setLogoImage(StateToken stateToken) {
@@ -223,46 +93,25 @@
}
public void setLogoText(final String groupName) {
- clear();
- add(getEntityTextLogo());
entityTextLogo.setLogoText(groupName);
}
public void setMediumFont() {
- getEntityTextLogo().setMediumFont();
+ entityTextLogo.setMediumFont();
}
- public void setPutYourAvatarText() {
- getEntityTextLogo().setPutYourAvatarText();
- }
-
- public void setPutYourLogoText() {
- getEntityTextLogo().setPutYourLogo();
- }
-
- public void setSetYourLogoVisible(final boolean visible) {
- getEntityTextLogo().setPutYourLogoVisible(visible);
- }
-
public void setSmallFont() {
- getEntityTextLogo().setSmallFont();
+ entityTextLogo.setSmallFont();
}
public void setTheme(final WsTheme oldTheme, final WsTheme newTheme) {
if (oldTheme != null) {
- getEntityTextLogo().removeStyleDependentName(oldTheme.toString());
+ entityTextLogo.removeStyleDependentName(oldTheme.toString());
}
- getEntityTextLogo().addStyleDependentName(newTheme.toString());
+ entityTextLogo.addStyleDependentName(newTheme.toString());
}
public void showDefUserLogo() {
- getEntityTextLogo().setLogoImage(images.personAvatarDef());
+ entityTextLogo.setLogoImage(images.personAvatarDef());
}
-
- private EntityTextLogo getEntityTextLogo() {
- if (entityTextLogo == null) {
- this.entityTextLogo = new EntityTextLogo(entityLogoSelectorProvider);
- }
- return entityTextLogo;
- }
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoPresenter.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -18,16 +18,15 @@
*
*/package org.ourproject.kune.workspace.client.entitylogo;
+import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.GroupType;
-import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.workspace.client.themes.WsTheme;
import org.ourproject.kune.workspace.client.themes.WsThemePresenter;
-import com.calclab.suco.client.listener.Listener;
import com.calclab.suco.client.listener.Listener2;
public class EntityLogoPresenter implements EntityLogo {
@@ -45,11 +44,6 @@
setGroupLogo(session.getCurrentState().getGroup());
}
});
- stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
- public void onEvent(final StateAbstractDTO state) {
- setEntityLogoLink(state);
- }
- });
theme.onThemeChanged(new Listener2<WsTheme, WsTheme>() {
public void onEvent(final WsTheme oldTheme, final WsTheme newTheme) {
view.setTheme(oldTheme, newTheme);
@@ -57,6 +51,10 @@
});
}
+ public void addWidget(View widget) {
+ view.addWidget(widget);
+ }
+
public void init(final EntityLogoView view) {
this.view = view;
}
@@ -69,27 +67,6 @@
view.reloadImage(session.getCurrentState().getGroup());
}
- void setEntityLogoLink(final StateAbstractDTO state) {
- final boolean isAdmin = state.getGroupRights().isAdministrable();
- switch (state.getGroup().getGroupType()) {
- case PERSONAL:
- if (state.getGroup().hasLogo()) {
- view.setChangeYourAvatarText();
- } else {
- view.setPutYourAvatarText();
- }
- break;
- default:
- if (state.getGroup().hasLogo()) {
- view.setChangeYourLogoText();
- } else {
- view.setPutYourLogoText();
- }
- break;
- }
- view.setSetYourLogoVisible(isAdmin);
- }
-
void setGroupLogo(final GroupDTO group) {
final ContentSimpleDTO groupFullLogo = group.getGroupFullLogo();
if (groupFullLogo != null) {
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -1,23 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */package org.ourproject.kune.workspace.client.entitylogo;
-
-public interface EntityLogoSelector {
- void show();
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -1,176 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */package org.ourproject.kune.workspace.client.entitylogo;
-
-import org.ourproject.kune.platf.client.PlatfMessages;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.ui.dialogs.BasicDialogExtended;
-import org.ourproject.kune.platf.client.ui.download.FileParams;
-import org.ourproject.kune.workspace.client.site.Site;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.calclab.suco.client.listener.Listener0;
-import com.gwtext.client.core.Connection;
-import com.gwtext.client.core.EventCallback;
-import com.gwtext.client.core.EventObject;
-import com.gwtext.client.widgets.form.Field;
-import com.gwtext.client.widgets.form.Form;
-import com.gwtext.client.widgets.form.FormPanel;
-import com.gwtext.client.widgets.form.Hidden;
-import com.gwtext.client.widgets.form.Label;
-import com.gwtext.client.widgets.form.TextField;
-import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
-import com.gwtext.client.widgets.form.event.FormListener;
-
-public class EntityLogoSelectorPanel implements EntityLogoSelectorView {
-
- public static final String ICON_UPLOAD_SERVLET = "/kune/servlets/EntityLogoUploadManager";
- public static final String SUBID = "k-elogoselp-subb";
- public static final String CANCELID = "k-elogoselp-canb";
- public static final String DIALOG_ID = "k-elogoselp";
- private final BasicDialogExtended dialog;
- private final FormPanel formPanel;
- private final Hidden userhashField;
- private final Hidden tokenField;
- private final TextField file;
- private final Label dialogInfoLabel;
- private final I18nTranslationService i18n;
-
- public EntityLogoSelectorPanel(final EntityLogoSelectorPresenter presenter, final WorkspaceSkeleton ws,
- I18nTranslationService i18n) {
- this.i18n = i18n;
- dialog = new BasicDialogExtended(i18n.t(PlatfMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE), true, true, 400, 200,
- "", i18n.t("Select"), SUBID, i18n.tWithNT("Cancel", "used in button"), CANCELID, new Listener0() {
- public void onEvent() {
- String filename = file.getValueAsString();
- if (filename != null && filename.length() > 0) {
- formPanel.getForm().submit();
- }
- }
- }, new Listener0() {
- public void onEvent() {
- presenter.onCancel();
- }
- }, 2);
- dialog.setId(DIALOG_ID);
- dialog.setCollapsible(false);
- dialog.setBorder(false);
- // dialog.getFirstButton().disable();
-
- formPanel = new FormPanel();
- formPanel.setFrame(true);
- formPanel.setAutoScroll(false);
- formPanel.setBorder(false);
- formPanel.setFileUpload(true);
- formPanel.setWidth(400);
- formPanel.setMethod(Connection.POST);
- formPanel.setUrl(ICON_UPLOAD_SERVLET);
- formPanel.setWaitMsgTarget(true);
- formPanel.setHideLabels(true);
- formPanel.setPaddings(10);
- formPanel.addFormListener(new FormListener() {
- public boolean doBeforeAction(Form form) {
- return true;
- }
-
- public void onActionComplete(Form form, int httpStatus, String responseText) {
- presenter.onSubmitComplete(httpStatus, responseText);
- }
-
- public void onActionFailed(Form form, int httpStatus, String responseText) {
- Site.important(responseText);
- presenter.onSubmitFailed(httpStatus, responseText);
- }
- });
- dialogInfoLabel = new Label();
- formPanel.add(dialogInfoLabel);
- file = new TextField("File", EntityLogoView.LOGO_FORM_FIELD);
- EventCallback keyListener = new EventCallback() {
- public void execute(EventObject e) {
- // setEnableFileField();
- }
- };
- file.addKeyPressListener(keyListener);
- file.setId(EntityLogoView.LOGO_FORM_FIELD);
- file.setInputType("file");
- userhashField = new Hidden(FileParams.HASH, FileParams.HASH);
- tokenField = new Hidden(FileParams.TOKEN, FileParams.TOKEN);
- formPanel.add(userhashField);
- formPanel.add(tokenField);
- formPanel.add(file);
- FieldListenerAdapter changeListener = new FieldListenerAdapter() {
- @Override
- public void onChange(Field field, Object newVal, Object oldVal) {
- Site.info("change");
- // setEnableFileField();
- }
- };
- // Don't works:
- file.addListener(changeListener);
- dialog.add(formPanel);
- }
-
- // BrowseButton browseButton = new BrowseButton("SelectIcon");
- // browseButton.addListener(new BrowseButtonListenerAdapter() {
- // @Override
- // public void onInputFileChange(BrowseButton browseButton, String filename)
- // {
- // // TODO Auto-generated method stub
- // }
- // });
-
- public void hide() {
- dialog.hide();
- formPanel.getForm().reset();
- }
-
- public void setNormalGroupsLabels() {
- dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as the logo for this group. "
- + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
- EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT, EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT)
- + "<br/><br/>");
- dialog.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
- }
-
- public void setPersonalGroupsLabels() {
- dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as your avatar. "
- + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
- EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT, EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT)
- + "<br/><br/>");
- dialog.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_PERSON_TITLE);
- }
-
- public void setUploadParams(String userHash, String token) {
- userhashField.setValue(userHash);
- tokenField.setValue(token);
- }
-
- public void show() {
- dialog.show();
- }
-
- @SuppressWarnings("unused")
- private void setEnableFileField() {
- if (file.getValueAsString().length() > 0) {
- dialog.getFirstButton().enable();
- } else {
- dialog.getFirstButton().disable();
- }
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -1,71 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */package org.ourproject.kune.workspace.client.entitylogo;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.workspace.client.site.Site;
-
-public class EntityLogoSelectorPresenter implements EntityLogoSelector {
-
- private EntityLogoSelectorView view;
- private final Session session;
- private final EntityLogo entityLogo;
-
- public EntityLogoSelectorPresenter(Session session, EntityLogo entityLogo) {
- this.session = session;
- this.entityLogo = entityLogo;
- }
-
- public View getView() {
- return view;
- }
-
- public void init(EntityLogoSelectorView view) {
- this.view = view;
- }
-
- public void onCancel() {
- view.hide();
- }
-
- public void onSubmitComplete(int httpStatus, String responseText) {
- view.hide();
- entityLogo.reloadGroupLogoImage();
- }
-
- public void onSubmitFailed(int httpStatus, String responseText) {
- Site.error("Error setting the group logo");
- }
-
- public void show() {
- session.check(new AsyncCallbackSimple<Object>() {
- public void onSuccess(Object result) {
- view.setUploadParams(session.getUserHash(), session.getCurrentStateToken().toString());
- if (session.getCurrentState().getGroup().isPersonalGroup()) {
- view.setPersonalGroupsLabels();
- } else {
- view.setNormalGroupsLabels();
- }
- view.show();
- }
- });
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -1,33 +0,0 @@
-/*
- *
- * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
- * This file is part of kune.
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */package org.ourproject.kune.workspace.client.entitylogo;
-
-import org.ourproject.kune.platf.client.View;
-
-public interface EntityLogoSelectorView extends View {
- void hide();
-
- void setNormalGroupsLabels();
-
- void setPersonalGroupsLabels();
-
- void setUploadParams(String userHash, String token);
-
- void show();
-}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoView.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -18,6 +18,7 @@
*
*/package org.ourproject.kune.workspace.client.entitylogo;
+import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.dto.GroupDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.workspace.client.themes.WsTheme;
@@ -32,12 +33,10 @@
String LOGO_FORM_FIELD = "k-elogov-ff";
+ void addWidget(View view);
+
void reloadImage(GroupDTO group);
- void setChangeYourAvatarText();
-
- void setChangeYourLogoText();
-
void setFullLogo(StateToken stateToken, boolean clipped);
void setLargeFont();
@@ -50,12 +49,6 @@
void setMediumFont();
- void setPutYourAvatarText();
-
- void setPutYourLogoText();
-
- void setSetYourLogoVisible(final boolean visible);
-
void setSmallFont();
void setTheme(final WsTheme oldTheme, WsTheme newTheme);
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityTextLogo.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityTextLogo.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityTextLogo.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,94 @@
+package org.ourproject.kune.workspace.client.entitylogo;
+
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
+import com.google.gwt.user.client.ui.HorizontalPanel;
+import com.google.gwt.user.client.ui.Image;
+import com.google.gwt.user.client.ui.Label;
+import com.google.gwt.user.client.ui.VerticalPanel;
+
+public class EntityTextLogo extends VerticalPanel {
+
+ public static final String LOGO_NAME = "k-elogop-ln";
+ public static final String LOGO_IMAGE = "k-elogop-image";
+
+ private static final String _100 = "100%";
+ private static final String LOGO_MEDIUM_FONT_STYLE = "k-elogo-l-m";
+ private static final String LOGO_SMALL_FONT_STYLE = "k-elogo-l-s";
+ private static final String LOGO_LARGE_FONT_STYLE = "k-elogo-l-l";
+ private final Label logoLabel;
+ private final Image logoImage;
+
+ public EntityTextLogo() {
+ // Initialize
+ super();
+ HorizontalPanel generalHP = new HorizontalPanel();
+ VerticalPanel logoTextVP = new VerticalPanel();
+ logoImage = new Image();
+ logoLabel = new Label();
+ final Label expandCell = new Label("");
+
+ logoImage.ensureDebugId(LOGO_IMAGE);
+ logoLabel.ensureDebugId(LOGO_NAME);
+
+ // Layout
+ add(generalHP);
+ generalHP.add(logoImage);
+ generalHP.add(logoTextVP);
+ logoTextVP.add(logoLabel);
+
+ // Set properties
+
+ expandCell.setStyleName("k-elogop-expand");
+ generalHP.setWidth(_100);
+ generalHP.setHeight(_100);
+ generalHP.setCellWidth(logoTextVP, _100);
+ generalHP.setCellHeight(logoTextVP, _100);
+ logoTextVP.setWidth(_100);
+ logoTextVP.setCellWidth(logoLabel, _100);
+ super.setVerticalAlignment(ALIGN_MIDDLE);
+ logoTextVP.setVerticalAlignment(ALIGN_MIDDLE);
+ generalHP.setVerticalAlignment(ALIGN_MIDDLE);
+ setStylePrimaryName("k-entitytextlogo");
+ addStyleName("k-entitytextlogo-no-border");
+ logoImage.setVisible(false);
+ setLogoText("");
+ }
+
+ public void setLargeFont() {
+ resetFontSize();
+ logoLabel.addStyleName(LOGO_LARGE_FONT_STYLE);
+ }
+
+ public void setLogoImage(AbstractImagePrototype imageProto) {
+ imageProto.applyTo(logoImage);
+ }
+
+ public void setLogoImage(final String url) {
+ Image.prefetch(url);
+ logoImage.setUrl(url);
+ }
+
+ public void setLogoText(final String text) {
+ logoLabel.setText(text);
+ }
+
+ public void setLogoVisible(final boolean visible) {
+ logoImage.setVisible(visible);
+ }
+
+ public void setMediumFont() {
+ resetFontSize();
+ logoLabel.addStyleName(LOGO_MEDIUM_FONT_STYLE);
+ }
+
+ public void setSmallFont() {
+ resetFontSize();
+ logoLabel.addStyleName(LOGO_SMALL_FONT_STYLE);
+ }
+
+ private void resetFontSize() {
+ logoLabel.removeStyleName(LOGO_LARGE_FONT_STYLE);
+ logoLabel.removeStyleName(LOGO_SMALL_FONT_STYLE);
+ logoLabel.removeStyleName(LOGO_MEDIUM_FONT_STYLE);
+ }
+}
\ No newline at end of file
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/newgroup/NewGroupPanel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -31,6 +31,7 @@
import org.ourproject.kune.workspace.client.licensechoose.LicenseChoose;
import org.ourproject.kune.workspace.client.licensechoose.LicenseChoosePanel;
+import com.allen_sauer.gwt.log.client.Log;
import com.calclab.suco.client.ioc.Provider;
import com.google.gwt.user.client.ui.DeckPanel;
import com.google.gwt.user.client.ui.HTML;
@@ -93,6 +94,7 @@
}
public void onClose() {
+ Log.info("close pressed");
presenter.onClose();
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -12,7 +12,7 @@
private BasicDialog dialog;
private MessageToolbar messageErrorBar;
private TabPanel tabPanel;
- private final String title;
+ private String title;
private final int width;
private final int height;
private final int minWidth;
@@ -20,9 +20,11 @@
private final Images images;
private final String errorLabelId;
private String iconCls;
+ private final String id;
public AbstractOptionsPanel(String title, int width, int height, int minWidth, int minHeight, Images images,
- String errorLabelId) {
+ String id, String errorLabelId) {
+ this.id = id;
this.title = title;
this.width = width;
this.height = height;
@@ -44,12 +46,15 @@
}
public void hide() {
- createDialogIfNecessary();
- dialog.hide();
+ if (dialog != null) {
+ dialog.hide();
+ }
}
public void hideMessages() {
- messageErrorBar.hideErrorMessage();
+ if (dialog != null) {
+ messageErrorBar.hideErrorMessage();
+ }
}
public boolean isVisible() {
@@ -72,6 +77,13 @@
}
}
+ public void setTitle(String title) {
+ this.title = title;
+ if (dialog != null) {
+ dialog.setTitle(title);
+ }
+ }
+
public void show() {
createDialogIfNecessary();
dialog.show();
@@ -79,6 +91,7 @@
private void createDialog() {
dialog = new BasicDialog(title, false, true, width, height, minWidth, minHeight);
+ dialog.setId(id);
messageErrorBar = new MessageToolbar(images, errorLabelId);
dialog.setBottomToolbar(messageErrorBar.getToolbar());
tabPanel = new TabPanel();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -6,4 +6,6 @@
void addOptionTab(View view);
+ void show();
+
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -1,33 +1,41 @@
package org.ourproject.kune.workspace.client.options;
+import org.ourproject.kune.platf.client.PlatfMessages;
import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.app.EntityOptionsGroup;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.services.Images;
-import org.ourproject.kune.platf.client.ui.KuneUiUtils;
+import org.ourproject.kune.platf.client.ui.IconLabel;
import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
-import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.user.client.ui.AbstractImagePrototype;
import com.google.gwt.user.client.ui.ClickListener;
-import com.google.gwt.user.client.ui.PushButton;
import com.google.gwt.user.client.ui.Widget;
import com.gwtext.client.widgets.Panel;
public class EntityOptionsPanel extends AbstractOptionsPanel implements EntityOptionsView {
- public static final String GROUP_OPTIONS_ERROR_ID = "gop-err-mess";
+ class EntityOptionPushButton extends IconLabel implements View {
+ public EntityOptionPushButton(String text, AbstractImagePrototype icon) {
+ super(text, icon);
+ }
+ }
+ public static final String GROUP_OPTIONS_ERROR_ID = "k-gop-err-mess";
+ public static final String GROUP_OPTIONS_ID = "k-gop-panel";
+ public static final String GROUP_OPTIONS_ICON = "k-gop-icon";
private final I18nTranslationService i18n;
- private final WorkspaceSkeleton ws;
- private PushButton optionsButton;
+ private final EntityLogo entityHeader;
+ private EntityOptionPushButton optionsButton;
private final Images images;
+
private final EntityOptionsGroup entityPreferencesGroup;
- public EntityOptionsPanel(final EntityOptionsPresenter presenter, final WorkspaceSkeleton ws,
+ public EntityOptionsPanel(final EntityOptionsPresenter presenter, final EntityLogo entityHeader,
I18nTranslationService i18n, Images images, EntityOptionsGroup entityOptionsGroup) {
- super(i18n.t("Group options"), 400, 250, 400, 250, images, GROUP_OPTIONS_ERROR_ID);
- this.ws = ws;
+ super("", 400, 250, 400, 250, images, GROUP_OPTIONS_ID, GROUP_OPTIONS_ERROR_ID);
+ this.entityHeader = entityHeader;
this.i18n = i18n;
this.images = images;
this.entityPreferencesGroup = entityOptionsGroup;
@@ -46,26 +54,37 @@
doLayoutIfNeeded();
}
+ public void createAndShow() {
+ entityPreferencesGroup.createAll();
+ show();
+ setFirstTabActive();
+ }
+
public void setButtonVisible(boolean visible) {
optionsButton.setVisible(visible);
}
+ public void setGroupTitle() {
+ super.setTitle(i18n.t(PlatfMessages.ENT_OPTIONS_GROUP_TITLE));
+ optionsButton.setTitle(i18n.t("Configure this group preferences"));
+ }
+
+ public void setPersonalTitle() {
+ super.setTitle(i18n.t(PlatfMessages.ENT_OPTIONS_USER_TITLE));
+ optionsButton.setTitle(i18n.t("Configure your preferences"));
+ }
+
private void createOptionsButton() {
- optionsButton = new PushButton(images.emblemSystem().createImage(), new ClickListener() {
+ optionsButton = new EntityOptionPushButton(i18n.t("Configure"), images.emblemSystem());
+ optionsButton.addClickListener(new ClickListener() {
public void onClick(Widget arg0) {
- if (isVisible()) {
- hide();
- } else {
- entityPreferencesGroup.createAll();
- show();
- setFirstTabActive();
- }
+ createAndShow();
}
});
- KuneUiUtils.setQuickTip(optionsButton, i18n.t("Show/hide the group options dialog"));
+ optionsButton.ensureDebugId(GROUP_OPTIONS_ICON);
+ optionsButton.addStyleName("kune-Margin-Medium-t");
+ optionsButton.addStyleName("kune-pointer");
- optionsButton.addStyleName("kune-Margin-Medium-r");
- final SimpleToolbar wsTitle = ws.getEntityWorkspace().getTitleComponent();
- wsTitle.add(optionsButton);
+ entityHeader.addWidget(optionsButton);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -13,11 +13,17 @@
public EntityOptionsPresenter(StateManager stateManager) {
stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
- public void onEvent(StateAbstractDTO parameter) {
- if (parameter.getGroupRights().isAdministrable()) {
+ public void onEvent(StateAbstractDTO state) {
+ if (state.getGroup().isPersonalGroup()) {
+ view.setPersonalTitle();
+ } else {
+ view.setGroupTitle();
+ }
+ if (state.getGroupRights().isAdministrable()) {
view.setButtonVisible(true);
} else {
view.setButtonVisible(false);
+ view.hide();
}
}
});
@@ -42,4 +48,8 @@
public void setErrorMessage(String message, SiteErrorType type) {
view.setErrorMessage(message, type);
}
+
+ public void show() {
+ view.createAndShow();
+ }
}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -1,5 +0,0 @@
-package org.ourproject.kune.workspace.client.options;
-
-public interface EntityOptionsToolsConf {
-
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -1,93 +0,0 @@
-package org.ourproject.kune.workspace.client.options;
-
-import java.util.HashMap;
-
-import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
-import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
-
-import com.allen_sauer.gwt.log.client.Log;
-import com.gwtext.client.widgets.ToolTip;
-import com.gwtext.client.widgets.form.Checkbox;
-import com.gwtext.client.widgets.form.Hidden;
-import com.gwtext.client.widgets.form.Label;
-import com.gwtext.client.widgets.form.event.CheckboxListenerAdapter;
-
-public class EntityOptionsToolsConfPanel extends DefaultForm implements EntityOptionsToolsConfView {
-
- private final EntityOptionsToolsConfPresenter presenter;
- private final HashMap<String, Checkbox> fields;
- private final I18nTranslationService i18n;
-
- public EntityOptionsToolsConfPanel(final EntityOptionsToolsConfPresenter presenter, final WorkspaceSkeleton ws,
- I18nTranslationService i18n) {
- super(i18n.t("Tools"));
- this.i18n = i18n;
- super.setAutoWidth(true);
- super.setAutoHeight(true);
- super.add(new Hidden());
- super.getForm().setLabelWidth(20);
- this.presenter = presenter;
- fields = new HashMap<String, Checkbox>();
- }
-
- public void add(final ToolSimpleDTO tool) {
- Checkbox checkbox = new Checkbox(tool.getRootName(), new CheckboxListenerAdapter() {
- @Override
- public void onCheck(Checkbox field, boolean checked) {
- presenter.onCheck(tool, checked);
- }
- });
- checkbox.setChecked(false);
- super.add(checkbox);
- fields.put(tool.getName(), checkbox);
- doLayoutIfNeeded();
- }
-
- public void clear() {
- super.getForm().removeAll(true);
- fields.clear();
- Label label = new Label();
- label.setHtml(i18n.t("Here you can select the tools used:") + "<br/><br/>");
- super.add(label);
- }
-
- public void setChecked(String tool, boolean checked) {
- Checkbox field = getTool(tool);
- field.setValue(checked);
- }
-
- public void setEnabled(String tool, boolean enabled) {
- Checkbox field = getTool(tool);
- if (enabled) {
- field.enable();
- } else {
- field.disable();
- }
- }
-
- public void setTooltip(String tool, String tip) {
- Checkbox field = getTool(tool);
- ToolTip tooltip = new ToolTip();
- tooltip.setHtml(tip);
- tooltip.setWidth(250);
- tooltip.applyTo(field);
- field.setTitle(tip);
- doLayoutIfNeeded();
- }
-
- private void doLayoutIfNeeded() {
- if (super.getForm().isRendered()) {
- super.getForm().doLayout();
- }
- }
-
- private Checkbox getTool(String tool) {
- Checkbox field = fields.get(tool);
- if (field == null) {
- Log.error("Field " + tool + " not found in EOTCP");
- }
- return field;
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -1,120 +0,0 @@
-package org.ourproject.kune.workspace.client.options;
-
-import java.util.Collection;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
-import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
-import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
-import org.ourproject.kune.platf.client.rpc.GroupServiceAsync;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
-import org.ourproject.kune.platf.client.state.Session;
-import org.ourproject.kune.platf.client.state.StateManager;
-import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
-
-import com.calclab.suco.client.ioc.Provider;
-import com.calclab.suco.client.listener.Listener2;
-import com.google.gwt.user.client.rpc.AsyncCallback;
-
-public class EntityOptionsToolsConfPresenter implements EntityOptionsToolsConf {
-
- private EntityOptionsToolsConfView view;
- private final Session session;
- private final EntityOptions entityOptions;
- private final Provider<GroupServiceAsync> groupServiceProvider;
- private final I18nTranslationService i18n;
- private final StateManager stateManager;
-
- public EntityOptionsToolsConfPresenter(StateManager stateManager, Session session, I18nTranslationService i18n,
- EntityOptions entityOptions, Provider<GroupServiceAsync> groupServiceProvider) {
- this.stateManager = stateManager;
- this.session = session;
- this.i18n = i18n;
- this.entityOptions = entityOptions;
- this.groupServiceProvider = groupServiceProvider;
- stateManager.onGroupChanged(new Listener2<String, String>() {
- public void onEvent(String group1, String group2) {
- setState();
- }
- });
- }
-
- public View getView() {
- return view;
- }
-
- public void init(EntityOptionsToolsConfView view) {
- this.view = view;
- setState();
- entityOptions.addOptionTab(view);
- }
-
- public void onCheck(ToolSimpleDTO tool, boolean checked) {
- StateAbstractDTO state = session.getCurrentState();
- String toolName = tool.getName();
- if (checked) {
- if (!(state.getEnabledTools().contains(toolName))) {
- // Log.info("Tool " + tool.getName() + " checked: " + checked +
- // " enabled tools: "
- // + state.getEnabledTools().toString());
- setToolCheckedInServer(checked, toolName);
- } else {
- // do nothing
- }
- } else {
- if (state.getEnabledTools().contains(tool.getName())) {
- // Log.info("Tool " + tool.getName() + " checked: " + checked);
- setToolCheckedInServer(checked, toolName);
- if (session.getCurrentStateToken().getTool().equals(toolName)) {
- stateManager.gotoToken(session.getCurrentState().getGroup().getDefaultContent().getStateToken());
- }
- }
- }
- }
-
- private void reset() {
- // TODO Auto-generated method stub
- view.clear();
- entityOptions.hideMessages();
- }
-
- private void setState() {
- StateAbstractDTO state = session.getCurrentState();
- reset();
- Collection<ToolSimpleDTO> toolCollection;
- if (state.getGroup().isPersonalGroup()) {
- toolCollection = session.getUserTools();
- } else {
- toolCollection = session.getGroupTools();
- }
- for (ToolSimpleDTO tool : toolCollection) {
- view.add(tool);
- view.setEnabled(tool.getName(), true);
- }
- for (String tool : state.getEnabledTools()) {
- view.setChecked(tool, true);
- }
- ContentSimpleDTO defaultContent = session.getCurrentState().getGroup().getDefaultContent();
- if (defaultContent != null) {
- String defContentTool = defaultContent.getStateToken().getTool();
- view.setEnabled(defContentTool, false);
- view.setTooltip(
- defContentTool,
- i18n.t("You cannot disable this tool because it's where the current group home page is located. To do that you have to select other content as the default group home page but in another tool."));
- }
- }
-
- private void setToolCheckedInServer(final boolean checked, final String toolName) {
- groupServiceProvider.get().setToolEnabled(session.getUserHash(), session.getCurrentStateToken(), toolName,
- checked, new AsyncCallback<Object>() {
- public void onFailure(Throwable caught) {
- view.setChecked(toolName, !checked);
- entityOptions.setErrorMessage(i18n.t("Error configuring the tool"), SiteErrorType.error);
- }
-
- public void onSuccess(Object result) {
- stateManager.reload();
- }
- });
- }
-}
Deleted: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -1,17 +0,0 @@
-package org.ourproject.kune.workspace.client.options;
-
-import org.ourproject.kune.platf.client.View;
-import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
-
-public interface EntityOptionsToolsConfView extends View {
-
- void add(ToolSimpleDTO tool);
-
- void clear();
-
- void setChecked(String tool, boolean checked);
-
- void setEnabled(String tool, boolean enabled);
-
- void setTooltip(String tool, String tip);
-}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -6,5 +6,13 @@
void addOptionTab(View tab);
+ void createAndShow();
+
+ void hide();
+
void setButtonVisible(boolean visible);
+
+ void setGroupTitle();
+
+ void setPersonalTitle();
}
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogo.java (from rev 973, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelector.java 2008-11-30 23:11:28 UTC (rev 973)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogo.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,22 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */package org.ourproject.kune.workspace.client.options.logo;
+
+public interface EntityOptionsLogo {
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogo.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java (from rev 973, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPanel.java 2008-11-30 23:11:28 UTC (rev 973)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,162 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */package org.ourproject.kune.workspace.client.options.logo;
+
+import org.ourproject.kune.platf.client.PlatfMessages;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.download.FileParams;
+import org.ourproject.kune.workspace.client.entitylogo.EntityLogoView;
+import org.ourproject.kune.workspace.client.site.Site;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.gwtext.client.core.Connection;
+import com.gwtext.client.core.EventCallback;
+import com.gwtext.client.core.EventObject;
+import com.gwtext.client.widgets.Button;
+import com.gwtext.client.widgets.event.ButtonListenerAdapter;
+import com.gwtext.client.widgets.form.Field;
+import com.gwtext.client.widgets.form.Form;
+import com.gwtext.client.widgets.form.FormPanel;
+import com.gwtext.client.widgets.form.Hidden;
+import com.gwtext.client.widgets.form.Label;
+import com.gwtext.client.widgets.form.TextField;
+import com.gwtext.client.widgets.form.event.FieldListenerAdapter;
+import com.gwtext.client.widgets.form.event.FormListener;
+
+public class EntityOptionsLogoPanel extends FormPanel implements EntityOptionsLogoView {
+
+ public static final String ICON_UPLOAD_SERVLET = "/kune/servlets/EntityLogoUploadManager";
+ public static final String SET_LOGO_ID = "k-eolp-sendb";
+ public static final String PANEL_ID = "k-eolp-pan";
+ private final Hidden userhashField;
+ private final Hidden tokenField;
+ private final TextField file;
+ private final Label dialogInfoLabel;
+ private final I18nTranslationService i18n;
+
+ public EntityOptionsLogoPanel(final EntityOptionsLogoPresenter presenter, final WorkspaceSkeleton ws,
+ I18nTranslationService i18n) {
+ this.i18n = i18n;
+ super.setFrame(true);
+ super.setAutoScroll(false);
+ super.setBorder(false);
+ super.setFileUpload(true);
+ super.setWidth(400);
+ super.setMethod(Connection.POST);
+ super.setUrl(ICON_UPLOAD_SERVLET);
+ super.setWaitMsgTarget(true);
+ super.setHideLabels(true);
+ super.setPaddings(10);
+ super.addFormListener(new FormListener() {
+ public boolean doBeforeAction(Form form) {
+ return true;
+ }
+
+ public void onActionComplete(Form form, int httpStatus, String responseText) {
+ presenter.onSubmitComplete(httpStatus, responseText);
+ }
+
+ public void onActionFailed(Form form, int httpStatus, String responseText) {
+ presenter.onSubmitFailed(httpStatus, responseText);
+ }
+ });
+ dialogInfoLabel = new Label();
+ super.add(dialogInfoLabel);
+ file = new TextField("File", EntityLogoView.LOGO_FORM_FIELD);
+ EventCallback keyListener = new EventCallback() {
+ public void execute(EventObject e) {
+ // setEnableFileField();
+ }
+ };
+ file.addKeyPressListener(keyListener);
+ file.setId(EntityLogoView.LOGO_FORM_FIELD);
+ file.setInputType("file");
+ userhashField = new Hidden(FileParams.HASH, FileParams.HASH);
+ tokenField = new Hidden(FileParams.TOKEN, FileParams.TOKEN);
+ super.add(userhashField);
+ super.add(tokenField);
+ super.add(file);
+ FieldListenerAdapter changeListener = new FieldListenerAdapter() {
+ @Override
+ public void onChange(Field field, Object newVal, Object oldVal) {
+ Site.info("change");
+ // setEnableFileField();
+ }
+ };
+ // Don't works:
+ file.addListener(changeListener);
+ setId(PANEL_ID);
+
+ Button sendButton = new Button(i18n.t("Send"), new ButtonListenerAdapter() {
+ @Override
+ public void onClick(Button button, EventObject e) {
+ String filename = file.getValueAsString();
+ if (filename != null && filename.length() > 0) {
+ getForm().submit();
+ }
+ }
+ });
+ sendButton.setId(SET_LOGO_ID);
+ super.addButton(sendButton);
+ super.setHeight(170);
+ }
+
+ // BrowseButton browseButton = new BrowseButton("SelectIcon");
+ // browseButton.addListener(new BrowseButtonListenerAdapter() {
+ // @Override
+ // public void onInputFileChange(BrowseButton browseButton, String filename)
+ // {
+ // //
+ // }
+ // });
+
+ public void reset() {
+ super.getForm().reset();
+ }
+
+ public void setNormalGroupsLabels() {
+ dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as the logo for this group. "
+ + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
+ EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT, EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT)
+ + "<br/><br/>");
+ super.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
+ doLayoutIfNeeded();
+ }
+
+ public void setPersonalGroupsLabels() {
+ dialogInfoLabel.setHtml(i18n.t("Select an image in your computer as your avatar. "
+ + "For best results use a [%d]x[%d] pixel image. We will automatically resize bigger images.",
+ EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT, EntityLogoView.LOGO_ICON_DEFAULT_HEIGHT)
+ + "<br/><br/>");
+ super.setTitle(PlatfMessages.ENT_LOGO_SELECTOR_PERSON_TITLE);
+ doLayoutIfNeeded();
+ }
+
+ public void setUploadParams(String userHash, String token) {
+ userhashField.setValue(userHash);
+ tokenField.setValue(token);
+ }
+
+ private void doLayoutIfNeeded() {
+ if (super.isRendered()) {
+ doLayout(false);
+ }
+ }
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPanel.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java (from rev 973, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorPresenter.java 2008-11-30 23:11:28 UTC (rev 973)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,75 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */package org.ourproject.kune.workspace.client.options.logo;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.entitylogo.EntityLogo;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
+import org.ourproject.kune.workspace.client.site.Site;
+
+import com.calclab.suco.client.listener.Listener2;
+
+public class EntityOptionsLogoPresenter implements EntityOptionsLogo {
+
+ private EntityOptionsLogoView view;
+ private final Session session;
+ private final EntityLogo entityLogo;
+ private final EntityOptions entityOptions;
+
+ public EntityOptionsLogoPresenter(Session session, EntityLogo entityLogo, EntityOptions entityOptions,
+ StateManager stateManager) {
+ this.session = session;
+ this.entityLogo = entityLogo;
+ this.entityOptions = entityOptions;
+ stateManager.onGroupChanged(new Listener2<String, String>() {
+ public void onEvent(String group1, String group2) {
+ setState();
+ }
+ });
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(EntityOptionsLogoView view) {
+ this.view = view;
+ entityOptions.addOptionTab(view);
+ setState();
+ }
+
+ public void onSubmitComplete(int httpStatus, String responseText) {
+ entityLogo.reloadGroupLogoImage();
+ }
+
+ public void onSubmitFailed(int httpStatus, String responseText) {
+ Site.error("Error setting the group logo: " + responseText);
+ }
+
+ private void setState() {
+ view.setUploadParams(session.getUserHash(), session.getCurrentStateToken().toString());
+ if (session.getCurrentState().getGroup().isPersonalGroup()) {
+ view.setPersonalGroupsLabels();
+ } else {
+ view.setNormalGroupsLabels();
+ }
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoPresenter.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoView.java (from rev 973, trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/entitylogo/EntityLogoSelectorView.java 2008-11-30 23:11:28 UTC (rev 973)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoView.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,31 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */package org.ourproject.kune.workspace.client.options.logo;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface EntityOptionsLogoView extends View {
+
+ void setNormalGroupsLabels();
+
+ void setPersonalGroupsLabels();
+
+ void setUploadParams(String userHash, String token);
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/logo/EntityOptionsLogoView.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConf.java (from rev 975, trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConf.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.options.tools;
+
+public interface EntityOptionsToolsConf {
+
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConf.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java (from rev 976, trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,93 @@
+package org.ourproject.kune.workspace.client.options.tools;
+
+import java.util.HashMap;
+
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.gwtext.client.widgets.ToolTip;
+import com.gwtext.client.widgets.form.Checkbox;
+import com.gwtext.client.widgets.form.Hidden;
+import com.gwtext.client.widgets.form.Label;
+import com.gwtext.client.widgets.form.event.CheckboxListenerAdapter;
+
+public class EntityOptionsToolsConfPanel extends DefaultForm implements EntityOptionsToolsConfView {
+
+ private final EntityOptionsToolsConfPresenter presenter;
+ private final HashMap<String, Checkbox> fields;
+ private final I18nTranslationService i18n;
+
+ public EntityOptionsToolsConfPanel(final EntityOptionsToolsConfPresenter presenter, final WorkspaceSkeleton ws,
+ I18nTranslationService i18n) {
+ super(i18n.t("Tools"));
+ this.i18n = i18n;
+ super.setAutoWidth(true);
+ super.setAutoHeight(true);
+ super.add(new Hidden());
+ super.getForm().setLabelWidth(20);
+ this.presenter = presenter;
+ fields = new HashMap<String, Checkbox>();
+ }
+
+ public void add(final ToolSimpleDTO tool) {
+ Checkbox checkbox = new Checkbox(tool.getRootName(), new CheckboxListenerAdapter() {
+ @Override
+ public void onCheck(Checkbox field, boolean checked) {
+ presenter.onCheck(tool, checked);
+ }
+ });
+ checkbox.setChecked(false);
+ super.add(checkbox);
+ fields.put(tool.getName(), checkbox);
+ doLayoutIfNeeded();
+ }
+
+ public void clear() {
+ super.getForm().removeAll(true);
+ fields.clear();
+ Label label = new Label();
+ label.setHtml(i18n.t("Here you can select the tools used:") + "<br/><br/>");
+ super.add(label);
+ }
+
+ public void setChecked(String tool, boolean checked) {
+ Checkbox field = getTool(tool);
+ field.setValue(checked);
+ }
+
+ public void setEnabled(String tool, boolean enabled) {
+ Checkbox field = getTool(tool);
+ if (enabled) {
+ field.enable();
+ } else {
+ field.disable();
+ }
+ }
+
+ public void setTooltip(String tool, String tip) {
+ Checkbox field = getTool(tool);
+ ToolTip tooltip = new ToolTip();
+ tooltip.setHtml(tip);
+ tooltip.setWidth(250);
+ tooltip.applyTo(field);
+ field.setTitle(tip);
+ doLayoutIfNeeded();
+ }
+
+ private void doLayoutIfNeeded() {
+ if (super.getForm().isRendered()) {
+ super.getForm().doLayout();
+ }
+ }
+
+ private Checkbox getTool(String tool) {
+ Checkbox field = fields.get(tool);
+ if (field == null) {
+ Log.error("Field " + tool + " not found in EOTCP");
+ }
+ return field;
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPanel.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPresenter.java (from rev 976, trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPresenter.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,120 @@
+package org.ourproject.kune.workspace.client.options.tools;
+
+import java.util.Collection;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
+import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
+import org.ourproject.kune.platf.client.rpc.GroupServiceAsync;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
+
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.listener.Listener2;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+
+public class EntityOptionsToolsConfPresenter implements EntityOptionsToolsConf {
+
+ private EntityOptionsToolsConfView view;
+ private final Session session;
+ private final EntityOptions entityOptions;
+ private final Provider<GroupServiceAsync> groupServiceProvider;
+ private final I18nTranslationService i18n;
+ private final StateManager stateManager;
+
+ public EntityOptionsToolsConfPresenter(StateManager stateManager, Session session, I18nTranslationService i18n,
+ EntityOptions entityOptions, Provider<GroupServiceAsync> groupServiceProvider) {
+ this.stateManager = stateManager;
+ this.session = session;
+ this.i18n = i18n;
+ this.entityOptions = entityOptions;
+ this.groupServiceProvider = groupServiceProvider;
+ stateManager.onGroupChanged(new Listener2<String, String>() {
+ public void onEvent(String group1, String group2) {
+ setState();
+ }
+ });
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(EntityOptionsToolsConfView view) {
+ this.view = view;
+ setState();
+ entityOptions.addOptionTab(view);
+ }
+
+ public void onCheck(ToolSimpleDTO tool, boolean checked) {
+ StateAbstractDTO state = session.getCurrentState();
+ String toolName = tool.getName();
+ if (checked) {
+ if (!(state.getEnabledTools().contains(toolName))) {
+ // Log.info("Tool " + tool.getName() + " checked: " + checked +
+ // " enabled tools: "
+ // + state.getEnabledTools().toString());
+ setToolCheckedInServer(checked, toolName);
+ } else {
+ // do nothing
+ }
+ } else {
+ if (state.getEnabledTools().contains(tool.getName())) {
+ // Log.info("Tool " + tool.getName() + " checked: " + checked);
+ setToolCheckedInServer(checked, toolName);
+ if (session.getCurrentStateToken().getTool().equals(toolName)) {
+ stateManager.gotoToken(session.getCurrentState().getGroup().getDefaultContent().getStateToken());
+ }
+ }
+ }
+ }
+
+ private void reset() {
+ view.clear();
+ entityOptions.hideMessages();
+ }
+
+ private void setState() {
+ StateAbstractDTO state = session.getCurrentState();
+ reset();
+ Collection<ToolSimpleDTO> toolCollection;
+ if (state.getGroup().isPersonalGroup()) {
+ toolCollection = session.getUserTools();
+ } else {
+ toolCollection = session.getGroupTools();
+ }
+ for (ToolSimpleDTO tool : toolCollection) {
+ view.add(tool);
+ view.setEnabled(tool.getName(), true);
+ }
+ for (String tool : state.getEnabledTools()) {
+ view.setChecked(tool, true);
+ }
+ ContentSimpleDTO defaultContent = session.getCurrentState().getGroup().getDefaultContent();
+ if (defaultContent != null) {
+ String defContentTool = defaultContent.getStateToken().getTool();
+ view.setEnabled(defContentTool, false);
+ view.setTooltip(
+ defContentTool,
+ i18n.t("You cannot disable this tool because it's where the current group home page is located. To do that you have to select other content as the default group home page but in another tool."));
+ }
+ }
+
+ private void setToolCheckedInServer(final boolean checked, final String toolName) {
+ groupServiceProvider.get().setToolEnabled(session.getUserHash(), session.getCurrentStateToken(), toolName,
+ checked, new AsyncCallback<Object>() {
+ public void onFailure(Throwable caught) {
+ view.setChecked(toolName, !checked);
+ entityOptions.setErrorMessage(i18n.t("Error configuring the tool"), SiteErrorType.error);
+ }
+
+ public void onSuccess(Object result) {
+ stateManager.reload();
+ }
+ });
+ }
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfPresenter.java
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfView.java (from rev 975, trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java)
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfView.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -0,0 +1,17 @@
+package org.ourproject.kune.workspace.client.options.tools;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
+
+public interface EntityOptionsToolsConfView extends View {
+
+ void add(ToolSimpleDTO tool);
+
+ void clear();
+
+ void setChecked(String tool, boolean checked);
+
+ void setEnabled(String tool, boolean enabled);
+
+ void setTooltip(String tool, String tip);
+}
Property changes on: trunk/src/main/java/org/ourproject/kune/workspace/client/options/tools/EntityOptionsToolsConfView.java
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/RegisterForm.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -64,7 +64,7 @@
super.addStyleName("kune-Margin-Large-l");
shortNameRegField = new TextField();
- shortNameRegField.setTabIndex(1);
+ shortNameRegField.setTabIndex(0);
shortNameRegField.setFieldLabel(i18n.t("Nickname"));
shortNameRegField.setName(NICK_FIELD);
shortNameRegField.setWidth(DEF_SMALL_FIELD_WIDTH);
@@ -79,7 +79,7 @@
add(shortNameRegField);
longNameRegField = new TextField();
- longNameRegField.setTabIndex(2);
+ longNameRegField.setTabIndex(1);
longNameRegField.setFieldLabel(i18n.t("Full Name"));
longNameRegField.setName(LONGNAME_FIELD);
longNameRegField.setWidth(DEF_FIELD_WIDTH);
@@ -91,7 +91,7 @@
add(longNameRegField);
passwdRegField = new TextField();
- passwdRegField.setTabIndex(3);
+ passwdRegField.setTabIndex(2);
passwdRegField.setFieldLabel(i18n.t("Password"));
passwdRegField.setName(PASSWORD_FIELD);
passwdRegField.setPassword(true);
@@ -103,7 +103,7 @@
add(passwdRegField);
passwdRegFieldDup = new TextField();
- passwdRegFieldDup.setTabIndex(4);
+ passwdRegFieldDup.setTabIndex(3);
passwdRegFieldDup.setFieldLabel(i18n.t("Retype password"));
passwdRegFieldDup.setName(PASSWORD_FIELD_DUP);
passwdRegFieldDup.setPassword(true);
@@ -122,7 +122,7 @@
add(passwdRegFieldDup);
emailRegField = new TextField();
- emailRegField.setTabIndex(5);
+ emailRegField.setTabIndex(4);
emailRegField.setFieldLabel(i18n.t("Email"));
emailRegField.setName(EMAIL_FIELD);
emailRegField.setVtype(VType.EMAIL);
@@ -136,7 +136,7 @@
langStore.load();
languageCombo = new ComboBox();
- languageCombo.setTabIndex(6);
+ languageCombo.setTabIndex(5);
languageCombo.setLazyRender(true);
languageCombo.setName(LANG_FIELD);
languageCombo.setMinChars(1);
@@ -154,7 +154,7 @@
languageCombo.setAllowBlank(false);
languageCombo.setValueField("abbr");
languageCombo.setValue(session.getCurrentLanguage().getCode());
- languageCombo.setPageSize(7);
+ languageCombo.setPageSize(6);
languageCombo.setForceSelection(true);
languageCombo.setValidationEvent(false);
// languageCombo.setId(LANG_FIELD);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInForm.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInForm.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -43,7 +43,7 @@
loginNickOrEmailField.setAllowBlank(false);
loginNickOrEmailField.setValidationEvent(false);
loginNickOrEmailField.setId(NICKOREMAIL_FIELD);
- loginNickOrEmailField.setTabIndex(1);
+ loginNickOrEmailField.setTabIndex(100);
super.add(loginNickOrEmailField);
loginPassField = new TextField();
@@ -54,7 +54,7 @@
loginPassField.setAllowBlank(false);
loginPassField.setValidationEvent(false);
loginPassField.setId(PASSWORD_FIELD);
- loginPassField.setTabIndex(2);
+ loginPassField.setTabIndex(101);
loginPassField.addListener(new FieldListenerAdapter() {
@Override
public void onSpecialKey(final Field field, final EventObject e) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/signin/SignInPanel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -37,7 +37,7 @@
public void onEvent() {
presenter.onCancel();
}
- }, images, ERROR_MSG, 3);
+ }, images, ERROR_MSG, 102);
this.presenter = presenter;
super.addListener(new WindowListenerAdapter() {
@@ -45,6 +45,11 @@
public void onHide(Component component) {
presenter.onClose();
}
+
+ @Override
+ public void onShow(Component component) {
+ focusOnNickname();
+ }
});
Panel panel = new Panel();
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPresenter.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/sitebar/siteusermenu/SiteUserMenuPresenter.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -25,7 +25,9 @@
import org.ourproject.kune.platf.client.state.StateManager;
import org.ourproject.kune.platf.client.ui.MenuItem;
import org.ourproject.kune.platf.client.ui.MenuItemCollection;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
+import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener;
import com.calclab.suco.client.listener.Listener0;
@@ -35,10 +37,13 @@
private final MenuItemCollection<GroupDTO> participateInGroups;
private final StateManager stateManager;
private final Session session;
+ private final Provider<EntityOptions> entityOptions;
- public SiteUserMenuPresenter(final Session session, final StateManager stateManager) {
+ public SiteUserMenuPresenter(final Session session, final StateManager stateManager,
+ final Provider<EntityOptions> entityOptions) {
this.session = session;
this.stateManager = stateManager;
+ this.entityOptions = entityOptions;
participateInGroups = new MenuItemCollection<GroupDTO>();
session.onUserSignIn(new Listener<UserInfoDTO>() {
public void onEvent(final UserInfoDTO userInfoDTO) {
@@ -67,7 +72,8 @@
}
public void onUserPreferences() {
- // TODO Auto-generated method stub
+ onUserHomePage();
+ entityOptions.get().show();
}
private void addPartipation(final GroupDTO group) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/skel/SummaryPanel.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -28,14 +28,16 @@
public class SummaryPanel extends Panel {
private final WorkspaceSkeleton ws;
+ private final String collapsedTitle;
+ private final String expandedTitle;
public SummaryPanel(final String title, final String titleTooltip, WorkspaceSkeleton ws) {
this.ws = ws;
super.setBorder(false);
super.setAutoScroll(true);
- final String collapsedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip,
+ collapsedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip,
Images.App.getInstance().arrowRightWhite(), IconPosition.left);
- final String expandedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip,
+ expandedTitle = KuneUiUtils.genQuickTipLabel(title, null, titleTooltip,
Images.App.getInstance().arrowDownWhite(), IconPosition.left);
setTitle(collapsedTitle);
super.addListener(new PanelListenerAdapter() {
@@ -66,6 +68,7 @@
@Override
public void expand() {
super.expand();
+ setTitle(expandedTitle);
}
@Override
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -2,7 +2,7 @@
import org.junit.Test;
import org.ourproject.kune.platf.client.dto.StateToken;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
+import org.ourproject.kune.workspace.client.entitylogo.EntityTextLogo;
public class ContentAddSeleniumTest extends KuneSeleniumTestHelper {
@Test
@@ -10,9 +10,9 @@
String shortname = "g" + genPrefix();
String longName = "testing" + genPrefix();
newGroupRegistrationDefLicense(shortname, longName, "some description", "tag1 tag2");
- waitForTextInside(gid(EntityLogoPanel.LOGO_NAME), longName);
+ waitForTextInside(gid(EntityTextLogo.LOGO_NAME), longName);
open(new StateToken(shortname, ""));
signOut();
- wait(120000);
+ // TODO: need to add more ids
}
}
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/EntityLogoSeleniumTest.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -4,10 +4,9 @@
import java.io.IOException;
import org.junit.Test;
-import org.ourproject.kune.platf.client.PlatfMessages;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoSelectorPanel;
import org.ourproject.kune.workspace.client.entitylogo.EntityLogoView;
+import org.ourproject.kune.workspace.client.options.EntityOptionsPanel;
+import org.ourproject.kune.workspace.client.options.logo.EntityOptionsLogoPanel;
public class EntityLogoSeleniumTest extends KuneSeleniumTestHelper {
@@ -20,11 +19,13 @@
}
private void setLogo(String filename) throws Exception, IOException {
- click(gid(EntityLogoPanel.PUT_YOUR_LOGO_LINK));
- waitForTextInside(EntityLogoSelectorPanel.DIALOG_ID, PlatfMessages.ENT_LOGO_SELECTOR_NORMAL_TITLE);
+ click(gid(EntityOptionsPanel.GROUP_OPTIONS_ICON));
+ // waitForTextInside(EntityOptionsLogoPanel.PANEL_ID,
+ // PlatfMessages.ENT_OPTIONS_GROUP_TITLE);
+ click(EntityOptionsLogoPanel.SET_LOGO_ID);
File dir = new File(".");
type(EntityLogoView.LOGO_FORM_FIELD, dir.getCanonicalPath() + File.separator + "img" + File.separator
+ filename);
- click(EntityLogoSelectorPanel.SUBID);
+ click(EntityOptionsLogoPanel.SET_LOGO_ID);
}
}
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java 2008-12-02 00:42:41 UTC (rev 976)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java 2008-12-02 17:08:38 UTC (rev 977)
@@ -6,7 +6,7 @@
import org.junit.Test;
import org.ourproject.kune.platf.client.dto.GroupType;
import org.ourproject.kune.workspace.client.WorkspaceMessages;
-import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
+import org.ourproject.kune.workspace.client.entitylogo.EntityTextLogo;
import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel;
import org.ourproject.kune.workspace.client.site.SiteToken;
@@ -47,6 +47,6 @@
String longName = "漢語 中文 华语 汉语" + genPrefix();
newGroupRegistrationDefLicense("g" + genPrefix(), longName,
"吗 台湾 六种辅音韵尾 中国政府要求在中国出售的软件必须使用编码 过 国标 名词的复数形式只在代词及多音节", "漢語 中文 华语 汉语");
- waitForTextInside(gid(EntityLogoPanel.LOGO_NAME), longName);
+ waitForTextInside(gid(EntityTextLogo.LOGO_NAME), longName);
}
}
1
0
Author: vjrj
Date: 2008-12-02 01:42:41 +0100 (Tue, 02 Dec 2008)
New Revision: 976
Added:
trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java
Modified:
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/auth/Authorizated.java
trunk/src/main/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptor.java
trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java
trunk/src/main/java/org/ourproject/kune/wiki/server/WikiServerTool.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java
trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTest.java
trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java
trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceAddTest.java
trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceIntegrationTest.java
trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java
trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java
Log:
Complete - task Wiki editing by other users (not admins/editors)
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -28,6 +28,7 @@
import org.ourproject.kune.platf.client.actions.toolbar.ActionParticipationToolbar;
import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
import org.ourproject.kune.platf.client.app.EntityOptionsGroup;
+import org.ourproject.kune.platf.client.registry.AuthorableRegistry;
import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
import org.ourproject.kune.platf.client.registry.RenamableRegistry;
import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
@@ -293,7 +294,8 @@
@Override
public EntitySubTitle create() {
final EntitySubTitlePresenter presenter = new EntitySubTitlePresenter(
- $(I18nUITranslationService.class), $(StateManager.class), $(Session.class), false);
+ $(I18nUITranslationService.class), $(StateManager.class), $(Session.class), false,
+ $(AuthorableRegistry.class));
final EntitySubTitlePanel panel = new EntitySubTitlePanel(presenter, $(WorkspaceSkeleton.class));
presenter.init(panel);
return presenter;
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/access/AccessServiceDefault.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -21,6 +21,7 @@
import org.ourproject.kune.platf.client.errors.AccessViolationException;
import org.ourproject.kune.platf.client.errors.DefaultException;
+import org.ourproject.kune.platf.server.domain.AccessLists;
import org.ourproject.kune.platf.server.domain.Container;
import org.ourproject.kune.platf.server.domain.Content;
import org.ourproject.kune.platf.server.domain.User;
@@ -50,7 +51,8 @@
public Content accessToContent(final Long contentId, final User user, final AccessRol accessRol)
throws DefaultException {
final Content content = finder.getContent(contentId);
- check(accessRightsService.get(user, content.getAccessLists()), accessRol);
+ AccessLists accessLists = content.getAccessLists();
+ check(accessRightsService.get(user, accessLists), accessRol);
return content;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/auth/Authorizated.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/auth/Authorizated.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/auth/Authorizated.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -48,4 +48,6 @@
*/
ActionLevel actionLevel() default ActionLevel.content;
+ boolean mustCheckMembership() default true;
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptor.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/auth/AuthorizatedMethodInterceptor.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -64,6 +64,7 @@
final Authorizated authoAnnotation = invocation.getStaticPart().getAnnotation(Authorizated.class);
final AccessRol accessRol = authoAnnotation.accessRolRequired();
final ActionLevel actionLevel = authoAnnotation.actionLevel();
+ final boolean mustBeMember = authoAnnotation.mustCheckMembership();
final User user = userSession.getUser();
Group group = Group.NO_GROUP;
@@ -98,8 +99,10 @@
break;
}
- if (!correctMember(user, group, accessRol)) {
- throw new AccessViolationException();
+ if (mustBeMember) {
+ if (!correctMember(user, group, accessRol)) {
+ throw new AccessViolationException();
+ }
}
return invocation.proceed();
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManager.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManager.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -20,6 +20,7 @@
package org.ourproject.kune.platf.server.content;
import org.ourproject.kune.platf.client.errors.DefaultException;
+import org.ourproject.kune.platf.server.domain.AccessLists;
import org.ourproject.kune.platf.server.domain.Container;
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.I18nLanguage;
@@ -38,4 +39,6 @@
SearchResult<Container> search(String search);
SearchResult<Container> search(String search, Integer firstResult, Integer maxResults);
+
+ void setAccessList(Container container, AccessLists accessList);
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/content/ContainerManagerDefault.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -29,6 +29,7 @@
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.search.Query;
import org.ourproject.kune.platf.client.errors.DefaultException;
+import org.ourproject.kune.platf.server.domain.AccessLists;
import org.ourproject.kune.platf.server.domain.Container;
import org.ourproject.kune.platf.server.domain.Group;
import org.ourproject.kune.platf.server.domain.I18nLanguage;
@@ -99,4 +100,9 @@
return super.search(query, firstResult, maxResults);
}
+ public void setAccessList(Container container, AccessLists accessList) {
+ container.setAccessLists(accessList);
+ persist(container);
+ }
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/init/DatabaseInitializer.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -90,6 +90,9 @@
final User user = new User(adminShortName, adminName, adminEmail, adminPassword,
languageManager.findByCode("en"), countryManager.findByCode("GB"), TimeZone.getDefault());
groupManager.createUserGroup(user, false);
+ final User dummyUser = new User("dummy", "dummy user", "example(a)example.com", adminPassword,
+ languageManager.findByCode("en"), countryManager.findByCode("GB"), TimeZone.getDefault());
+ groupManager.createUserGroup(dummyUser, false);
final String siteName = properties.getDefaultSiteName();
final String siteShortName = properties.getDefaultSiteShortName();
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/file/FileUploadManager.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -97,7 +97,7 @@
}
@Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor, actionLevel = ActionLevel.container)
+ @Authorizated(accessRolRequired = AccessRol.Editor, actionLevel = ActionLevel.container, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
Content createUploadedFileWrapped(final String userHash, final StateToken stateToken, final String fileName,
final FileItem fileUploadItem, String typeId) throws Exception {
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/ContentRPC.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -120,7 +120,7 @@
}
@Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor)
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
public void addAuthor(final String userHash, final StateToken token, final String authorShortName)
throws DefaultException {
@@ -155,7 +155,7 @@
}
@Authenticated
- @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor)
+ @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
public StateContentDTO addContent(final String userHash, final StateToken parentToken, final String title,
final String typeId) throws DefaultException {
@@ -170,7 +170,7 @@
}
@Authenticated
- @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor)
+ @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
public StateContainerDTO addFolder(final String userHash, final StateToken parentToken, final String title,
final String contentTypeId) throws DefaultException {
@@ -290,7 +290,7 @@
}
@Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor)
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
public void removeAuthor(final String userHash, final StateToken token, final String authorShortName)
throws DefaultException {
@@ -301,7 +301,7 @@
}
@Authenticated
- @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor)
+ @Authorizated(actionLevel = ActionLevel.container, accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
public String renameContainer(final String userHash, final StateToken token, final String newName)
throws DefaultException {
@@ -309,7 +309,7 @@
}
@Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor)
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
public String renameContent(final String userHash, final StateToken token, final String newName)
throws DefaultException {
@@ -324,7 +324,7 @@
}
@Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor)
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
public void save(final String userHash, final StateToken token, final String textContent) throws DefaultException {
@@ -357,7 +357,7 @@
// }
@Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor)
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
public I18nLanguageDTO setLanguage(final String userHash, final StateToken token, final String languageCode)
throws DefaultException {
@@ -368,7 +368,7 @@
}
@Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor)
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
public void setPublishedOn(final String userHash, final StateToken token, final Date publishedOn)
throws DefaultException {
@@ -396,7 +396,7 @@
}
@Authenticated
- @Authorizated(accessRolRequired = AccessRol.Editor)
+ @Authorizated(accessRolRequired = AccessRol.Editor, mustCheckMembership = false)
@Transactional(type = TransactionType.READ_WRITE)
public TagCloudResultDTO setTags(final String userHash, final StateToken token, final String tags)
throws DefaultException {
Modified: trunk/src/main/java/org/ourproject/kune/wiki/server/WikiServerTool.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/wiki/server/WikiServerTool.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/wiki/server/WikiServerTool.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -87,6 +87,7 @@
public Group initGroup(final User user, final Group group) {
final ToolConfiguration config = new ToolConfiguration();
final Container rootFolder = containerManager.createRootFolder(group, NAME, ROOT_NAME, TYPE_ROOT);
+ setContainerWikiAcl(rootFolder);
config.setRoot(rootFolder);
group.setToolConfig(NAME, config);
configurationManager.persist(config);
@@ -102,14 +103,7 @@
}
public void onCreateContainer(final Container container, final Container parent) {
- if (container.getTypeId().equals(TYPE_FOLDER)) {
- AccessLists wikiAcl = new AccessLists();
- wikiAcl.getAdmins().setMode(GroupListMode.NORMAL);
- wikiAcl.getAdmins().add(container.getOwner());
- wikiAcl.getEditors().setMode(GroupListMode.EVERYONE);
- wikiAcl.getViewers().setMode(GroupListMode.EVERYONE);
- container.setAccessLists(wikiAcl);
- }
+ setContainerWikiAcl(container);
}
public void onCreateContent(final Content content, final Container parent) {
@@ -149,4 +143,13 @@
throw new ContentNotPermittedException();
}
}
+
+ private void setContainerWikiAcl(final Container container) {
+ AccessLists wikiAcl = new AccessLists();
+ wikiAcl.getAdmins().setMode(GroupListMode.NORMAL);
+ wikiAcl.getAdmins().add(container.getOwner());
+ wikiAcl.getEditors().setMode(GroupListMode.EVERYONE);
+ wikiAcl.getViewers().setMode(GroupListMode.EVERYONE);
+ containerManager.setAccessList(container, wikiAcl);
+ }
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -49,7 +49,7 @@
super.getForm().removeAll(true);
fields.clear();
Label label = new Label();
- label.setHtml(i18n.t("Here you can select the tools used in this group:") + "<br/><br/>");
+ label.setHtml(i18n.t("Here you can select the tools used:") + "<br/><br/>");
super.add(label);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -3,6 +3,7 @@
import java.util.Collection;
import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.ContentSimpleDTO;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
import org.ourproject.kune.platf.client.rpc.GroupServiceAsync;
@@ -93,11 +94,14 @@
for (String tool : state.getEnabledTools()) {
view.setChecked(tool, true);
}
- String defContentTool = session.getCurrentState().getGroup().getDefaultContent().getStateToken().getTool();
- view.setEnabled(defContentTool, false);
- view.setTooltip(
- defContentTool,
- i18n.t("You cannot disable this tool because it's where the current group home page is located. To do that you have to select other content as the default group home page but in another tool."));
+ ContentSimpleDTO defaultContent = session.getCurrentState().getGroup().getDefaultContent();
+ if (defaultContent != null) {
+ String defContentTool = defaultContent.getStateToken().getTool();
+ view.setEnabled(defContentTool, false);
+ view.setTooltip(
+ defContentTool,
+ i18n.t("You cannot disable this tool because it's where the current group home page is located. To do that you have to select other content as the default group home page but in another tool."));
+ }
}
private void setToolCheckedInServer(final boolean checked, final String toolName) {
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -25,6 +25,7 @@
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
import org.ourproject.kune.platf.client.dto.StateContentDTO;
+import org.ourproject.kune.platf.client.registry.AuthorableRegistry;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
@@ -38,12 +39,14 @@
private final I18nTranslationService i18n;
private final boolean showLanguage;
private final Session session;
+ private final AuthorableRegistry authorableRegistry;
public EntitySubTitlePresenter(final I18nTranslationService i18n, final StateManager stateManager, Session session,
- boolean showLanguage) {
+ boolean showLanguage, AuthorableRegistry authorableRegistry) {
this.i18n = i18n;
this.session = session;
this.showLanguage = showLanguage;
+ this.authorableRegistry = authorableRegistry;
stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
public void onEvent(final StateAbstractDTO state) {
if (state instanceof StateContentDTO) {
@@ -106,15 +109,19 @@
}
private void setState(final StateContainerDTO state) {
- view.setContentSubTitleRightVisible(false);
+ view.setContentSubTitleLeftVisible(false);
setLanguage(state);
setContentDateVisible(false);
}
private void setState(final StateContentDTO state) {
- view.setContentSubTitleLeft(i18n.tWithNT("by: [%s]", "used in a list of authors",
- state.getAuthors().get(0).getName()));
- view.setContentSubTitleLeftVisible(true);
+ if (authorableRegistry.contains(state.getTypeId())) {
+ view.setContentSubTitleLeft(i18n.tWithNT("by: [%s]", "used in a list of authors",
+ state.getAuthors().get(0).getName()));
+ view.setContentSubTitleLeftVisible(true);
+ } else {
+ view.setContentSubTitleLeftVisible(false);
+ }
setLanguage(state);
Date publishedOn = state.getPublishedOn();
setContentDate(publishedOn);
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTest.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTest.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -24,6 +24,14 @@
return userService.login(getSiteAdminShortName(), properties.getAdminPassword()).getUserHash();
}
+ protected String doLoginWithDummyUser() throws DefaultException {
+ return userService.login("dummy", properties.getAdminPassword()).getUserHash();
+ }
+
+ protected void doLogout() throws DefaultException {
+ userService.logout(getHash());
+ }
+
protected String getDefLicense() {
return properties.getDefaultLicense();
}
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/IntegrationTestHelper.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -7,6 +7,7 @@
import org.ourproject.kune.platf.server.KunePersistenceService;
import org.ourproject.kune.platf.server.PlatformServerModule;
import org.ourproject.kune.platf.server.properties.PropertiesFileName;
+import org.ourproject.kune.wiki.server.WikiServerModule;
import com.google.inject.AbstractModule;
import com.google.inject.Guice;
@@ -19,7 +20,7 @@
public static Injector createInjector() {
final Injector injector = Guice.createInjector(new PlatformServerModule(), new DocumentServerModule(),
- new ChatServerModule(), new AbstractModule() {
+ new ChatServerModule(), new WikiServerModule(), new AbstractModule() {
@Override
protected void configure() {
bindScope(SessionScoped.class, Scopes.SINGLETON);
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceAddTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceAddTest.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceAddTest.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -19,6 +19,7 @@
import org.ourproject.kune.platf.client.errors.ContentNotFoundException;
import org.ourproject.kune.platf.client.errors.UserMustBeLoggedException;
import org.ourproject.kune.platf.integration.IntegrationTestHelper;
+import org.ourproject.kune.wiki.server.WikiServerTool;
public class ContentServiceAddTest extends ContentServiceIntegrationTest {
@@ -65,7 +66,6 @@
final StateContentDTO sameAgain = (StateContentDTO) contentService.getContent(session.getHash(), newState);
assertNotNull(sameAgain);
assertEquals(2, sameAgain.getContainer().getContents().size());
-
}
@Test
@@ -122,4 +122,30 @@
assertEquals(2, parentAgain.getChilds().size());
}
+ @Test
+ public void testAddWikiContent() throws Exception {
+ doLogin();
+
+ StateToken wikiToken = new StateToken(super.getDefSiteGroupName(), WikiServerTool.NAME);
+ StateContainerDTO wiki = (StateContainerDTO) contentService.getContent(session.getHash(), wikiToken);
+
+ final String title = "New wikipage";
+ final StateContentDTO added = contentService.addContent(session.getHash(), wiki.getStateToken(), title,
+ WikiServerTool.TYPE_WIKIPAGE);
+ assertNotNull(added);
+ ContainerDTO wikiContainer = added.getContainer();
+ final List<ContentSimpleDTO> contents = wikiContainer.getContents();
+ assertEquals(title, added.getTitle());
+ assertEquals(2, contents.size());
+ doLogout();
+
+ doLoginWithDummyUser();
+ contentService.save(getHash(), added.getStateToken(), "some new test");
+ // assertEquals(cntRights, added.getContentRights());
+ // assertEquals(ctxRights, added.getContainerRights());
+ // assertEquals(groupRights, added.getGroupRights());
+ // assertNotNull(added.getGroupMembers());
+ // assertNotNull(added.getParticipation());
+ // assertNotNull(added.getAccessLists());
+ }
}
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceIntegrationTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceIntegrationTest.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/content/ContentServiceIntegrationTest.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -4,6 +4,7 @@
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.rpc.ContentService;
import org.ourproject.kune.platf.integration.IntegrationTest;
+import org.ourproject.kune.workspace.client.site.rpc.UserService;
import com.google.inject.Inject;
@@ -11,6 +12,9 @@
@Inject
protected ContentService contentService;
+ @Inject
+ protected UserService userService;
+
protected StateContentDTO getSiteDefaultContent() throws Exception {
final StateToken stateToken = new StateToken(getDefSiteGroupName());
final StateContentDTO content = (StateContentDTO) contentService.getContent(session.getHash(), stateToken);
Added: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/ContentAddSeleniumTest.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -0,0 +1,18 @@
+package org.ourproject.kune.platf.integration.selenium;
+
+import org.junit.Test;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.workspace.client.entitylogo.EntityLogoPanel;
+
+public class ContentAddSeleniumTest extends KuneSeleniumTestHelper {
+ @Test
+ public void wikiEditByAny() throws Exception {
+ String shortname = "g" + genPrefix();
+ String longName = "testing" + genPrefix();
+ newGroupRegistrationDefLicense(shortname, longName, "some description", "tag1 tag2");
+ waitForTextInside(gid(EntityLogoPanel.LOGO_NAME), longName);
+ open(new StateToken(shortname, ""));
+ signOut();
+ wait(120000);
+ }
+}
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/KuneSeleniumTestHelper.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -7,6 +7,10 @@
import org.junit.After;
import org.junit.Before;
import org.junit.BeforeClass;
+import org.ourproject.kune.platf.client.dto.GroupType;
+import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.workspace.client.WorkspaceMessages;
+import org.ourproject.kune.workspace.client.newgroup.NewGroupPanel;
import org.ourproject.kune.workspace.client.signin.RegisterForm;
import org.ourproject.kune.workspace.client.signin.RegisterPanel;
import org.ourproject.kune.workspace.client.signin.SignInForm;
@@ -58,6 +62,28 @@
this.mustCapture = mustCapture;
}
+ protected void fillNewGroup1stPage(String shortname, String longName, String description, String tags,
+ GroupType groupType) throws Exception {
+ type(NewGroupPanel.SHORTNAME_FIELD, shortname);
+ type(NewGroupPanel.LONGNAME_FIELD, longName);
+ type(NewGroupPanel.PUBLICDESC_FIELD, description);
+ type(NewGroupPanel.TAGS_FIELD, tags);
+ switch (groupType) {
+ case COMMUNITY:
+ click(NewGroupPanel.COMM_GROUP_TYPE_ID);
+ break;
+ case ORGANIZATION:
+ click(NewGroupPanel.ORG_GROUP_TYPE_ID);
+ break;
+ case PROJECT:
+ click(NewGroupPanel.PROJ_GROUP_TYPE_ID);
+ break;
+ default:
+ fail("Invalid group type");
+ break;
+ }
+ }
+
protected long genPrefix() {
long prefix = new Date().getTime();
return prefix;
@@ -69,10 +95,23 @@
}
}
+ protected void newGroupRegistrationDefLicense(String shortname, String longName, String description, String tags)
+ throws Exception {
+ GroupType organization = GroupType.ORGANIZATION;
+ signInAndNewGroup();
+ fillNewGroup1stPage(shortname, longName, description, tags, organization);
+ click(NewGroupPanel.NEXT_BUTTON);
+ click(NewGroupPanel.FINISH_BUTTON);
+ }
+
protected void open(SiteToken token) {
open(KUNE_BASE_URL + token.toString());
}
+ protected void open(StateToken token) {
+ open(KUNE_BASE_URL + token.toString());
+ }
+
@Override
protected void open(String url) {
try {
@@ -139,6 +178,14 @@
click(SignInPanel.SIGN_IN_BUTTON_ID);
}
+ protected void signInAndNewGroup() throws Exception {
+ openDefPage();
+ signIn();
+ open(SiteToken.newgroup);
+ verifyLoggedUserShorName("admin");
+ waitForTextInside(NewGroupPanel.NEWGROUP_WIZARD, WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE);
+ }
+
protected void signOut() {
click("gwt-debug-k-ssolp-lb");
}
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java 2008-12-01 21:05:52 UTC (rev 975)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/selenium/NewGroupSeleniumTest.java 2008-12-02 00:42:41 UTC (rev 976)
@@ -44,49 +44,9 @@
@Test
public void newGroupWithNonOccidentalChars() throws Exception {
- setMustCapture(true);
String longName = "漢語 中文 华语 汉语" + genPrefix();
newGroupRegistrationDefLicense("g" + genPrefix(), longName,
"吗 台湾 六种辅音韵尾 中国政府要求在中国出售的软件必须使用编码 过 国标 名词的复数形式只在代词及多音节", "漢語 中文 华语 汉语");
waitForTextInside(gid(EntityLogoPanel.LOGO_NAME), longName);
}
-
- private void fillNewGroup1stPage(String shortname, String longName, String description, String tags,
- GroupType groupType) throws Exception {
- type(NewGroupPanel.SHORTNAME_FIELD, shortname);
- type(NewGroupPanel.LONGNAME_FIELD, longName);
- type(NewGroupPanel.PUBLICDESC_FIELD, description);
- type(NewGroupPanel.TAGS_FIELD, tags);
- switch (groupType) {
- case COMMUNITY:
- click(NewGroupPanel.COMM_GROUP_TYPE_ID);
- break;
- case ORGANIZATION:
- click(NewGroupPanel.ORG_GROUP_TYPE_ID);
- break;
- case PROJECT:
- click(NewGroupPanel.PROJ_GROUP_TYPE_ID);
- break;
- default:
- fail("Invalid group type");
- break;
- }
- }
-
- private void newGroupRegistrationDefLicense(String shortname, String longName, String description, String tags)
- throws Exception {
- GroupType organization = GroupType.ORGANIZATION;
- signInAndNewGroup();
- fillNewGroup1stPage(shortname, longName, description, tags, organization);
- click(NewGroupPanel.NEXT_BUTTON);
- click(NewGroupPanel.FINISH_BUTTON);
- }
-
- private void signInAndNewGroup() throws Exception {
- openDefPage();
- signIn();
- open(SiteToken.newgroup);
- verifyLoggedUserShorName("admin");
- waitForTextInside(NewGroupPanel.NEWGROUP_WIZARD, WorkspaceMessages.REGISTER_A_NEW_GROUP_TITLE);
- }
}
1
0
Author: vjrj
Date: 2008-12-01 22:05:52 +0100 (Mon, 01 Dec 2008)
New Revision: 975
Added:
trunk/src/main/java/org/ourproject/kune/app/public/css/img/emblem-system.gif
trunk/src/main/java/org/ourproject/kune/platf/client/app/EntityOptionsGroup.java
trunk/src/main/java/org/ourproject/kune/platf/public/images/emblem-system.gif
trunk/src/main/java/org/ourproject/kune/platf/public/images/emblem-system.png
trunk/src/main/java/org/ourproject/kune/workspace/client/options/
trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java
Modified:
trunk/script/generateBasicUIElements.sh
trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java
trunk/src/main/java/org/ourproject/kune/platf/client/dto/InitDataDTO.java
trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java
trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageDescriptor.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageUtils.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/Images.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java
trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java
trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java
trunk/src/main/java/org/ourproject/kune/platf/server/InitData.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java
trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java
trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java
trunk/src/main/java/org/ourproject/kune/platf/server/tool/ServerToolRegistry.java
trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitle.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitleView.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitle.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java
trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitleView.java
trunk/src/test/java/org/ourproject/kune/platf/integration/site/SiteServiceTest.java
Log:
Incomplete - task Abstract and Group options dialog (for user/group preferences)
Modified: trunk/script/generateBasicUIElements.sh
===================================================================
--- trunk/script/generateBasicUIElements.sh 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/script/generateBasicUIElements.sh 2008-12-01 21:05:52 UTC (rev 975)
@@ -9,7 +9,7 @@
if [ $PARAMS -ne 2 ]
then
echo "Use: $0 <packageDirDest> <ClassName>"
- echo "$0 src/main/java/com/calclab/emiteui/client/chatuiplugin/chat ChatUI"
+ echo "$0 src/main/java/org/ourproject/kune/workspace/client/options/ GroupOptions"
exit
fi
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/all.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/all.css 2008-12-01 21:05:52 UTC (rev 975)
@@ -41,4 +41,4 @@
padding: 1px 0px 1px 1px;
text-decoration:none;
}
-*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-bsp-buddie{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-bsp-buddie td{padding:2px 3px;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}
\ No newline at end of file
+*/.k-textlinethrough{text-decoration:line-through;color:red;}.k-textnormal{text-decoration:inherit;color:green;}.k-textunderline{text-decoration:underline;color:gray;}.x-tool-kmenu{background-position:0 -75px;}.x-tool-kmenu-over{background-position:-15px -75px;}.k-border-openbox{border-bottom:1px #D0D0D0 solid;border-right:1px #D0D0D0 solid;border-left:1px #D0D0D0 solid;}/* SiteToastMessages */.k-stm-info-icon{background-image:url(img/info.gif)!important;}.k-stm-imp-icon{background-image:url(img/alert.gif)!important;}.k-stm-verimp-icon{background-image:url(img/important.gif)!important;}.k-stm-error-icon{background-image:url(img/error.gif)!important;}.k-error-tb{background:#FFB380 none repeat scroll 0 50%;color:#250;}.k-infod-head{font-size:108%;margin-bottom:10px;}.gwt-DisclosurePanel{}.gwt-DisclosurePanel-open{}.gwt-DisclosurePanel-closed{}.gwt-DisclosurePanel .header,.gwt-DisclosurePanel .header a,.gwt-DisclosurePanel .header td{text-decoration:none;/* Remove underline from header */color:#000;cursor:pointer;cursor:hand;}.gwt-DisclosurePanel .content{border-left:3px solid #e8eef7;padding:4px 0 4px 8px;margin-left:6px;}.k-bsp-buddie{background:#FAFAFA none repeat scroll 0 50%;border:1px solid #EBEBEB;padding:3px;margin:3px;}.k-bsp-buddie td{padding:2px 3px;}.k-text-gray{color:gray;}.k-elp-limg{margin-top:4px;margin-left:5px;cursor:pointer;}.k-tsp-tag{float:right;margin-right:5px;cursor:pointer;color:#00F;}.k-tsp-cloud{vertical-align:bottom;}.k-options-icon{background-image:url(img/emblem-system.gif)!important;}
\ No newline at end of file
Added: trunk/src/main/java/org/ourproject/kune/app/public/css/img/emblem-system.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/app/public/css/img/emblem-system.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css
===================================================================
--- trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/app/public/css/kune-new.css 2008-12-01 21:05:52 UTC (rev 975)
@@ -812,3 +812,7 @@
vertical-align: bottom;
}
+.k-options-icon {
+ background-image: url(img/emblem-system.gif) !important;
+}
+
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/actions/ActionRegistry.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -40,7 +40,8 @@
public void addAction(final ActionDescriptor<T> action, String... typeIds) {
assert (action != null);
for (final String typeId : typeIds) {
- Log.debug("Registering action '" + action.getText() + "' for " + typeId);
+ String text = action.getText();
+ Log.debug("Registering action " + (text == null ? "with icon" : "'" + text + "'") + " for " + typeId);
final ActionCollection<T> actionColl = getActions(typeId);
actionColl.add(action);
}
Added: trunk/src/main/java/org/ourproject/kune/platf/client/app/EntityOptionsGroup.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/app/EntityOptionsGroup.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/app/EntityOptionsGroup.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,37 @@
+/*
+ *
+ * Copyright (C) 2007-2008 The kune development team (see CREDITS for details)
+ * This file is part of kune.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */package org.ourproject.kune.platf.client.app;
+
+import com.calclab.suco.client.ioc.Container;
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.ioc.decorator.ProviderCollection;
+import com.calclab.suco.client.ioc.decorator.Singleton;
+
+public class EntityOptionsGroup extends ProviderCollection {
+
+ public EntityOptionsGroup(final Container container) {
+ super(container, Singleton.instance);
+ }
+
+ public void createAll() {
+ for (final Provider<?> p : getProviders()) {
+ p.get();
+ }
+ }
+}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/dto/InitDataDTO.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/dto/InitDataDTO.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/dto/InitDataDTO.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -20,7 +20,6 @@
package org.ourproject.kune.platf.client.dto;
import java.util.ArrayList;
-import java.util.Collection;
import com.google.gwt.user.client.rpc.IsSerializable;
@@ -39,8 +38,8 @@
private String siteLogoUrl;
private String galleryPermittedExtensions;
private String maxFileSizeInMb;
- private Collection<ToolSimpleDTO> userTools;
- private Collection<ToolSimpleDTO> groupTools;
+ private ArrayList<ToolSimpleDTO> userTools;
+ private ArrayList<ToolSimpleDTO> groupTools;
public String getChatDomain() {
return chatDomain;
@@ -66,7 +65,7 @@
return galleryPermittedExtensions;
}
- public Collection<ToolSimpleDTO> getGroupTools() {
+ public ArrayList<ToolSimpleDTO> getGroupTools() {
return groupTools;
}
@@ -98,7 +97,7 @@
return userInfo;
}
- public Collection<ToolSimpleDTO> getUserTools() {
+ public ArrayList<ToolSimpleDTO> getUserTools() {
return userTools;
}
@@ -134,7 +133,7 @@
this.galleryPermittedExtensions = galleryPermittedExtensions;
}
- public void setGroupTools(Collection<ToolSimpleDTO> groupTools) {
+ public void setGroupTools(ArrayList<ToolSimpleDTO> groupTools) {
this.groupTools = groupTools;
}
@@ -166,7 +165,7 @@
this.userInfo = currentUser;
}
- public void setUserTools(Collection<ToolSimpleDTO> userTools) {
+ public void setUserTools(ArrayList<ToolSimpleDTO> userTools) {
this.userTools = userTools;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupService.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -39,4 +39,6 @@
void setSocialNetworkVisibility(String userHash, StateToken groupToken, SocialNetworkVisibilityDTO visibility);
+ void setToolEnabled(String userHash, StateToken groupToken, String toolName, boolean enabled);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/rpc/GroupServiceAsync.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -39,4 +39,7 @@
void setSocialNetworkVisibility(String userHash, StateToken token, SocialNetworkVisibilityDTO visibility,
AsyncCallback<?> asyncCallback);
+ void setToolEnabled(String userHash, StateToken groupToken, String toolName, boolean enabled,
+ AsyncCallback<?> asyncCallback);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageDescriptor.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageDescriptor.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageDescriptor.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -19,5 +19,5 @@
*/package org.ourproject.kune.platf.client.services;
public enum ImageDescriptor {
- accept, add, addGreen, alert, anybody, arrowDownBlack, arrowDownGreen, arrowDownWhite, arrowLeftGreen, arrowRightBlack, arrowRightGreen, arrowRightWhite, arrowUpGreen, bulletAdd, bulletBlack, bulletBlue, bulletDelete, bulletGreen, bulletPink, bulletPurple, bulletRed, bulletStar, bulletToggleMinus, bulletTogglePlus, bulletYellow, button15cblue, button15cdark, button15clight, button15cxlight, button15lblue, button15ldark, button15llight, button15lxlight, button15rblue, button15rdark, button15rlight, button15rxlight, button17cblue, button17cdark, button17clight, button17cxlight, button17lblue, button17ldark, button17llight, button17lxlight, button17rblue, button17rdark, button17rlight, button17rxlight, button20cblue, button20cdark, button20clight, button20cxlight, button20lblue, button20ldark, button20llight, button20lxlight, button20rblue, button20rdark, button20rlight, button20rxlight, buttonArrowDown, buttonHelpBlue, buttonHelpDark, buttonHelpLight, buttonSitebarArrowDown, by80x15, bync80x15, byncnd80x15, byncsa80x15, bynd80x15, bysa80x15, cancel, clear, copyleft, cross, crossDark, del, emblemImportant, error, everybody, fullscreen, gnuFdl, groupDefIcon, groupHome, important, info, infoLight, kuneClose, kuneExternalWindow, kuneHelpTranslationIcon, kuneIcon16, kuneLogo16px, kunePreferences, kuneSearchIco, kuneSearchIcoPush, language, nobody, noCopyleft, nt, opentriangle, personDef, remove, rssIcon, searchIco, spinKuneThundGreen, splitterVertBar, star10, star20, star30, star40, star50, star60, star70, star80, star90, starGrey, starSmallYellow, starVsmallYellow, starYellow, step1, step2, step3, step4, step5, themeChoose, triangle
+ accept, add, addGreen, alert, anybody, arrowDownBlack, arrowDownGreen, arrowDownWhite, arrowLeftGreen, arrowRightBlack, arrowRightGreen, arrowRightWhite, arrowUpGreen, bulletAdd, bulletBlack, bulletBlue, bulletDelete, bulletGreen, bulletPink, bulletPurple, bulletRed, bulletStar, bulletToggleMinus, bulletTogglePlus, bulletYellow, button15cblue, button15cdark, button15clight, button15cxlight, button15lblue, button15ldark, button15llight, button15lxlight, button15rblue, button15rdark, button15rlight, button15rxlight, button17cblue, button17cdark, button17clight, button17cxlight, button17lblue, button17ldark, button17llight, button17lxlight, button17rblue, button17rdark, button17rlight, button17rxlight, button20cblue, button20cdark, button20clight, button20cxlight, button20lblue, button20ldark, button20llight, button20lxlight, button20rblue, button20rdark, button20rlight, button20rxlight, buttonArrowDown, buttonHelpBlue, buttonHelpDark, buttonHelpLight, buttonSitebarArrowDown, by80x15, bync80x15, byncnd80x15, byncsa80x15, bynd80x15, bysa80x15, cancel, clear, copyleft, cross, crossDark, del, emblemImportant, emblemSystem, error, everybody, fullscreen, gnuFdl, groupDefIcon, groupHome, important, info, infoLight, kuneClose, kuneExternalWindow, kuneHelpTranslationIcon, kuneIcon16, kuneLogo16px, kunePreferences, kuneSearchIco, kuneSearchIcoPush, language, nobody, noCopyleft, nt, opentriangle, personDef, remove, rssIcon, searchIco, spinKuneThundGreen, splitterVertBar, star10, star20, star30, star40, star50, star60, star70, star80, star90, starGrey, starSmallYellow, starVsmallYellow, starYellow, step1, step2, step3, step4, step5, themeChoose, triangle
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageUtils.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageUtils.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/ImageUtils.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -267,6 +267,9 @@
case emblemImportant: {
return img.emblemImportant();
}
+ case emblemSystem: {
+ return img.emblemSystem();
+ }
case error: {
return img.error();
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/Images.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/Images.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/Images.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -273,6 +273,9 @@
@Resource("org/ourproject/kune/platf/public/images/emblem-important.png")
AbstractImagePrototype emblemImportant();
+ @Resource("org/ourproject/kune/platf/public/images/emblem-system.png")
+ AbstractImagePrototype emblemSystem();
+
@Resource("org/ourproject/kune/platf/public/images/error.png")
AbstractImagePrototype error();
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneCoreModule.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -19,6 +19,7 @@
*/package org.ourproject.kune.platf.client.services;
import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
+import org.ourproject.kune.platf.client.app.EntityOptionsGroup;
import org.ourproject.kune.platf.client.app.ToolGroup;
import com.calclab.suco.client.ioc.module.AbstractModule;
@@ -29,5 +30,6 @@
public void onInstall() {
registerDecorator(ApplicationComponentGroup.class, new ApplicationComponentGroup(container));
registerDecorator(ToolGroup.class, new ToolGroup(container));
+ registerDecorator(EntityOptionsGroup.class, new EntityOptionsGroup(container));
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneModule.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -506,7 +506,7 @@
public ContextPropEditor create() {
final ContextPropEditorPresenter presenter = new ContextPropEditorPresenter($(Session.class),
$(StateManager.class), $(ContentCapabilitiesRegistry.class), $$(TagsSummary.class),
- $$(ContentServiceAsync.class), $(EntityTitle.class), $(EntitySubTitle.class));
+ $$(ContentServiceAsync.class), $(EntitySubTitle.class));
final ContextPropEditorView view = new ContextPropEditorPanel(presenter,
$(I18nUITranslationService.class), $(WorkspaceSkeleton.class), $$(LanguageSelector.class),
$(Images.class));
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/services/KuneWorkspaceModule.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -27,6 +27,7 @@
import org.ourproject.kune.platf.client.actions.toolbar.ActionGroupSummaryToolbar;
import org.ourproject.kune.platf.client.actions.toolbar.ActionParticipationToolbar;
import org.ourproject.kune.platf.client.app.ApplicationComponentGroup;
+import org.ourproject.kune.platf.client.app.EntityOptionsGroup;
import org.ourproject.kune.platf.client.registry.ContentCapabilitiesRegistry;
import org.ourproject.kune.platf.client.registry.RenamableRegistry;
import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
@@ -52,6 +53,12 @@
import org.ourproject.kune.workspace.client.nohomepage.NoHomePage;
import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePanel;
import org.ourproject.kune.workspace.client.nohomepage.NoHomePagePresenter;
+import org.ourproject.kune.workspace.client.options.EntityOptions;
+import org.ourproject.kune.workspace.client.options.EntityOptionsPanel;
+import org.ourproject.kune.workspace.client.options.EntityOptionsPresenter;
+import org.ourproject.kune.workspace.client.options.EntityOptionsToolsConf;
+import org.ourproject.kune.workspace.client.options.EntityOptionsToolsConfPanel;
+import org.ourproject.kune.workspace.client.options.EntityOptionsToolsConfPresenter;
import org.ourproject.kune.workspace.client.search.GroupLiveSearcher;
import org.ourproject.kune.workspace.client.search.SiteSearcher;
import org.ourproject.kune.workspace.client.site.Site;
@@ -273,10 +280,9 @@
register(ApplicationComponentGroup.class, new Factory<EntityTitle>(EntityTitle.class) {
@Override
public EntityTitle create() {
- final EntityTitlePresenter presenter = new EntityTitlePresenter($(I18nUITranslationService.class),
- $(KuneErrorHandler.class), $(StateManager.class), $(Session.class),
- $$(ContentServiceAsync.class), $$(ContextNavigator.class), $(ContentIconsRegistry.class),
- $(RenamableRegistry.class));
+ final EntityTitlePresenter presenter = new EntityTitlePresenter($(KuneErrorHandler.class),
+ $(StateManager.class), $(Session.class), $$(ContentServiceAsync.class),
+ $$(ContextNavigator.class), $(ContentIconsRegistry.class), $(RenamableRegistry.class));
final EntityTitlePanel panel = new EntityTitlePanel($(WorkspaceSkeleton.class), presenter);
presenter.init(panel);
return presenter;
@@ -287,7 +293,7 @@
@Override
public EntitySubTitle create() {
final EntitySubTitlePresenter presenter = new EntitySubTitlePresenter(
- $(I18nUITranslationService.class), $(StateManager.class), false);
+ $(I18nUITranslationService.class), $(StateManager.class), $(Session.class), false);
final EntitySubTitlePanel panel = new EntitySubTitlePanel(presenter, $(WorkspaceSkeleton.class));
presenter.init(panel);
return presenter;
@@ -412,5 +418,29 @@
}
});
+ register(ApplicationComponentGroup.class, new Factory<EntityOptions>(EntityOptions.class) {
+ @Override
+ public EntityOptions create() {
+ final EntityOptionsPresenter presenter = new EntityOptionsPresenter($(StateManager.class));
+ final EntityOptionsPanel panel = new EntityOptionsPanel(presenter, $(WorkspaceSkeleton.class),
+ $(I18nTranslationService.class), $(Images.class), $(EntityOptionsGroup.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
+ register(EntityOptionsGroup.class, new Factory<EntityOptionsToolsConf>(EntityOptionsToolsConf.class) {
+ @Override
+ public EntityOptionsToolsConf create() {
+ final EntityOptionsToolsConfPresenter presenter = new EntityOptionsToolsConfPresenter(
+ $(StateManager.class), $(Session.class), $(I18nTranslationService.class),
+ $(EntityOptions.class), $$(GroupServiceAsync.class));
+ final EntityOptionsToolsConfPanel panel = new EntityOptionsToolsConfPanel(presenter,
+ $(WorkspaceSkeleton.class), $(I18nTranslationService.class));
+ presenter.init(panel);
+ return presenter;
+ }
+ });
+
}
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/Session.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -37,6 +37,7 @@
*
*/package org.ourproject.kune.platf.client.state;
+import java.util.Collection;
import java.util.List;
import org.ourproject.kune.platf.client.dto.I18nCountryDTO;
@@ -48,6 +49,7 @@
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
import org.ourproject.kune.platf.client.dto.UserInfoDTO;
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
@@ -84,6 +86,8 @@
String getGalleryPermittedExtensions();
+ Collection<ToolSimpleDTO> getGroupTools();
+
List<I18nLanguageSimpleDTO> getLanguages();
Object[][] getLanguagesArray();
@@ -94,6 +98,8 @@
String getUserHash();
+ Collection<ToolSimpleDTO> getUserTools();
+
boolean isLogged();
void onInitDataReceived(Listener<InitDataDTO> listener);
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/state/SessionDefault.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -19,6 +19,7 @@
*/
package org.ourproject.kune.platf.client.state;
+import java.util.Collection;
import java.util.List;
import org.ourproject.kune.platf.client.dto.I18nCountryDTO;
@@ -30,6 +31,7 @@
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.dto.StateToken;
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
import org.ourproject.kune.platf.client.dto.UserInfoDTO;
import org.ourproject.kune.platf.client.dto.UserSimpleDTO;
import org.ourproject.kune.platf.client.rpc.AsyncCallbackSimple;
@@ -113,6 +115,10 @@
return initData.getGalleryPermittedExtensions();
}
+ public Collection<ToolSimpleDTO> getGroupTools() {
+ return initData.getGroupTools();
+ }
+
public List<I18nLanguageSimpleDTO> getLanguages() {
return initData.getLanguages();
}
@@ -139,6 +145,10 @@
return userHash;
}
+ public Collection<ToolSimpleDTO> getUserTools() {
+ return initData.getUserTools();
+ }
+
public boolean isLogged() {
return userHash != null;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/client/ui/dialogs/DefaultForm.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -22,6 +22,7 @@
import com.gwtext.client.widgets.form.Field;
import com.gwtext.client.widgets.form.FieldSet;
import com.gwtext.client.widgets.form.FormPanel;
+import com.gwtext.client.widgets.form.Label;
public class DefaultForm {
@@ -43,6 +44,11 @@
form.setHeader(false);
}
+ public DefaultForm(String title) {
+ this();
+ form.setTitle(title);
+ }
+
public void add(final Field field) {
form.add(field);
}
@@ -51,10 +57,18 @@
form.add(fieldset);
}
+ public void add(Label label) {
+ form.add(label);
+ }
+
public void addStyleName(final String cls) {
form.addStyleName(cls);
}
+ public Field findField(String id) {
+ return form.getForm().findField(id);
+ }
+
public FormPanel getForm() {
return form;
}
@@ -79,6 +93,10 @@
form.setAutoWidth(autoWidth);
}
+ public void setHeight(int height) {
+ form.setHeight(height);
+ }
+
public void setWidth(int width) {
form.setWidth(width);
}
@@ -89,5 +107,4 @@
field.validate();
}
}
-
}
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/emblem-system.gif
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/emblem-system.gif
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Added: trunk/src/main/java/org/ourproject/kune/platf/public/images/emblem-system.png
===================================================================
(Binary files differ)
Property changes on: trunk/src/main/java/org/ourproject/kune/platf/public/images/emblem-system.png
___________________________________________________________________
Name: svn:mime-type
+ application/octet-stream
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/InitData.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/InitData.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/InitData.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -19,7 +19,7 @@
*/
package org.ourproject.kune.platf.server;
-import java.util.Collection;
+import java.util.ArrayList;
import java.util.List;
import org.ourproject.kune.platf.server.domain.I18nCountry;
@@ -43,8 +43,8 @@
private String siteLogoUrl;
private String galleryPermittedExtensions;
private String maxFileSizeInMb;
- private Collection<ToolSimple> userTools;
- private Collection<ToolSimple> groupTools;
+ private ArrayList<ToolSimple> userTools;
+ private ArrayList<ToolSimple> groupTools;
public String getChatDomain() {
return chatDomain;
@@ -70,7 +70,7 @@
return galleryPermittedExtensions;
}
- public Collection<ToolSimple> getGroupTools() {
+ public ArrayList<ToolSimple> getGroupTools() {
return groupTools;
}
@@ -102,7 +102,7 @@
return userInfo;
}
- public Collection<ToolSimple> getUserTools() {
+ public ArrayList<ToolSimple> getUserTools() {
return userTools;
}
@@ -134,7 +134,7 @@
this.galleryPermittedExtensions = galleryPermittedExtensions;
}
- public void setGroupTools(Collection<ToolSimple> groupTools) {
+ public void setGroupTools(ArrayList<ToolSimple> groupTools) {
this.groupTools = groupTools;
}
@@ -166,7 +166,7 @@
this.userInfo = currentUserInfo;
}
- public void setUserTools(Collection<ToolSimple> userTools) {
+ public void setUserTools(ArrayList<ToolSimple> userTools) {
this.userTools = userTools;
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/GroupManager.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -69,4 +69,6 @@
void setGroupLogo(Group group, Content content);
+ void setToolEnabled(User userLogged, String groupShortName, String toolName, boolean enabled);
+
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/manager/impl/GroupManagerDefault.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -43,6 +43,7 @@
import org.ourproject.kune.platf.server.domain.GroupListMode;
import org.ourproject.kune.platf.server.domain.License;
import org.ourproject.kune.platf.server.domain.SocialNetwork;
+import org.ourproject.kune.platf.server.domain.ToolConfiguration;
import org.ourproject.kune.platf.server.domain.User;
import org.ourproject.kune.platf.server.manager.GroupManager;
import org.ourproject.kune.platf.server.properties.DatabaseProperties;
@@ -159,15 +160,15 @@
return finder.findEnabledTools(id);
}
+ public Group getGroupOfUserWithId(final Long userId) {
+ return userId != null ? find(User.class, userId).getUserGroup() : null;
+ }
+
public Group getSiteDefaultGroup() {
final String shortName = properties.getDefaultSiteShortName();
return findByShortName(shortName);
}
- public Group getGroupOfUserWithId(final Long userId) {
- return userId != null ? find(User.class, userId).getUserGroup() : null;
- }
-
public SearchResult<Group> search(final String search) {
return this.search(search, null, null);
}
@@ -197,6 +198,15 @@
}
}
+ public void setToolEnabled(User userLogged, String groupShortName, String tool, boolean enabled) {
+ final Group group = findByShortName(groupShortName);
+ ToolConfiguration toolConfiguration = group.getToolConfiguration(tool);
+ if (toolConfiguration == null) {
+ toolConfiguration = serverToolRegistry.get(tool).initGroup(userLogged, group).getToolConfiguration(tool);
+ }
+ toolConfiguration.setEnabled(enabled);
+ }
+
private void initGroup(final User user, final Group group, Collection<String> toolsToEnable)
throws GroupNameInUseException {
try {
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/rpc/GroupRPC.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -65,18 +65,16 @@
@Transactional(type = TransactionType.READ_WRITE)
public void changeGroupWsTheme(final String userHash, final StateToken groupToken, final String theme)
throws DefaultException {
- final UserSession userSession = getUserSession();
- final User user = userSession.getUser();
+ final User user = getUserLogged();
final Group group = groupManager.findByShortName(groupToken.getGroup());
groupManager.changeWsTheme(user, group, theme);
- };
+ }
@Authenticated
@Transactional(type = TransactionType.READ_WRITE, rollbackOn = DefaultException.class)
public StateToken createNewGroup(final String userHash, final GroupDTO groupDTO, String publicDesc, String tags,
String[] enabledTools) throws DefaultException {
- final UserSession userSession = getUserSession();
- final User user = userSession.getUser();
+ final User user = getUserLogged();
final Group group = mapper.map(groupDTO, Group.class);
final Group newGroup = groupManager.createGroup(group, user);
final Long defContentId = newGroup.getDefaultContent().getId();
@@ -90,7 +88,7 @@
public GroupDTO getGroup(String userHash, StateToken groupToken) {
final Group group = groupManager.findByShortName(groupToken.getGroup());
return mapper.map(group, GroupDTO.class);
- }
+ };
@Authenticated
@Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
@@ -111,6 +109,20 @@
group.getSocialNetwork().setVisibility(SocialNetworkVisibility.valueOf(visibility.toString()));
}
+ @Authenticated
+ @Authorizated(actionLevel = ActionLevel.group, accessRolRequired = AccessRol.Administrator)
+ @Transactional(type = TransactionType.READ_WRITE)
+ public void setToolEnabled(final String userHash, final StateToken groupToken, final String toolName,
+ final boolean enabled) {
+ groupManager.setToolEnabled(getUserLogged(), groupToken.getGroup(), toolName, enabled);
+ }
+
+ private User getUserLogged() {
+ final UserSession userSession = getUserSession();
+ final User user = userSession.getUser();
+ return user;
+ }
+
private UserSession getUserSession() {
return userSessionProvider.get();
}
Modified: trunk/src/main/java/org/ourproject/kune/platf/server/tool/ServerToolRegistry.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/platf/server/tool/ServerToolRegistry.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/platf/server/tool/ServerToolRegistry.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -35,8 +35,6 @@
public static Collection<String> emptyToolList = new ArrayList<String>();
private final HashMap<String, ServerTool> tools;
- // private final List<ToolSimple> toolsForGroupsList;
- // private final List<ToolSimple> toolsForUsersList;
private final HashMap<String, ToolSimple> toolsForUsersMap;
private final HashMap<String, ToolSimple> toolsForGroupsMap;
@@ -44,8 +42,6 @@
tools = new HashMap<String, ServerTool>();
toolsForUsersMap = new HashMap<String, ToolSimple>();
toolsForGroupsMap = new HashMap<String, ToolSimple>();
- // toolsForGroupsList = new ArrayList<ToolSimple>();
- // toolsForUsersList = new ArrayList<ToolSimple>();
}
public Collection<ServerTool> all() {
@@ -56,13 +52,8 @@
return tools.get(toolName);
}
- //
- // public List<ToolSimple> getToolsForGroupsList() {
- // return toolsForGroupsList;
- // }
-
- public Collection<ToolSimple> getToolsForGroups() {
- return toolsForGroupsMap.values();
+ public ArrayList<ToolSimple> getToolsForGroups() {
+ return new ArrayList<ToolSimple>(toolsForGroupsMap.values());
}
public Collection<String> getToolsForGroupsKeys() {
@@ -73,14 +64,10 @@
return toolsForUsersMap.keySet();
}
- public Collection<ToolSimple> getToolsForUsers() {
- return toolsForUsersMap.values();
+ public ArrayList<ToolSimple> getToolsForUsers() {
+ return new ArrayList<ToolSimple>(toolsForUsersMap.values());
}
- // public List<ToolSimple> getToolsForUsersList() {
- // return toolsForUsersList;
- // }
-
public void register(final ServerTool tool) {
String name = tool.getName();
String rootName = tool.getRootName();
@@ -90,13 +77,11 @@
toolsForGroupsMap.put(name, new ToolSimple(name, rootName));
break;
case forUsers:
- // toolsForUsersList.add(new ToolSimple(name, rootName));
toolsForUsersMap.put(name, new ToolSimple(name, rootName));
break;
case forBoth:
toolsForGroupsMap.put(name, new ToolSimple(name, rootName));
toolsForUsersMap.put(name, new ToolSimple(name, rootName));
- // toolsForUsersList.add(new ToolSimple(name, rootName));
break;
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/cxt/ContextPropEditorPresenter.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -36,7 +36,6 @@
import org.ourproject.kune.workspace.client.site.Site;
import org.ourproject.kune.workspace.client.tags.TagsSummary;
import org.ourproject.kune.workspace.client.title.EntitySubTitle;
-import org.ourproject.kune.workspace.client.title.EntityTitle;
import com.calclab.suco.client.ioc.Provider;
@@ -47,20 +46,17 @@
private final Provider<TagsSummary> tagsSummaryProvider;
private final Provider<ContentServiceAsync> contentServiceProvider;
private final EntitySubTitle entitySubTitle;
- private final EntityTitle entityTitle;
private final StateManager stateManager;
private final ContentCapabilitiesRegistry capabilitiesRegistry;
public ContextPropEditorPresenter(final Session session, final StateManager stateManager,
ContentCapabilitiesRegistry capabilitiesRegistry, final Provider<TagsSummary> tagsSummaryProvider,
- final Provider<ContentServiceAsync> contentServiceProvider, final EntityTitle entityTitle,
- final EntitySubTitle entitySubTitle) {
+ final Provider<ContentServiceAsync> contentServiceProvider, final EntitySubTitle entitySubTitle) {
this.session = session;
this.stateManager = stateManager;
this.capabilitiesRegistry = capabilitiesRegistry;
this.tagsSummaryProvider = tagsSummaryProvider;
this.contentServiceProvider = contentServiceProvider;
- this.entityTitle = entityTitle;
this.entitySubTitle = entitySubTitle;
}
@@ -107,7 +103,6 @@
new AsyncCallbackSimple<I18nLanguageDTO>() {
public void onSuccess(final I18nLanguageDTO lang) {
Site.hideProgress();
- entitySubTitle.setContentLanguage(lang.getEnglishName());
}
});
}
@@ -123,7 +118,7 @@
new AsyncCallbackSimple<Object>() {
public void onSuccess(final Object result) {
Site.hideProgress();
- entityTitle.setContentDate(publishedOn);
+ entitySubTitle.setContentDate(publishedOn);
}
});
}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsPanel.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,97 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.dialogs.BasicDialog;
+import org.ourproject.kune.platf.client.ui.dialogs.MessageToolbar;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+
+import com.gwtext.client.widgets.Panel;
+import com.gwtext.client.widgets.TabPanel;
+
+public abstract class AbstractOptionsPanel {
+ private BasicDialog dialog;
+ private MessageToolbar messageErrorBar;
+ private TabPanel tabPanel;
+ private final String title;
+ private final int width;
+ private final int height;
+ private final int minWidth;
+ private final int minHeight;
+ private final Images images;
+ private final String errorLabelId;
+ private String iconCls;
+
+ public AbstractOptionsPanel(String title, int width, int height, int minWidth, int minHeight, Images images,
+ String errorLabelId) {
+ this.title = title;
+ this.width = width;
+ this.height = height;
+ this.minWidth = minWidth;
+ this.minHeight = minHeight;
+ this.images = images;
+ this.errorLabelId = errorLabelId;
+ }
+
+ public void addTab(Panel newTab) {
+ createDialogIfNecessary();
+ tabPanel.add(newTab);
+ }
+
+ public void doLayoutIfNeeded() {
+ if (dialog.isRendered()) {
+ dialog.doLayout(false);
+ }
+ }
+
+ public void hide() {
+ createDialogIfNecessary();
+ dialog.hide();
+ }
+
+ public void hideMessages() {
+ messageErrorBar.hideErrorMessage();
+ }
+
+ public boolean isVisible() {
+ createDialogIfNecessary();
+ return dialog.isVisible();
+ }
+
+ public void setErrorMessage(final String message, final SiteErrorType type) {
+ messageErrorBar.setErrorMessage(message, type);
+ }
+
+ public void setFirstTabActive() {
+ tabPanel.setActiveTab(1);
+ }
+
+ public void setIconCls(String iconCls) {
+ this.iconCls = iconCls;
+ if (dialog != null) {
+ dialog.setIconCls(iconCls);
+ }
+ }
+
+ public void show() {
+ createDialogIfNecessary();
+ dialog.show();
+ }
+
+ private void createDialog() {
+ dialog = new BasicDialog(title, false, true, width, height, minWidth, minHeight);
+ messageErrorBar = new MessageToolbar(images, errorLabelId);
+ dialog.setBottomToolbar(messageErrorBar.getToolbar());
+ tabPanel = new TabPanel();
+ tabPanel.setBorder(false);
+ dialog.add(tabPanel);
+ if (iconCls != null) {
+ dialog.setIconCls(iconCls);
+ }
+ }
+
+ private void createDialogIfNecessary() {
+ if (dialog == null) {
+ createDialog();
+ }
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/AbstractOptionsView.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,11 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+
+public interface AbstractOptionsView {
+
+ void hideMessages();
+
+ void setErrorMessage(final String message, final SiteErrorType type);
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptions.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,9 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface EntityOptions extends AbstractOptionsView {
+
+ void addOptionTab(View view);
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPanel.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,71 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.app.EntityOptionsGroup;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.services.Images;
+import org.ourproject.kune.platf.client.ui.KuneUiUtils;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+import org.ourproject.kune.workspace.client.skel.SimpleToolbar;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.google.gwt.user.client.ui.ClickListener;
+import com.google.gwt.user.client.ui.PushButton;
+import com.google.gwt.user.client.ui.Widget;
+import com.gwtext.client.widgets.Panel;
+
+public class EntityOptionsPanel extends AbstractOptionsPanel implements EntityOptionsView {
+
+ public static final String GROUP_OPTIONS_ERROR_ID = "gop-err-mess";
+ private final I18nTranslationService i18n;
+ private final WorkspaceSkeleton ws;
+ private PushButton optionsButton;
+ private final Images images;
+ private final EntityOptionsGroup entityPreferencesGroup;
+
+ public EntityOptionsPanel(final EntityOptionsPresenter presenter, final WorkspaceSkeleton ws,
+ I18nTranslationService i18n, Images images, EntityOptionsGroup entityOptionsGroup) {
+ super(i18n.t("Group options"), 400, 250, 400, 250, images, GROUP_OPTIONS_ERROR_ID);
+ this.ws = ws;
+ this.i18n = i18n;
+ this.images = images;
+ this.entityPreferencesGroup = entityOptionsGroup;
+ super.setIconCls("k-options-icon");
+ createOptionsButton();
+ }
+
+ public void addOptionTab(View view) {
+ if (view instanceof Panel) {
+ super.addTab((Panel) view);
+ } else if (view instanceof DefaultForm) {
+ super.addTab(((DefaultForm) view).getForm());
+ } else {
+ Log.error("Programatic error: Unexpected element added to GroupOptions");
+ }
+ doLayoutIfNeeded();
+ }
+
+ public void setButtonVisible(boolean visible) {
+ optionsButton.setVisible(visible);
+ }
+
+ private void createOptionsButton() {
+ optionsButton = new PushButton(images.emblemSystem().createImage(), new ClickListener() {
+ public void onClick(Widget arg0) {
+ if (isVisible()) {
+ hide();
+ } else {
+ entityPreferencesGroup.createAll();
+ show();
+ setFirstTabActive();
+ }
+ }
+ });
+ KuneUiUtils.setQuickTip(optionsButton, i18n.t("Show/hide the group options dialog"));
+
+ optionsButton.addStyleName("kune-Margin-Medium-r");
+ final SimpleToolbar wsTitle = ws.getEntityWorkspace().getTitleComponent();
+ wsTitle.add(optionsButton);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsPresenter.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,45 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+
+import com.calclab.suco.client.listener.Listener;
+
+public class EntityOptionsPresenter implements EntityOptions {
+
+ private EntityOptionsView view;
+
+ public EntityOptionsPresenter(StateManager stateManager) {
+ stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
+ public void onEvent(StateAbstractDTO parameter) {
+ if (parameter.getGroupRights().isAdministrable()) {
+ view.setButtonVisible(true);
+ } else {
+ view.setButtonVisible(false);
+ }
+ }
+ });
+ }
+
+ public void addOptionTab(View tab) {
+ view.addOptionTab(tab);
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void hideMessages() {
+ view.hideMessages();
+ }
+
+ public void init(EntityOptionsView view) {
+ this.view = view;
+ }
+
+ public void setErrorMessage(String message, SiteErrorType type) {
+ view.setErrorMessage(message, type);
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConf.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,5 @@
+package org.ourproject.kune.workspace.client.options;
+
+public interface EntityOptionsToolsConf {
+
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPanel.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,93 @@
+package org.ourproject.kune.workspace.client.options;
+
+import java.util.HashMap;
+
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.ui.dialogs.DefaultForm;
+import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
+
+import com.allen_sauer.gwt.log.client.Log;
+import com.gwtext.client.widgets.ToolTip;
+import com.gwtext.client.widgets.form.Checkbox;
+import com.gwtext.client.widgets.form.Hidden;
+import com.gwtext.client.widgets.form.Label;
+import com.gwtext.client.widgets.form.event.CheckboxListenerAdapter;
+
+public class EntityOptionsToolsConfPanel extends DefaultForm implements EntityOptionsToolsConfView {
+
+ private final EntityOptionsToolsConfPresenter presenter;
+ private final HashMap<String, Checkbox> fields;
+ private final I18nTranslationService i18n;
+
+ public EntityOptionsToolsConfPanel(final EntityOptionsToolsConfPresenter presenter, final WorkspaceSkeleton ws,
+ I18nTranslationService i18n) {
+ super(i18n.t("Tools"));
+ this.i18n = i18n;
+ super.setAutoWidth(true);
+ super.setAutoHeight(true);
+ super.add(new Hidden());
+ super.getForm().setLabelWidth(20);
+ this.presenter = presenter;
+ fields = new HashMap<String, Checkbox>();
+ }
+
+ public void add(final ToolSimpleDTO tool) {
+ Checkbox checkbox = new Checkbox(tool.getRootName(), new CheckboxListenerAdapter() {
+ @Override
+ public void onCheck(Checkbox field, boolean checked) {
+ presenter.onCheck(tool, checked);
+ }
+ });
+ checkbox.setChecked(false);
+ super.add(checkbox);
+ fields.put(tool.getName(), checkbox);
+ doLayoutIfNeeded();
+ }
+
+ public void clear() {
+ super.getForm().removeAll(true);
+ fields.clear();
+ Label label = new Label();
+ label.setHtml(i18n.t("Here you can select the tools used in this group:") + "<br/><br/>");
+ super.add(label);
+ }
+
+ public void setChecked(String tool, boolean checked) {
+ Checkbox field = getTool(tool);
+ field.setValue(checked);
+ }
+
+ public void setEnabled(String tool, boolean enabled) {
+ Checkbox field = getTool(tool);
+ if (enabled) {
+ field.enable();
+ } else {
+ field.disable();
+ }
+ }
+
+ public void setTooltip(String tool, String tip) {
+ Checkbox field = getTool(tool);
+ ToolTip tooltip = new ToolTip();
+ tooltip.setHtml(tip);
+ tooltip.setWidth(250);
+ tooltip.applyTo(field);
+ field.setTitle(tip);
+ doLayoutIfNeeded();
+ }
+
+ private void doLayoutIfNeeded() {
+ if (super.getForm().isRendered()) {
+ super.getForm().doLayout();
+ }
+ }
+
+ private Checkbox getTool(String tool) {
+ Checkbox field = fields.get(tool);
+ if (field == null) {
+ Log.error("Field " + tool + " not found in EOTCP");
+ }
+ return field;
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfPresenter.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,116 @@
+package org.ourproject.kune.workspace.client.options;
+
+import java.util.Collection;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
+import org.ourproject.kune.platf.client.rpc.GroupServiceAsync;
+import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.state.Session;
+import org.ourproject.kune.platf.client.state.StateManager;
+import org.ourproject.kune.workspace.client.newgroup.SiteErrorType;
+
+import com.calclab.suco.client.ioc.Provider;
+import com.calclab.suco.client.listener.Listener2;
+import com.google.gwt.user.client.rpc.AsyncCallback;
+
+public class EntityOptionsToolsConfPresenter implements EntityOptionsToolsConf {
+
+ private EntityOptionsToolsConfView view;
+ private final Session session;
+ private final EntityOptions entityOptions;
+ private final Provider<GroupServiceAsync> groupServiceProvider;
+ private final I18nTranslationService i18n;
+ private final StateManager stateManager;
+
+ public EntityOptionsToolsConfPresenter(StateManager stateManager, Session session, I18nTranslationService i18n,
+ EntityOptions entityOptions, Provider<GroupServiceAsync> groupServiceProvider) {
+ this.stateManager = stateManager;
+ this.session = session;
+ this.i18n = i18n;
+ this.entityOptions = entityOptions;
+ this.groupServiceProvider = groupServiceProvider;
+ stateManager.onGroupChanged(new Listener2<String, String>() {
+ public void onEvent(String group1, String group2) {
+ setState();
+ }
+ });
+ }
+
+ public View getView() {
+ return view;
+ }
+
+ public void init(EntityOptionsToolsConfView view) {
+ this.view = view;
+ setState();
+ entityOptions.addOptionTab(view);
+ }
+
+ public void onCheck(ToolSimpleDTO tool, boolean checked) {
+ StateAbstractDTO state = session.getCurrentState();
+ String toolName = tool.getName();
+ if (checked) {
+ if (!(state.getEnabledTools().contains(toolName))) {
+ // Log.info("Tool " + tool.getName() + " checked: " + checked +
+ // " enabled tools: "
+ // + state.getEnabledTools().toString());
+ setToolCheckedInServer(checked, toolName);
+ } else {
+ // do nothing
+ }
+ } else {
+ if (state.getEnabledTools().contains(tool.getName())) {
+ // Log.info("Tool " + tool.getName() + " checked: " + checked);
+ setToolCheckedInServer(checked, toolName);
+ if (session.getCurrentStateToken().getTool().equals(toolName)) {
+ stateManager.gotoToken(session.getCurrentState().getGroup().getDefaultContent().getStateToken());
+ }
+ }
+ }
+ }
+
+ private void reset() {
+ // TODO Auto-generated method stub
+ view.clear();
+ entityOptions.hideMessages();
+ }
+
+ private void setState() {
+ StateAbstractDTO state = session.getCurrentState();
+ reset();
+ Collection<ToolSimpleDTO> toolCollection;
+ if (state.getGroup().isPersonalGroup()) {
+ toolCollection = session.getUserTools();
+ } else {
+ toolCollection = session.getGroupTools();
+ }
+ for (ToolSimpleDTO tool : toolCollection) {
+ view.add(tool);
+ view.setEnabled(tool.getName(), true);
+ }
+ for (String tool : state.getEnabledTools()) {
+ view.setChecked(tool, true);
+ }
+ String defContentTool = session.getCurrentState().getGroup().getDefaultContent().getStateToken().getTool();
+ view.setEnabled(defContentTool, false);
+ view.setTooltip(
+ defContentTool,
+ i18n.t("You cannot disable this tool because it's where the current group home page is located. To do that you have to select other content as the default group home page but in another tool."));
+ }
+
+ private void setToolCheckedInServer(final boolean checked, final String toolName) {
+ groupServiceProvider.get().setToolEnabled(session.getUserHash(), session.getCurrentStateToken(), toolName,
+ checked, new AsyncCallback<Object>() {
+ public void onFailure(Throwable caught) {
+ view.setChecked(toolName, !checked);
+ entityOptions.setErrorMessage(i18n.t("Error configuring the tool"), SiteErrorType.error);
+ }
+
+ public void onSuccess(Object result) {
+ stateManager.reload();
+ }
+ });
+ }
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsToolsConfView.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,17 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.View;
+import org.ourproject.kune.platf.client.dto.ToolSimpleDTO;
+
+public interface EntityOptionsToolsConfView extends View {
+
+ void add(ToolSimpleDTO tool);
+
+ void clear();
+
+ void setChecked(String tool, boolean checked);
+
+ void setEnabled(String tool, boolean enabled);
+
+ void setTooltip(String tool, String tip);
+}
Added: trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/options/EntityOptionsView.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -0,0 +1,10 @@
+package org.ourproject.kune.workspace.client.options;
+
+import org.ourproject.kune.platf.client.View;
+
+public interface EntityOptionsView extends View, AbstractOptionsView {
+
+ void addOptionTab(View tab);
+
+ void setButtonVisible(boolean visible);
+}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitle.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitle.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitle.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -18,8 +18,10 @@
*
*/package org.ourproject.kune.workspace.client.title;
+import java.util.Date;
+
public interface EntitySubTitle {
- void setContentLanguage(String langName);
+ void setContentDate(Date publishedOn);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitlePresenter.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -19,24 +19,30 @@
*/
package org.ourproject.kune.workspace.client.title;
+import java.util.Date;
+
import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
import org.ourproject.kune.platf.client.dto.StateContainerDTO;
import org.ourproject.kune.platf.client.dto.StateContentDTO;
import org.ourproject.kune.platf.client.services.I18nTranslationService;
+import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
import com.calclab.suco.client.listener.Listener;
+import com.google.gwt.i18n.client.DateTimeFormat;
public class EntitySubTitlePresenter implements EntitySubTitle {
private EntitySubTitleView view;
private final I18nTranslationService i18n;
private final boolean showLanguage;
+ private final Session session;
- public EntitySubTitlePresenter(final I18nTranslationService i18n, final StateManager stateManager,
+ public EntitySubTitlePresenter(final I18nTranslationService i18n, final StateManager stateManager, Session session,
boolean showLanguage) {
this.i18n = i18n;
+ this.session = session;
this.showLanguage = showLanguage;
stateManager.onStateChanged(new Listener<StateAbstractDTO>() {
public void onEvent(final StateAbstractDTO state) {
@@ -60,12 +66,35 @@
this.view = view;
}
+ public void setContentDate(final Date publishedOn) {
+ if (publishedOn != null) {
+ String dateFormat = session.getCurrentLanguage().getDateFormat();
+ final DateTimeFormat fmt;
+ if (dateFormat == null) {
+ fmt = DateTimeFormat.getFormat("M/d/yyyy h:mm a");
+ } else {
+ String abrevMonthInEnglish = DateTimeFormat.getFormat("MMM").format(publishedOn);
+ String monthToTranslate = abrevMonthInEnglish + " [%NT abbreviated month]";
+ dateFormat = dateFormat.replaceFirst("MMM", "'" + i18n.t(monthToTranslate) + "'");
+ fmt = DateTimeFormat.getFormat(dateFormat + " h:mm a");
+ }
+ view.setContentSubTitleRight(i18n.t("Published on: [%s]", fmt.format(publishedOn)));
+ setContentDateVisible(true);
+ } else {
+ setContentDateVisible(false);
+ }
+ }
+
public void setContentLanguage(final String langName) {
if (showLanguage) {
view.setContentSubTitleRight(i18n.t("Language: [%s]", langName));
}
}
+ private void setContentDateVisible(final boolean visible) {
+ view.setContentSubTitleRightVisible(visible);
+ }
+
private void setLanguage(final StateContainerDTO state) {
if (state.getLanguage() != null && showLanguage) {
final String langName = state.getLanguage().getEnglishName();
@@ -77,8 +106,9 @@
}
private void setState(final StateContainerDTO state) {
- view.setContentSubTitleLeftVisible(false);
+ view.setContentSubTitleRightVisible(false);
setLanguage(state);
+ setContentDateVisible(false);
}
private void setState(final StateContentDTO state) {
@@ -86,6 +116,8 @@
state.getAuthors().get(0).getName()));
view.setContentSubTitleLeftVisible(true);
setLanguage(state);
+ Date publishedOn = state.getPublishedOn();
+ setContentDate(publishedOn);
}
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitleView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitleView.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntitySubTitleView.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -25,9 +25,10 @@
void setContentSubTitleLeft(String subTitle);
+ void setContentSubTitleLeftVisible(boolean visible);
+
void setContentSubTitleRight(String subTitle);
- void setContentSubTitleLeftVisible(boolean visible);
+ void setContentSubTitleRightVisible(boolean visible);
- void setContentSubTitleRightVisible(boolean visible);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitle.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitle.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitle.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -18,12 +18,9 @@
*
*/package org.ourproject.kune.workspace.client.title;
-import java.util.Date;
public interface EntityTitle {
- void setContentDate(Date publishedOn);
-
void setContentTitle(String title);
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePanel.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -25,12 +25,10 @@
import org.ourproject.kune.workspace.client.skel.WorkspaceSkeleton;
import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.Label;
public class EntityTitlePanel implements EntityTitleView {
public static final String ENTITY_TITLE_RIGHT_TITLE = "k-entity-title-title";
private final EditableIconLabel titleLabel;
- private final Label dateLabel;
private final Image icon;
public EntityTitlePanel(final WorkspaceSkeleton ws, final EntityTitlePresenter presenter) {
@@ -40,20 +38,16 @@
presenter.onTitleRename(text);
}
});
- dateLabel = new Label();
final SimpleToolbar wsTitle = ws.getEntityWorkspace().getTitleComponent();
wsTitle.add(icon);
wsTitle.add(titleLabel);
wsTitle.addFill();
- wsTitle.add(dateLabel);
+ // wsTitle.add(dateLabel);
icon.addStyleName("kune-Margin-Large-l");
titleLabel.addStyleName("kune-Margin-Medium-l");
titleLabel.addStyleName("kune-ft17px");
titleLabel.ensureDebugId(ENTITY_TITLE_RIGHT_TITLE);
- dateLabel.addStyleName("kune-Margin-Large-r");
- dateLabel.addStyleName("kune-ft12px");
- dateLabel.ensureDebugId("k-entity-title-date");
icon.setVisible(false);
}
@@ -61,10 +55,6 @@
titleLabel.restoreOldText();
}
- public void setContentDate(final String date) {
- dateLabel.setText(date);
- }
-
public void setContentIcon(final String iconUrl) {
icon.setUrl(iconUrl);
}
@@ -92,8 +82,4 @@
titleLabel.setVisible(visible);
}
- public void setDateVisible(final boolean visible) {
- dateLabel.setVisible(visible);
- }
-
}
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitlePresenter.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -19,8 +19,6 @@
*/
package org.ourproject.kune.workspace.client.title;
-import java.util.Date;
-
import org.ourproject.kune.platf.client.View;
import org.ourproject.kune.platf.client.actions.ContentIconsRegistry;
import org.ourproject.kune.platf.client.dto.StateAbstractDTO;
@@ -29,7 +27,6 @@
import org.ourproject.kune.platf.client.dto.StateToken;
import org.ourproject.kune.platf.client.registry.RenamableRegistry;
import org.ourproject.kune.platf.client.rpc.ContentServiceAsync;
-import org.ourproject.kune.platf.client.services.I18nTranslationService;
import org.ourproject.kune.platf.client.services.KuneErrorHandler;
import org.ourproject.kune.platf.client.state.Session;
import org.ourproject.kune.platf.client.state.StateManager;
@@ -38,13 +35,11 @@
import com.calclab.suco.client.ioc.Provider;
import com.calclab.suco.client.listener.Listener;
-import com.google.gwt.i18n.client.DateTimeFormat;
import com.google.gwt.user.client.rpc.AsyncCallback;
public class EntityTitlePresenter implements EntityTitle {
private EntityTitleView view;
- private final I18nTranslationService i18n;
private final KuneErrorHandler errorHandler;
private final Provider<ContentServiceAsync> contentServiceProvider;
private final Session session;
@@ -52,12 +47,10 @@
private final ContentIconsRegistry iconsRegistry;
private final RenamableRegistry renamableContentRegistry;
- public EntityTitlePresenter(final I18nTranslationService i18n, final KuneErrorHandler errorHandler,
- final StateManager stateManager, final Session session,
- final Provider<ContentServiceAsync> contentServiceProvider,
+ public EntityTitlePresenter(final KuneErrorHandler errorHandler, final StateManager stateManager,
+ final Session session, final Provider<ContentServiceAsync> contentServiceProvider,
final Provider<ContextNavigator> contextNavigatorProvider, final ContentIconsRegistry iconsRegistry,
RenamableRegistry renamableContentRegistry) {
- this.i18n = i18n;
this.errorHandler = errorHandler;
this.session = session;
this.contentServiceProvider = contentServiceProvider;
@@ -73,7 +66,6 @@
} else {
view.setContentIconVisible(false);
view.setContentTitleVisible(false);
- view.setDateVisible(false);
}
}
});
@@ -87,25 +79,6 @@
this.view = view;
}
- public void setContentDate(final Date publishedOn) {
- if (publishedOn != null) {
- String dateFormat = session.getCurrentLanguage().getDateFormat();
- final DateTimeFormat fmt;
- if (dateFormat == null) {
- fmt = DateTimeFormat.getFormat("M/d/yyyy h:mm a");
- } else {
- String abrevMonthInEnglish = DateTimeFormat.getFormat("MMM").format(publishedOn);
- String monthToTranslate = abrevMonthInEnglish + " [%NT abbreviated month]";
- dateFormat = dateFormat.replaceFirst("MMM", "'" + i18n.t(monthToTranslate) + "'");
- fmt = DateTimeFormat.getFormat(dateFormat + " h:mm a");
- }
- view.setContentDate(i18n.t("Published on: [%s]", fmt.format(publishedOn)));
- setContentDateVisible(true);
- } else {
- setContentDateVisible(false);
- }
- }
-
/**
* Used renaming from context
*/
@@ -137,10 +110,6 @@
Site.hideProgress();
}
- private void setContentDateVisible(final boolean visible) {
- view.setDateVisible(visible);
- }
-
private void setContentTitle(final String title, final boolean editable) {
setContentTitle(title);
view.setContentTitleEditable(editable);
@@ -159,7 +128,6 @@
private void setState(final StateContainerDTO state) {
setContentTitle(state.getTitle(), state.getContainerRights().isEditable()
&& renamableContentRegistry.contains(state.getContainer().getTypeId()));
- setContentDateVisible(false);
final String contentTypeIcon = iconsRegistry.getContentTypeIcon(state.getTypeId(), null);
setIcon(contentTypeIcon);
view.setContentTitleVisible(true);
@@ -168,8 +136,6 @@
private void setState(final StateContentDTO state) {
setContentTitle(state.getTitle(), state.getContentRights().isEditable()
&& renamableContentRegistry.contains(state.getTypeId()));
- Date publishedOn = state.getPublishedOn();
- setContentDate(publishedOn);
final String contentTypeIcon = iconsRegistry.getContentTypeIcon(state.getTypeId(), state.getMimeType());
setIcon(contentTypeIcon);
view.setContentTitleVisible(true);
Modified: trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitleView.java
===================================================================
--- trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitleView.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/main/java/org/ourproject/kune/workspace/client/title/EntityTitleView.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -25,8 +25,6 @@
void restoreOldTitle();
- void setContentDate(String date);
-
void setContentIcon(String iconUrl);
void setContentIconVisible(boolean visible);
@@ -37,6 +35,4 @@
void setContentTitleVisible(boolean visible);
- void setDateVisible(boolean visible);
-
}
Modified: trunk/src/test/java/org/ourproject/kune/platf/integration/site/SiteServiceTest.java
===================================================================
--- trunk/src/test/java/org/ourproject/kune/platf/integration/site/SiteServiceTest.java 2008-12-01 10:07:15 UTC (rev 974)
+++ trunk/src/test/java/org/ourproject/kune/platf/integration/site/SiteServiceTest.java 2008-12-01 21:05:52 UTC (rev 975)
@@ -44,6 +44,10 @@
assertTrue(initData.getCountries().size() > 0);
assertNotNull(initData.getLanguages().get(0).getCode());
assertNotNull(initData.getCountries().get(0).getCode());
+ assertNotNull(initData.getGroupTools());
+ assertNotNull(initData.getUserTools());
+ assertTrue(initData.getGroupTools().size() > 0);
+ assertTrue(initData.getUserTools().size() > 0);
}
private void assertValidLicenseDTOList(final ArrayList<LicenseDTO> licenseList) {
1
0
Author: vjrj
Date: 2008-12-01 11:07:15 +0100 (Mon, 01 Dec 2008)
New Revision: 974
Modified:
trunk/DEV-GUIDE
Log:
DEV-GUIDE updated with M2_REPO
Modified: trunk/DEV-GUIDE
===================================================================
--- trunk/DEV-GUIDE 2008-11-30 23:11:28 UTC (rev 973)
+++ trunk/DEV-GUIDE 2008-12-01 10:07:15 UTC (rev 974)
@@ -6,8 +6,12 @@
Install kune (see INSTALL file).
-mvn eclipse:eclipse generates .project and download necessary code jars.
+Running (in the trunk directory)
+ mvn eclipse:eclipse
+generates .project and download necessary code jars. Then you can import the project in eclipse (File > Import > Existing Projects into Workspace).
+Also you have to set the variable M2_REPO (Eclipse Preferences > Java > Build Path > Classpath Variables > New) to the location of your local maven repo (in our case /home/ouruser/.m2/repository).
+
GWT Hosted Mode:
We have a "Run configuration" (Run > Open Run Dialog) in eclipse with Project: "org.ourproject.kune" with Main class: "com.google.gwt.dev.GWTShell", with this program arguments (or similar): "-noserver -out gwt-out /kune/?locale=en&log_level=INFO -port 8080" and in the "Classpath User Entries":
1
0