r1415 - in trunk: . src/main/java/cc/kune/barters/client/actions src/main/java/cc/kune/blogs/client src/main/java/cc/kune/blogs/client/actions src/main/java/cc/kune/chat/client/actions src/main/java/cc/kune/common/client/actions/gwtui src/main/java/cc/kune/common/client/actions/ui src/main/java/cc/kune/common/public src/main/java/cc/kune/core/client/actions src/main/java/cc/kune/core/client/sn/actions/registry src/main/java/cc/kune/docs/client src/main/java/cc/kune/docs/client/actions src/mai
Author: vjrj_ Date: 2011-06-24 03:51:23 +0200 (Fri, 24 Jun 2011) New Revision: 1415 Added: trunk/src/main/java/cc/kune/blogs/client/actions/NewPostMenuItem.java trunk/src/main/java/cc/kune/docs/client/actions/NewDocMenuItem.java trunk/src/main/java/cc/kune/docs/client/actions/NewFolderMenuItem.java trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerMenuItem.java trunk/src/main/java/cc/kune/gspace/client/actions/NewContentMenuItem.java trunk/src/main/java/cc/kune/gspace/client/actions/NewMenuProvider.java trunk/src/main/java/cc/kune/wiki/client/actions/WikiFolderNewMenu.java Removed: trunk/src/main/java/cc/kune/blogs/client/actions/NewPostBtn.java trunk/src/main/java/cc/kune/docs/client/actions/DocsRootNewMenu.java trunk/src/main/java/cc/kune/docs/client/actions/NewDocBtn.java trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java trunk/src/main/java/cc/kune/gspace/client/actions/NewMenusProvider.java Modified: trunk/.project trunk/TODO trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java trunk/src/main/java/cc/kune/blogs/client/BlogsGinModule.java trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java trunk/src/main/java/cc/kune/blogs/client/actions/BlogsNewMenu.java trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractComposedGuiItem.java trunk/src/main/java/cc/kune/common/public/kune-common.css trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java trunk/src/main/java/cc/kune/core/client/actions/XMLActionsParser.java trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java trunk/src/main/java/cc/kune/docs/client/DocsGinModule.java trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java trunk/src/main/java/cc/kune/docs/client/actions/DocsFolderNewMenu.java trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java trunk/src/main/java/cc/kune/meets/client/actions/MeetingsClientActions.java trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiBtn.java trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java Log: New menus updated, and menu items created only under demand Modified: trunk/.project =================================================================== --- trunk/.project 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/.project 2011-06-24 01:51:23 UTC (rev 1415) @@ -1,42 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> <projectDescription> - <name>kune</name> - <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> - <projects/> - <buildSpec> - <buildCommand> - <name>com.google.gdt.eclipse.core.webAppProjectValidator</name> - </buildCommand> - <buildCommand> - <name>com.google.gwt.eclipse.core.gwtProjectValidator</name> - </buildCommand> - <buildCommand> - <name>org.eclipse.wst.common.project.facet.core.builder</name> - </buildCommand> - <buildCommand> - <name>org.eclipse.jdt.core.javabuilder</name> - </buildCommand> - <buildCommand> - <name>org.eclipse.wst.validation.validationbuilder</name> - </buildCommand> - <buildCommand> - <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name> - </buildCommand> - <buildCommand> - <name>com.instantiations.assist.eclipse.coverage.instrumentationBuilder</name> - </buildCommand> - <buildCommand> - <name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name> - </buildCommand> - </buildSpec> - <natures> - <nature>org.eclipse.wst.common.project.facet.core.nature</nature> - <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> - <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> - <nature>org.eclipse.ajdt.ui.ajnature</nature> - <nature>com.google.gwt.eclipse.core.gwtNature</nature> - <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature> - <nature>com.instantiations.assist.eclipse.coverage.codeCoverageNature</nature> - <nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature> - </natures> -</projectDescription> \ No newline at end of file + <name>kune</name> + <comment>kune free/open/libre collaboration platform. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>com.google.gdt.eclipse.core.webAppProjectValidator</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.google.gwt.eclipse.core.gwtProjectValidator</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.common.project.facet.core.builder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.wst.validation.validationbuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>edu.umd.cs.findbugs.plugin.eclipse.findbugsBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.instantiations.assist.eclipse.coverage.instrumentationBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>net.sourceforge.pmd.eclipse.plugin.pmdBuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.recommenders.rcp.analysis.RecommendersBuilder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.wst.common.project.facet.core.nature</nature> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature> + <nature>org.eclipse.jem.workbench.JavaEMFNature</nature> + <nature>org.eclipse.ajdt.ui.ajnature</nature> + <nature>com.google.gwt.eclipse.core.gwtNature</nature> + <nature>edu.umd.cs.findbugs.plugin.eclipse.findbugsNature</nature> + <nature>com.instantiations.assist.eclipse.coverage.codeCoverageNature</nature> + <nature>net.sourceforge.pmd.eclipse.plugin.pmdNature</nature> + <nature>org.eclipse.recommenders.rcp.analysis.RecommendersNature</nature> + </natures> +</projectDescription> Modified: trunk/TODO =================================================================== --- trunk/TODO 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/TODO 2011-06-24 01:51:23 UTC (rev 1415) @@ -371,6 +371,17 @@ ** vjrj <v> IconHyperlink.java and IconLabel.java to gwt1.5 * MID-TERM +** Template system for new waves with legal free/open procedures +New + Templates + In English + In Spanish + Legal + Procedimiento A + Procedimiento B + Borrador de Estutos de Asociación + (...) + ** Archive of xmpp conversations *** http://community.igniterealtime.org/docs/DOC-1094 (for openfire) ** Enable two Waves per doc: 1 for the doc (no comments enabled), other for comments. Similar to docs.google.com comments approach. Modified: trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java =================================================================== --- trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/barters/client/actions/BartersClientActions.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -53,17 +53,17 @@ final Provider<ParticipateInContentBtn> participateBtn, final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<RefreshContentMenuItem> refresh) { super(session, stateManager, i18n, registry); - actionsRegistry.addAction(ActionGroups.VIEW, optionsMenuContent, all); - actionsRegistry.addAction(ActionGroups.VIEW, refresh, all); - actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents); - actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot); - actionsRegistry.addAction(ActionGroups.VIEW, newBartersBtn, containers); - actionsRegistry.addAction(ActionGroups.VIEW, participateBtn, contents); - actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, containers); - actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot); - actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, delFolderMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containersNoRoot); + actionsRegistry.addAction(ActionGroups.TOOLBAR, newBartersBtn, containers); + actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot); } @Override Modified: trunk/src/main/java/cc/kune/blogs/client/BlogsGinModule.java =================================================================== --- trunk/src/main/java/cc/kune/blogs/client/BlogsGinModule.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/blogs/client/BlogsGinModule.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -20,16 +20,16 @@ package cc.kune.blogs.client; import cc.kune.blogs.client.actions.BlogsClientActions; +import cc.kune.blogs.client.actions.BlogsNewMenu; +import cc.kune.common.client.ExtendedGinModule; -import com.google.inject.Singleton; -import com.gwtplatform.mvp.client.gin.AbstractPresenterModule; +public class BlogsGinModule extends ExtendedGinModule { -public class BlogsGinModule extends AbstractPresenterModule { + @Override + protected void configure() { + s(BlogsNewMenu.class); + s(BlogsClientTool.class); + s(BlogsClientActions.class); + } - @Override - protected void configure() { - bind(BlogsClientTool.class).in(Singleton.class); - bind(BlogsClientActions.class).in(Singleton.class); - } - } Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java =================================================================== --- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsClientActions.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -51,7 +51,7 @@ @Inject public BlogsClientActions(final I18nUITranslationService i18n, final Session session, final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res, - final Provider<GoParentBlogBtn> folderGoUp, final Provider<NewPostBtn> newDocBtn, + final Provider<GoParentBlogBtn> folderGoUp, final Provider<NewPostMenuItem> newDocBtn, final Provider<NewBlogBtn> newFolderBtn, final Provider<OpenBlogMenuItem> openContentMenuItem, final Provider<DelPostMenuItem> delContentMenuItem, final Provider<RefreshContentMenuItem> refresh, @@ -61,20 +61,20 @@ final Provider<DelBlogMenuItem> delFolderMenuItem, final Provider<SetAsHomePageMenuItem> setAsHomePage) { super(session, stateManager, i18n, registry); - actionsRegistry.addAction(ActionGroups.VIEW, optionsMenuContent, all); - actionsRegistry.addAction(ActionGroups.VIEW, refresh, all); - actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents); - actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot); - actionsRegistry.addAction(ActionGroups.VIEW, participateBtn, contents); - actionsRegistry.addAction(ActionGroups.VIEW, newDocBtn, containersNoRoot); - actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, TYPE_ROOT); - actionsRegistry.addAction(ActionGroups.VIEW, chatAbout, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot); - actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, delFolderMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, blogNewMenu, TYPE_BLOG); + actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containersNoRoot); + actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocBtn, containersNoRoot); + actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, TYPE_ROOT); + actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot); newMenusRegistry.register(TYPE_BLOG, blogNewMenu.get()); - actionsRegistry.addAction(ActionGroups.VIEW, blogNewMenu, TYPE_BLOG); } @Override Modified: trunk/src/main/java/cc/kune/blogs/client/actions/BlogsNewMenu.java =================================================================== --- trunk/src/main/java/cc/kune/blogs/client/actions/BlogsNewMenu.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/blogs/client/actions/BlogsNewMenu.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -1,11 +1,11 @@ package cc.kune.blogs.client.actions; import cc.kune.gspace.client.actions.AbstractNewMenu; -import cc.kune.gspace.client.actions.NewMenusProvider; +import cc.kune.gspace.client.actions.NewMenuProvider; import com.google.inject.Inject; -public class BlogsNewMenu extends NewMenusProvider { +public class BlogsNewMenu extends NewMenuProvider { @Inject public BlogsNewMenu(final AbstractNewMenu menu) { Deleted: trunk/src/main/java/cc/kune/blogs/client/actions/NewPostBtn.java =================================================================== --- trunk/src/main/java/cc/kune/blogs/client/actions/NewPostBtn.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/blogs/client/actions/NewPostBtn.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -1,39 +0,0 @@ -/* - * - * Copyright (C) 2007-2011 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 cc.kune.blogs.client.actions; - -import cc.kune.blogs.shared.BlogsConstants; -import cc.kune.common.client.shortcuts.GlobalShortcutRegister; -import cc.kune.core.client.resources.nav.NavResources; -import cc.kune.core.shared.i18n.I18nTranslationService; -import cc.kune.gspace.client.actions.NewContentBtn; - -import com.google.inject.Inject; - -public class NewPostBtn extends NewContentBtn { - - @Inject - public NewPostBtn(final I18nTranslationService i18n, final NewContentAction action, - final NavResources res, final GlobalShortcutRegister shorcutReg) { - super(i18n, action, res.blogAdd(), shorcutReg, i18n.t("New post"), i18n.t("Create a new blog post"), - i18n.t("New post"), BlogsConstants.TYPE_POST); - } - -} Copied: trunk/src/main/java/cc/kune/blogs/client/actions/NewPostMenuItem.java (from rev 1409, trunk/src/main/java/cc/kune/blogs/client/actions/NewPostBtn.java) =================================================================== --- trunk/src/main/java/cc/kune/blogs/client/actions/NewPostMenuItem.java (rev 0) +++ trunk/src/main/java/cc/kune/blogs/client/actions/NewPostMenuItem.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -0,0 +1,39 @@ +/* + * + * Copyright (C) 2007-2011 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 cc.kune.blogs.client.actions; + +import cc.kune.blogs.shared.BlogsConstants; +import cc.kune.common.client.shortcuts.GlobalShortcutRegister; +import cc.kune.core.client.resources.nav.NavResources; +import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.gspace.client.actions.NewContentMenuItem; + +import com.google.inject.Inject; + +public class NewPostMenuItem extends NewContentMenuItem { + + @Inject + public NewPostMenuItem(final I18nTranslationService i18n, final NewContentAction action, + final NavResources res, final GlobalShortcutRegister shorcutReg, final BlogsNewMenu blogsNewMenu) { + super(i18n, action, res.blogAdd(), shorcutReg, i18n.t("New post"), i18n.t("Create a new blog post"), + i18n.t("New post"), BlogsConstants.TYPE_POST, blogsNewMenu.get()); + } + +} Property changes on: trunk/src/main/java/cc/kune/blogs/client/actions/NewPostMenuItem.java ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java =================================================================== --- trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/chat/client/actions/ChatClientActions.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -50,13 +50,13 @@ final Provider<OpenRoomBtn> openRoomBtn, final Provider<ContentViewerOptionsMenu> optionsMenuContent) { super(session, stateManager, i18n, registry); - actionsRegistry.addAction(ActionGroups.VIEW, optionsMenuContent, all); - actionsRegistry.addAction(ActionGroups.VIEW, refresh, all); - actionsRegistry.addAction(ActionGroups.VIEW, newRoomBtn, TYPE_ROOT); - actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot); - actionsRegistry.addAction(ActionGroups.VIEW, openRoomBtn, containersNoRoot); - actionsRegistry.addAction(ActionGroups.MENUITEM, openRoomMenuItem, containersNoRoot); - actionsRegistry.addAction(ActionGroups.MENUITEM, openRoomArchiveMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, newRoomBtn, TYPE_ROOT); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containersNoRoot); + actionsRegistry.addAction(ActionGroups.TOOLBAR, openRoomBtn, containersNoRoot); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openRoomMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openRoomArchiveMenuItem, containersNoRoot); } @Override Modified: trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java =================================================================== --- trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/common/client/actions/gwtui/AbstractGwtMenuItemGui.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -132,6 +132,9 @@ final int position = descriptor.getPosition(); final AbstractGwtMenuGui menu = getParentMenu(descriptor); if (menu == null) { + // Note: Be careful if you have two menus (not a singleton) and you add + // one but + // no the other that it associated with this menuitem throw new UIException("Warning: To add a menu item you need to add the menu before. Item: " + descriptor); } Modified: trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractComposedGuiItem.java =================================================================== --- trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractComposedGuiItem.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/common/client/actions/ui/AbstractComposedGuiItem.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -30,77 +30,77 @@ import com.google.gwt.user.client.ui.Composite; public abstract class AbstractComposedGuiItem extends Composite implements IsActionExtensible { - private final GuiProvider bindings; - private GuiActionDescCollection guiItems; + private final GuiProvider bindings; + private GuiActionDescCollection guiItems; - public AbstractComposedGuiItem(final GuiProvider bindings) { - super(); - this.bindings = bindings; - } + public AbstractComposedGuiItem(final GuiProvider bindings) { + super(); + this.bindings = bindings; + } - public void add(final GuiActionDescCollection descriptors) { - for (final GuiActionDescrip descriptor : descriptors) { - add(descriptor); - } + public void add(final GuiActionDescCollection descriptors) { + for (final GuiActionDescrip descriptor : descriptors) { + add(descriptor); } + } - @Override - public void add(final GuiActionDescrip... descriptors) { - for (final GuiActionDescrip descriptor : descriptors) { - add(descriptor); - } + @Override + public void add(final GuiActionDescrip... descriptors) { + for (final GuiActionDescrip descriptor : descriptors) { + add(descriptor); } + } - @Override - public void add(final GuiActionDescrip descriptor) { - getGuiItems().add(descriptor); - beforeAddWidget(descriptor); - } + @Override + public void add(final GuiActionDescrip descriptor) { + getGuiItems().add(descriptor); + beforeAddWidget(descriptor); + } - public void addActions(final List<GuiActionDescrip> descriptors) { - for (final GuiActionDescrip descriptor : descriptors) { - add(descriptor); - } + public void addActions(final List<GuiActionDescrip> descriptors) { + for (final GuiActionDescrip descriptor : descriptors) { + add(descriptor); } + } - @Override - public void addAll(final GuiActionDescCollection descriptors) { - for (final GuiActionDescrip descriptor : descriptors) { - add(descriptor); - } + @Override + public void addAll(final GuiActionDescCollection descriptors) { + for (final GuiActionDescrip descriptor : descriptors) { + add(descriptor); } + } - protected abstract void addWidget(AbstractGuiItem item); + protected abstract void addWidget(AbstractGuiItem item); - protected void beforeAddWidget(final GuiActionDescrip descrip) { - if (descrip.mustBeAdded()) { - final GuiBinding binding = bindings.get(descrip.getType()); - if (binding == null) { - throw new UIException("Unknown binding for: " + descrip); - } else { - final AbstractGuiItem item = binding.create(descrip); - if (binding.shouldBeAdded()) { - if (descrip.getPosition() == GuiActionDescrip.NO_POSITION) { - addWidget(item); - } else { - insertWidget(item, descrip.getPosition()); - } - } - } + protected void beforeAddWidget(final GuiActionDescrip descrip) { + if (descrip.mustBeAdded()) { + final GuiBinding binding = bindings.get(descrip.getType()); + if (binding == null) { + throw new UIException("Unknown binding for: " + descrip); + } else { + final AbstractGuiItem item = binding.create(descrip); + if (binding.shouldBeAdded()) { + if (descrip.getPosition() == GuiActionDescrip.NO_POSITION) { + addWidget(item); + } else { + insertWidget(item, descrip.getPosition()); + } } + } } + } - @Override - public void clear() { - getGuiItems().clear(); - } + @Override + public void clear() { + getGuiItems().clear(); + } - public GuiActionDescCollection getGuiItems() { - if (guiItems == null) { - guiItems = new GuiActionDescCollection(); - } - return guiItems; + public GuiActionDescCollection getGuiItems() { + if (guiItems == null) { + guiItems = new GuiActionDescCollection(); } + return guiItems; + } - protected abstract void insertWidget(AbstractGuiItem item, int position); + protected abstract void insertWidget(AbstractGuiItem item, int position); } Modified: trunk/src/main/java/cc/kune/common/public/kune-common.css =================================================================== --- trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/common/public/kune-common.css 2011-06-24 01:51:23 UTC (rev 1415) @@ -441,7 +441,7 @@ } .k-no-backimage,.k-no-backimage td { - background-image: none; + background-image: none !important; } .k-nobackcolor { Modified: trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/core/client/actions/ActionRegistryByType.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -39,98 +39,100 @@ * */ public class ActionRegistryByType { - private static final String GENERIC_GROUP_ACTION = "kgengroup"; - private static final String GENERIC_TYPE_ID = "kgentype"; - private static final String KEY_SEPARATOR = "-"; + private static final String GENERIC_GROUP_ACTION = "kgengroup"; + private static final String GENERIC_TYPE_ID = "kgentype"; + private static final String KEY_SEPARATOR = "-"; - private final Map<String, GuiActionDescProviderCollection> actions; + private final Map<String, GuiActionDescProviderCollection> actions; - public ActionRegistryByType() { - actions = new HashMap<String, GuiActionDescProviderCollection>(); - } + public ActionRegistryByType() { + actions = new HashMap<String, GuiActionDescProviderCollection>(); + } - private void add(final GuiActionDescCollection collection, final GuiActionDescrip descrip, final Object targetItem) { - descrip.setTarget(targetItem); - collection.add(descrip); - } + private void add(final GuiActionDescCollection collection, final GuiActionDescrip descrip, + final Object targetItem) { + descrip.setTarget(targetItem); + collection.add(descrip); + } - public void addAction(final Provider<? extends GuiActionDescrip> action) { - addAction(GENERIC_GROUP_ACTION, action, GENERIC_TYPE_ID); - } + public void addAction(final Provider<? extends GuiActionDescrip> action) { + addAction(GENERIC_GROUP_ACTION, action, GENERIC_TYPE_ID); + } - public void addAction(@Nonnull final String actionsGroupId, final Provider<? extends GuiActionDescrip> action) { - addAction(actionsGroupId, action, GENERIC_TYPE_ID); - } + public void addAction(@Nonnull final String actionsGroupId, + final Provider<? extends GuiActionDescrip> action) { + addAction(actionsGroupId, action, GENERIC_TYPE_ID); + } - public void addAction(@Nonnull final String actionsGroupId, - final @Nonnull Provider<? extends GuiActionDescrip> action, @Nonnull final String... typeIds) { - for (final String typeId : typeIds) { - final GuiActionDescProviderCollection actionColl = getActions(actionsGroupId, typeId); - actionColl.add(action); - actions.put(genKey(actionsGroupId, typeId), actionColl); - } + public void addAction(@Nonnull final String actionsGroupId, + final @Nonnull Provider<? extends GuiActionDescrip> action, @Nonnull final String... typeIds) { + for (final String typeId : typeIds) { + final GuiActionDescProviderCollection actionColl = getActions(actionsGroupId, typeId); + actionColl.add(action); + actions.put(genKey(actionsGroupId, typeId), actionColl); } + } - private String genKey(final String actionsGroupId, final String typeId) { - return actionsGroupId + KEY_SEPARATOR + typeId; - } + private String genKey(final String actionsGroupId, final String typeId) { + return actionsGroupId + KEY_SEPARATOR + typeId; + } - private GuiActionDescProviderCollection getActions(final String actionsGroupId, final String typeId) { - final String key = genKey(actionsGroupId, typeId); - GuiActionDescProviderCollection actionColl = actions.get(key); - if (actionColl == null) { - actionColl = new GuiActionDescProviderCollection(); - actions.put(key, actionColl); - } - return actionColl; + private GuiActionDescProviderCollection getActions(final String actionsGroupId, final String typeId) { + final String key = genKey(actionsGroupId, typeId); + GuiActionDescProviderCollection actionColl = actions.get(key); + if (actionColl == null) { + actionColl = new GuiActionDescProviderCollection(); + actions.put(key, actionColl); } + return actionColl; + } - public GuiActionDescCollection getCurrentActions(final Object targetItem, final boolean isLogged, - final AccessRights rights) { - return getCurrentActions(targetItem, GENERIC_TYPE_ID, isLogged, rights, null); - } + public GuiActionDescCollection getCurrentActions(final Object targetItem, final boolean isLogged, + final AccessRights rights) { + return getCurrentActions(targetItem, GENERIC_TYPE_ID, isLogged, rights, null); + } - public GuiActionDescCollection getCurrentActions(final Object targetItem, final boolean isLogged, - final AccessRights rights, @Nullable final String actionsGroup) { - return getCurrentActions(targetItem, GENERIC_TYPE_ID, isLogged, rights, actionsGroup); - } + public GuiActionDescCollection getCurrentActions(final Object targetItem, final boolean isLogged, + final AccessRights rights, @Nullable final String actionsGroup) { + return getCurrentActions(targetItem, GENERIC_TYPE_ID, isLogged, rights, actionsGroup); + } - public GuiActionDescCollection getCurrentActions(final Object targetItem, final String typeId, - final boolean isLogged, final AccessRights rights) { - return getCurrentActions(targetItem, typeId, isLogged, rights, null); - } + public GuiActionDescCollection getCurrentActions(final Object targetItem, final String typeId, + final boolean isLogged, final AccessRights rights) { + return getCurrentActions(targetItem, typeId, isLogged, rights, null); + } - public <T> GuiActionDescCollection getCurrentActions(final Object targetItem, final String typeId, - final boolean isLogged, final AccessRights rights, @Nullable final String actionsGroupId) { - final GuiActionDescCollection collection = new GuiActionDescCollection(); - for (final Provider<? extends GuiActionDescrip> descripProv : getActions(actionsGroupId, typeId)) { - final GuiActionDescrip descrip = descripProv.get(); - final AbstractAction action = descrip.getAction(); - if (action instanceof RolAction) { - if (mustAdd((RolAction) action, isLogged, rights)) { - add(collection, descrip, targetItem); - } - } else { - add(collection, descrip, targetItem); - } + public <T> GuiActionDescCollection getCurrentActions(final Object targetItem, final String typeId, + final boolean isLogged, final AccessRights rights, @Nullable final String actionsGroupId) { + final GuiActionDescCollection collection = new GuiActionDescCollection(); + for (final Provider<? extends GuiActionDescrip> descripProv : getActions(actionsGroupId, typeId)) { + final GuiActionDescrip descrip = descripProv.get(); + final AbstractAction action = descrip.getAction(); + if (action instanceof RolAction) { + if (mustAdd((RolAction) action, isLogged, rights)) { + add(collection, descrip, targetItem); } - return collection; + } else { + add(collection, descrip, targetItem); + } } + return collection; + } - private boolean mustAdd(final RolAction action, final boolean isLogged, final AccessRights rights) { - if (action.isAuthNeed()) { - if (!isLogged) { - return false; - } - } - switch (action.getRolRequired()) { - case Administrator: - return rights.isAdministrable(); - case Editor: - return rights.isEditable(); - case Viewer: - default: - return rights.isVisible(); - } + private boolean mustAdd(final RolAction action, final boolean isLogged, final AccessRights rights) { + if (action.isAuthNeed()) { + if (!isLogged) { + return false; + } } + switch (action.getRolRequired()) { + case Administrator: + return rights.isAdministrable(); + case Editor: + return rights.isEditable(); + case Viewer: + default: + return rights.isVisible(); + } + } } Modified: trunk/src/main/java/cc/kune/core/client/actions/XMLActionsParser.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/actions/XMLActionsParser.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/core/client/actions/XMLActionsParser.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -143,7 +143,7 @@ return menuItem; } }; - actionRegistry.addAction(ActionGroups.VIEW, menuItemProvider, typeId); + actionRegistry.addAction(ActionGroups.TOOLBAR, menuItemProvider, typeId); } } } Modified: trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java =================================================================== --- trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/core/client/sn/actions/registry/GroupSNConfActions.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -50,7 +50,7 @@ public static final SubMenuDescriptor MODERATION_SUBMENU = new SubMenuDescriptor(); public static final MenuDescriptor OPTIONS_MENU = new MenuDescriptor(); - public static final String OPTIONS_STYLES = "k-sn-options-menu, k-noborder, k-nobackcolor, k-btn-min"; + public static final String OPTIONS_STYLES = "k-sn-options-menu, k-noborder, k-nobackcolor, k-no-backimage, k-btn-min"; public static final SubMenuDescriptor VISIBILITY_SUBMENU = new SubMenuDescriptor(); @Inject Modified: trunk/src/main/java/cc/kune/docs/client/DocsGinModule.java =================================================================== --- trunk/src/main/java/cc/kune/docs/client/DocsGinModule.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/docs/client/DocsGinModule.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -19,17 +19,17 @@ */ package cc.kune.docs.client; +import cc.kune.common.client.ExtendedGinModule; import cc.kune.docs.client.actions.DocsClientActions; +import cc.kune.docs.client.actions.DocsFolderNewMenu; -import com.google.inject.Singleton; -import com.gwtplatform.mvp.client.gin.AbstractPresenterModule; +public class DocsGinModule extends ExtendedGinModule { -public class DocsGinModule extends AbstractPresenterModule { + @Override + protected void configure() { + s(DocsClientTool.class); + s(DocsClientActions.class); + s(DocsFolderNewMenu.class); + } - @Override - protected void configure() { - bind(DocsClientTool.class).in(Singleton.class); - bind(DocsClientActions.class).in(Singleton.class); - } - } Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java =================================================================== --- trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/docs/client/actions/DocsClientActions.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -52,33 +52,33 @@ @Inject public DocsClientActions(final I18nUITranslationService i18n, final Session session, final StateManager stateManager, final ActionRegistryByType registry, final CoreResources res, - final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewDocBtn> newDocBtn, - final Provider<NewFolderBtn> newFolderBtn, final Provider<OpenDocMenuItem> openContentMenuItem, + final Provider<GoParentFolderBtn> folderGoUp, final Provider<NewDocMenuItem> newDocBtn, + final Provider<NewFolderMenuItem> newFolderBtn, + final Provider<OpenDocMenuItem> openContentMenuItem, final Provider<DelDocMenuItem> delContentMenuItem, final Provider<ContentViewerOptionsMenu> optionsMenuContent, final Provider<ParticipateInContentBtn> participateBtn, final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<ChatAboutContentBtn> chatAbout, final Provider<RefreshContentMenuItem> refresh, - final Provider<SetAsHomePageMenuItem> setAsHomePage, final DocsRootNewMenu rootNewMenu, + final Provider<SetAsHomePageMenuItem> setAsHomePage, final NewMenusForTypeIdsRegistry newMenusRegistry, final DocsFolderNewMenu folderNewMenu) { super(session, stateManager, i18n, registry); - actionsRegistry.addAction(ActionGroups.VIEW, optionsMenuContent, all); - actionsRegistry.addAction(ActionGroups.VIEW, refresh, all); - actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents); - actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot); - actionsRegistry.addAction(ActionGroups.VIEW, newDocBtn, containers); - actionsRegistry.addAction(ActionGroups.VIEW, participateBtn, contents); - actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, containers); - actionsRegistry.addAction(ActionGroups.VIEW, chatAbout, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot); - actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, delFolderMenuItem, containersNoRoot); - actionsRegistry.addAction(ActionGroups.MENUITEM, setAsHomePage, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderNewMenu, containers); + actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containersNoRoot); + actionsRegistry.addAction(ActionGroups.TOOLBAR, newDocBtn, containers); + actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers); + actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, setAsHomePage, contents); newMenusRegistry.register(TYPE_FOLDER, folderNewMenu.get()); - newMenusRegistry.register(TYPE_ROOT, rootNewMenu.get()); - actionsRegistry.addAction(ActionGroups.VIEW, folderNewMenu, containersNoRoot); - actionsRegistry.addAction(ActionGroups.VIEW, rootNewMenu, root); + newMenusRegistry.register(TYPE_ROOT, folderNewMenu.get()); } @Override Modified: trunk/src/main/java/cc/kune/docs/client/actions/DocsFolderNewMenu.java =================================================================== --- trunk/src/main/java/cc/kune/docs/client/actions/DocsFolderNewMenu.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/docs/client/actions/DocsFolderNewMenu.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -1,14 +1,16 @@ package cc.kune.docs.client.actions; +import javax.annotation.Nonnull; + import cc.kune.gspace.client.actions.AbstractNewMenu; -import cc.kune.gspace.client.actions.NewMenusProvider; +import cc.kune.gspace.client.actions.NewMenuProvider; import com.google.inject.Inject; -public class DocsFolderNewMenu extends NewMenusProvider { +public class DocsFolderNewMenu extends NewMenuProvider { @Inject - public DocsFolderNewMenu(final AbstractNewMenu menu) { + public DocsFolderNewMenu(final @Nonnull AbstractNewMenu menu) { super(menu); } Deleted: trunk/src/main/java/cc/kune/docs/client/actions/DocsRootNewMenu.java =================================================================== --- trunk/src/main/java/cc/kune/docs/client/actions/DocsRootNewMenu.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/docs/client/actions/DocsRootNewMenu.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -1,15 +0,0 @@ -package cc.kune.docs.client.actions; - -import cc.kune.gspace.client.actions.AbstractNewMenu; -import cc.kune.gspace.client.actions.NewMenusProvider; - -import com.google.inject.Inject; - -public class DocsRootNewMenu extends NewMenusProvider { - - @Inject - public DocsRootNewMenu(final AbstractNewMenu menu) { - super(menu); - } - -} Deleted: trunk/src/main/java/cc/kune/docs/client/actions/NewDocBtn.java =================================================================== --- trunk/src/main/java/cc/kune/docs/client/actions/NewDocBtn.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/docs/client/actions/NewDocBtn.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -1,41 +0,0 @@ -/* - * - * Copyright (C) 2007-2011 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 cc.kune.docs.client.actions; - -import cc.kune.common.client.shortcuts.GlobalShortcutRegister; -import cc.kune.core.client.resources.nav.NavResources; -import cc.kune.core.shared.i18n.I18nTranslationService; -import cc.kune.docs.shared.DocsConstants; -import cc.kune.gspace.client.actions.NewContentBtn; - -import com.google.inject.Inject; - -public class NewDocBtn extends NewContentBtn { - - @Inject - public NewDocBtn(final I18nTranslationService i18n, final NewContentAction action, - final NavResources res, final GlobalShortcutRegister shorcutReg) { - super(i18n, action, res.pageAdd(), shorcutReg, i18n.t("New document"), - i18n.t("Create a New Document here. " - + "This document will be a new 'Page' in the public web if you publish it"), - i18n.t("New document"), DocsConstants.TYPE_DOCUMENT); - } - -} Copied: trunk/src/main/java/cc/kune/docs/client/actions/NewDocMenuItem.java (from rev 1409, trunk/src/main/java/cc/kune/docs/client/actions/NewDocBtn.java) =================================================================== --- trunk/src/main/java/cc/kune/docs/client/actions/NewDocMenuItem.java (rev 0) +++ trunk/src/main/java/cc/kune/docs/client/actions/NewDocMenuItem.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -0,0 +1,42 @@ +/* + * + * Copyright (C) 2007-2011 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 cc.kune.docs.client.actions; + +import cc.kune.common.client.shortcuts.GlobalShortcutRegister; +import cc.kune.core.client.resources.nav.NavResources; +import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.docs.shared.DocsConstants; +import cc.kune.gspace.client.actions.NewContentMenuItem; + +import com.google.inject.Inject; + +public class NewDocMenuItem extends NewContentMenuItem { + + @Inject + public NewDocMenuItem(final I18nTranslationService i18n, final NewContentAction action, + final NavResources res, final GlobalShortcutRegister shorcutReg, + final DocsFolderNewMenu docsFolderNewMenu) { + super(i18n, action, res.pageAdd(), shorcutReg, i18n.t("New document"), + i18n.t("Create a New Document here. " + + "This document will be a new 'Page' in the public web if you publish it"), + i18n.t("New document"), DocsConstants.TYPE_DOCUMENT, docsFolderNewMenu.get()); + } + +} Deleted: trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java =================================================================== --- trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -1,39 +0,0 @@ -/* - * - * Copyright (C) 2007-2011 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 cc.kune.docs.client.actions; - -import cc.kune.core.client.resources.nav.NavResources; -import cc.kune.core.shared.i18n.I18nTranslationService; -import cc.kune.docs.shared.DocsConstants; -import cc.kune.gspace.client.actions.NewContainerBtn; - -import com.google.inject.Inject; - -public class NewFolderBtn extends NewContainerBtn { - - @Inject - public NewFolderBtn(final I18nTranslationService i18n, final NewContainerAction action, - final NavResources res) { - super(i18n, action, res.folderAdd(), i18n.t("New folder"), - i18n.t("Create a new folder here. A folder will be a 'section' in the public web"), - i18n.t("New folder"), DocsConstants.TYPE_FOLDER); - } - -} Copied: trunk/src/main/java/cc/kune/docs/client/actions/NewFolderMenuItem.java (from rev 1409, trunk/src/main/java/cc/kune/docs/client/actions/NewFolderBtn.java) =================================================================== --- trunk/src/main/java/cc/kune/docs/client/actions/NewFolderMenuItem.java (rev 0) +++ trunk/src/main/java/cc/kune/docs/client/actions/NewFolderMenuItem.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -0,0 +1,39 @@ +/* + * + * Copyright (C) 2007-2011 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 cc.kune.docs.client.actions; + +import cc.kune.core.client.resources.nav.NavResources; +import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.docs.shared.DocsConstants; +import cc.kune.gspace.client.actions.NewContainerMenuItem; + +import com.google.inject.Inject; + +public class NewFolderMenuItem extends NewContainerMenuItem { + + @Inject + public NewFolderMenuItem(final I18nTranslationService i18n, final NewContainerAction action, + final NavResources res, final DocsFolderNewMenu docsFolderNewMenu) { + super(i18n, action, res.folderAdd(), i18n.t("New folder"), + i18n.t("Create a new folder here. A folder will be a 'section' in the public web"), + i18n.t("New folder"), DocsConstants.TYPE_FOLDER, docsFolderNewMenu.get()); + } + +} Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/gspace/client/actions/ActionGroups.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -25,8 +25,8 @@ */ public final class ActionGroups { public final static String EDIT = "edit"; - public final static String MENUITEM = "menu-item"; - public final static String VIEW = "view"; + public final static String ITEM_MENU = "menu-item"; + public final static String TOOLBAR = "view"; private ActionGroups() { } Modified: trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/gspace/client/actions/ContentViewerOptionsMenu.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -26,10 +26,11 @@ public class ContentViewerOptionsMenu extends MenuDescriptor { - @Inject - public ContentViewerOptionsMenu(final CoreResources res) { - super(); - this.withIcon(res.arrowdownsitebar()).withStyles("k-def-docbtn, k-fr, k-noborder, k-nobackcolor"); - } + @Inject + public ContentViewerOptionsMenu(final CoreResources res) { + super(); + this.withIcon(res.arrowdownsitebar()).withStyles( + "k-def-docbtn, k-fr, k-noborder, k-no-backimage, k-nobackcolor"); + } } Copied: trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerMenuItem.java (from rev 1409, trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerBtn.java) =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerMenuItem.java (rev 0) +++ trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerMenuItem.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -0,0 +1,102 @@ +/* + * + * Copyright (C) 2007-2011 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 cc.kune.gspace.client.actions; + +import javax.annotation.Nonnull; + +import cc.kune.common.client.actions.ActionEvent; +import cc.kune.common.client.actions.ui.descrip.MenuDescriptor; +import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor; +import cc.kune.common.client.notify.NotifyUser; +import cc.kune.core.client.actions.RolAction; +import cc.kune.core.client.rpcservices.AsyncCallbackSimple; +import cc.kune.core.client.rpcservices.ContentServiceAsync; +import cc.kune.core.client.state.ContentCache; +import cc.kune.core.client.state.Session; +import cc.kune.core.client.state.StateManager; +import cc.kune.core.shared.dto.AccessRolDTO; +import cc.kune.core.shared.dto.HasContent; +import cc.kune.core.shared.dto.StateContainerDTO; +import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.gspace.client.viewers.FolderViewerPresenter; + +import com.google.gwt.resources.client.ImageResource; +import com.google.inject.Inject; +import com.google.inject.Provider; + +public class NewContainerMenuItem extends MenuItemDescriptor { + + public static class NewContainerAction extends RolAction { + + private final ContentCache cache; + private final Provider<ContentServiceAsync> contentService; + private final FolderViewerPresenter folderViewer; + private final I18nTranslationService i18n; + private final Session session; + private final StateManager stateManager; + + @Inject + public NewContainerAction(final Session session, final StateManager stateManager, + final I18nTranslationService i18n, final Provider<ContentServiceAsync> contentService, + final ContentCache cache, final FolderViewerPresenter folderViewer) { + super(AccessRolDTO.Editor, true); + this.session = session; + this.stateManager = stateManager; + this.i18n = i18n; + this.contentService = contentService; + this.cache = cache; + this.folderViewer = folderViewer; + } + + @Override + public void actionPerformed(final ActionEvent event) { + NotifyUser.showProgressProcessing(); + stateManager.gotoStateToken(((HasContent) session.getCurrentState()).getContainer().getStateToken()); + final String newName = (String) getValue(NEW_NAME); + contentService.get().addFolder(session.getUserHash(), session.getCurrentStateToken(), newName, + (String) getValue(ID), new AsyncCallbackSimple<StateContainerDTO>() { + @Override + public void onSuccess(final StateContainerDTO state) { + // contextNavigator.setEditOnNextStateChange(true); + stateManager.setRetrievedStateAndGo(state); + NotifyUser.hideProgress(); + NotifyUser.info(i18n.tWithNT("[%s] created", "New folder created, for instance", newName)); + folderViewer.blinkTitle(); + } + }); + cache.removeContent(session.getCurrentStateToken()); + } + + } + + private static final String ID = "ctnernewid"; + private static final String NEW_NAME = "ctnernewname"; + + public NewContainerMenuItem(final I18nTranslationService i18n, final NewContainerAction action, + final ImageResource icon, final String title, final String tooltip, final String newName, + final String id, final @Nonnull MenuDescriptor parent) { + super(action); + setParent(parent); + // The name given to this new content + action.putValue(NEW_NAME, newName); + action.putValue(ID, id); + this.withText(title).withToolTip(tooltip).withIcon(icon).withStyles("k-def-docbtn, k-fr"); + } +} Property changes on: trunk/src/main/java/cc/kune/gspace/client/actions/NewContainerMenuItem.java ___________________________________________________________________ Name: svn:mime-type + text/plain Modified: trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -39,7 +39,7 @@ import com.google.inject.Inject; import com.google.inject.Provider; -public class NewContentBtn extends ButtonDescriptor { +public abstract class NewContentBtn extends ButtonDescriptor { public static class NewContentAction extends RolAction { Copied: trunk/src/main/java/cc/kune/gspace/client/actions/NewContentMenuItem.java (from rev 1414, trunk/src/main/java/cc/kune/gspace/client/actions/NewContentBtn.java) =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/actions/NewContentMenuItem.java (rev 0) +++ trunk/src/main/java/cc/kune/gspace/client/actions/NewContentMenuItem.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -0,0 +1,106 @@ +/* + * + * Copyright (C) 2007-2011 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 cc.kune.gspace.client.actions; + +import javax.annotation.Nonnull; + +import cc.kune.common.client.actions.ActionEvent; +import cc.kune.common.client.actions.ui.descrip.MenuDescriptor; +import cc.kune.common.client.actions.ui.descrip.MenuItemDescriptor; +import cc.kune.common.client.notify.NotifyUser; +import cc.kune.common.client.shortcuts.GlobalShortcutRegister; +import cc.kune.core.client.actions.RolAction; +import cc.kune.core.client.rpcservices.AsyncCallbackSimple; +import cc.kune.core.client.rpcservices.ContentServiceAsync; +import cc.kune.core.client.state.ContentCache; +import cc.kune.core.client.state.Session; +import cc.kune.core.client.state.StateManager; +import cc.kune.core.shared.dto.AccessRolDTO; +import cc.kune.core.shared.dto.HasContent; +import cc.kune.core.shared.dto.StateContentDTO; +import cc.kune.core.shared.i18n.I18nTranslationService; +import cc.kune.gspace.client.viewers.ContentViewerPresenter; + +import com.google.gwt.resources.client.ImageResource; +import com.google.inject.Inject; +import com.google.inject.Provider; + +public class NewContentMenuItem extends MenuItemDescriptor { + + public static class NewContentAction extends RolAction { + + private final ContentCache cache; + private final Provider<ContentServiceAsync> contentService; + private final ContentViewerPresenter contentViewer; + private final I18nTranslationService i18n; + private final Session session; + private final StateManager stateManager; + + @Inject + public NewContentAction(final Session session, final StateManager stateManager, + final I18nTranslationService i18n, final Provider<ContentServiceAsync> contentService, + final ContentViewerPresenter contentViewerPresenter, final ContentCache cache) { + super(AccessRolDTO.Editor, true); + this.session = session; + this.stateManager = stateManager; + this.i18n = i18n; + this.contentService = contentService; + this.contentViewer = contentViewerPresenter; + this.cache = cache; + } + + @Override + public void actionPerformed(final ActionEvent event) { + NotifyUser.showProgressProcessing(); + stateManager.gotoStateToken(((HasContent) session.getCurrentState()).getContainer().getStateToken()); + final String newName = (String) getValue(NEW_NAME); + contentService.get().addContent(session.getUserHash(), session.getCurrentStateToken(), newName, + (String) getValue(ID), new AsyncCallbackSimple<StateContentDTO>() { + @Override + public void onSuccess(final StateContentDTO state) { + stateManager.setRetrievedStateAndGo(state); + NotifyUser.hideProgress(); + // stateManager.refreshCurrentGroupState(); + // contextNavigator.setEditOnNextStateChange(true); + NotifyUser.info(i18n.tWithNT("[%s] created", "New content created, for instance", newName)); + contentViewer.blinkTitle(); + } + }); + cache.removeContent(session.getCurrentStateToken()); + } + } + + private static final String ID = "ctnnewid"; + private static final String NEW_NAME = "ctnnewname"; + + public NewContentMenuItem(final I18nTranslationService i18n, final NewContentAction action, + final ImageResource icon, final GlobalShortcutRegister shorcutReg, final String title, + final String tooltip, final String newName, final String id, @Nonnull final MenuDescriptor parent) { + super(parent, action); + // The name given to this new content + action.putValue(NEW_NAME, newName); + action.putValue(ID, id); + // final KeyStroke shortcut = Shortcut.getShortcut(false, true, false, + // false, Character.valueOf('N')); + // shorcutReg.put(shortcut, action); + this.withText(title).withToolTip(tooltip).withIcon(icon).withStyles("k-def-docbtn, k-fr"); + } + +} Property changes on: trunk/src/main/java/cc/kune/gspace/client/actions/NewContentMenuItem.java ___________________________________________________________________ Name: svn:mime-type + text/plain Copied: trunk/src/main/java/cc/kune/gspace/client/actions/NewMenuProvider.java (from rev 1414, trunk/src/main/java/cc/kune/gspace/client/actions/NewMenusProvider.java) =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/actions/NewMenuProvider.java (rev 0) +++ trunk/src/main/java/cc/kune/gspace/client/actions/NewMenuProvider.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -0,0 +1,26 @@ +package cc.kune.gspace.client.actions; + +import cc.kune.common.client.actions.ui.descrip.MenuDescriptor; + +import com.google.inject.Provider; + +/** + * The Class NewMenusProvider ins a way to create a kind of singeltons for menu + * entries. This can be register in a list of Providers<GuiDescriptor> but in + * fact only references one item and can be used to select the parent of some + * menu items + */ +public abstract class NewMenuProvider implements Provider<MenuDescriptor> { + + private final AbstractNewMenu menu; + + public NewMenuProvider(final AbstractNewMenu menu) { + this.menu = menu; + } + + @Override + public MenuDescriptor get() { + return menu; + } + +} Property changes on: trunk/src/main/java/cc/kune/gspace/client/actions/NewMenuProvider.java ___________________________________________________________________ Name: svn:mime-type + text/plain Deleted: trunk/src/main/java/cc/kune/gspace/client/actions/NewMenusProvider.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/actions/NewMenusProvider.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/gspace/client/actions/NewMenusProvider.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -1,20 +0,0 @@ -package cc.kune.gspace.client.actions; - -import cc.kune.common.client.actions.ui.descrip.MenuDescriptor; - -import com.google.inject.Provider; - -public abstract class NewMenusProvider implements Provider<MenuDescriptor> { - - private final AbstractNewMenu menu; - - public NewMenusProvider(final AbstractNewMenu menu) { - this.menu = menu; - } - - @Override - public MenuDescriptor get() { - return menu; - } - -} Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/gspace/client/viewers/ContentViewerPresenter.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -187,7 +187,7 @@ } } final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContent.getGroup(), - stateContent.getTypeId(), session.isLogged(), rights, ActionGroups.VIEW); + stateContent.getTypeId(), session.isLogged(), rights, ActionGroups.TOOLBAR); getView().setActions(actions); } } \ No newline at end of file Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerAsTablePanel.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -87,17 +87,7 @@ } itemWidget.setMenu(toolbar); // Tooltip.to(itemWidget, item.getTooltip()); - final MenuDescriptor menu = new MenuDescriptor(i18n.t("Actions")); - menu.withIcon(res.arrowdown()).withStyles("k-def-docbtn, k-btn, k-button"); - menu.setStandalone(false); - itemWidget.setMenuVisible(false); - toolbar.add(menu); - final GuiActionDescCollection actions = item.getActionCollection(); - toolbar.setVisible(actions.size() > 0); - for (final GuiActionDescrip menuItem : actions) { - menuItem.setParent(menu); - toolbar.add(menuItem); - } + // FIXME make this under demand itemWidget.getRowClick().addClickHandler(new ClickHandler() { @Override public void onClick(final ClickEvent event) { @@ -119,8 +109,30 @@ } }); itemWidget.getRowMouse().addMouseOverHandler(new MouseOverHandler() { + MenuDescriptor menu; + + private MenuDescriptor createMenu(final FolderItemDescriptor item, + final FolderItemWidget itemWidget, final ActionSimplePanel toolbar) { + MenuDescriptor menu; + menu = new MenuDescriptor(i18n.t("Actions")); + menu.withIcon(res.arrowdown()).withStyles("k-def-docbtn, k-btn, k-button"); + menu.setStandalone(false); + itemWidget.setMenuVisible(false); + toolbar.add(menu); + final GuiActionDescCollection actions = item.getActionCollection(); + toolbar.setVisible(actions.size() > 0); + for (final GuiActionDescrip menuItem : actions) { + menuItem.setParent(menu); + toolbar.add(menuItem); + } + return menu; + } + @Override public void onMouseOver(final MouseOverEvent event) { + if (menu == null) { + menu = createMenu(item, itemWidget, toolbar); + } // menu.setVisible(true); itemWidget.setMenuVisible(true); } Modified: trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java =================================================================== --- trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/gspace/client/viewers/FolderViewerPresenter.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -149,7 +149,7 @@ capabilitiesRegistry.isDragable(typeId) && rights.isAdministrable(), capabilitiesRegistry.isDropable(typeId) && rights.isAdministrable(), actionsRegistry.getCurrentActions(content, typeId, session.isLogged(), rights, - ActionGroups.MENUITEM)); + ActionGroups.ITEM_MENU)); if (status.equals(ContentStatus.inTheDustbin) && !session.getShowDeletedContent()) { // Don't show // NotifyUser.info("Deleted, don't show"); @@ -300,7 +300,7 @@ getView().setContainer(stateContainer); final AccessRights rights = stateContainer.getContainerRights(); final GuiActionDescCollection actions = actionsRegistry.getCurrentActions(stateContainer.getGroup(), - stateContainer.getTypeId(), session.isLogged(), rights, ActionGroups.VIEW); + stateContainer.getTypeId(), session.isLogged(), rights, ActionGroups.TOOLBAR); final ContainerDTO container = stateContainer.getContainer(); createPath(container, actions); getView().setActions(actions); Modified: trunk/src/main/java/cc/kune/meets/client/actions/MeetingsClientActions.java =================================================================== --- trunk/src/main/java/cc/kune/meets/client/actions/MeetingsClientActions.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/meets/client/actions/MeetingsClientActions.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -51,14 +51,14 @@ final Provider<ParticipateInContentBtn> participateBtn, final Provider<RefreshContentMenuItem> refresh) { super(session, stateManager, i18n, registry); - actionsRegistry.addAction(ActionGroups.VIEW, optionsMenuContent, all); - actionsRegistry.addAction(ActionGroups.VIEW, refresh, all); - actionsRegistry.addAction(ActionGroups.VIEW, newMeetingsBtn, containers); - actionsRegistry.addAction(ActionGroups.VIEW, participateBtn, contents); - actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot); - actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, newMeetingsBtn, containers); + actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents); } @Override Modified: trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java =================================================================== --- trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/wiki/client/WikiGinModule.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -19,17 +19,17 @@ */ package cc.kune.wiki.client; +import cc.kune.common.client.ExtendedGinModule; import cc.kune.wiki.client.actions.WikiClientActions; +import cc.kune.wiki.client.actions.WikiFolderNewMenu; -import com.google.inject.Singleton; -import com.gwtplatform.mvp.client.gin.AbstractPresenterModule; +public class WikiGinModule extends ExtendedGinModule { -public class WikiGinModule extends AbstractPresenterModule { - @Override protected void configure() { - bind(WikiClientTool.class).in(Singleton.class); - bind(WikiClientActions.class).in(Singleton.class); + s(WikiClientTool.class); + s(WikiClientActions.class); + s(WikiFolderNewMenu.class); } } Modified: trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java =================================================================== --- trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/wiki/client/actions/NewFolderBtn.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -21,19 +21,19 @@ import cc.kune.core.client.resources.nav.NavResources; import cc.kune.core.shared.i18n.I18nTranslationService; -import cc.kune.gspace.client.actions.NewContainerBtn; +import cc.kune.gspace.client.actions.NewContainerMenuItem; import cc.kune.wiki.shared.WikiConstants; import com.google.inject.Inject; -public class NewFolderBtn extends NewContainerBtn { +public class NewFolderBtn extends NewContainerMenuItem { @Inject public NewFolderBtn(final I18nTranslationService i18n, final NewContainerAction action, - final NavResources res) { + final NavResources res, final WikiFolderNewMenu wikiFolderNewMenu) { super(i18n, action, res.wikiAdd(), i18n.t("New folder"), i18n.t("Create a new folder here. A folder will be a 'section' in the public web"), - i18n.t("New folder"), WikiConstants.TYPE_FOLDER); + i18n.t("New folder"), WikiConstants.TYPE_FOLDER, wikiFolderNewMenu.get()); } } Modified: trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiBtn.java =================================================================== --- trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiBtn.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/wiki/client/actions/NewWikiBtn.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -22,20 +22,21 @@ import cc.kune.common.client.shortcuts.GlobalShortcutRegister; import cc.kune.core.client.resources.nav.NavResources; import cc.kune.core.shared.i18n.I18nTranslationService; -import cc.kune.gspace.client.actions.NewContentBtn; +import cc.kune.gspace.client.actions.NewContentMenuItem; import cc.kune.wiki.shared.WikiConstants; import com.google.inject.Inject; -public class NewWikiBtn extends NewContentBtn { +public class NewWikiBtn extends NewContentMenuItem { @Inject public NewWikiBtn(final I18nTranslationService i18n, final NewContentAction action, - final NavResources res, final GlobalShortcutRegister shorcutReg) { + final NavResources res, final GlobalShortcutRegister shorcutReg, + final WikiFolderNewMenu wikiFolderNewMenu) { super(i18n, action, res.wikipageAdd(), shorcutReg, i18n.t("New wikipage"), i18n.t("Create a New Wikipage here. " + "This document will be a new 'Page' in the public web if you publish it"), - i18n.t("New wikipage"), WikiConstants.TYPE_WIKIPAGE); + i18n.t("New wikipage"), WikiConstants.TYPE_WIKIPAGE, wikiFolderNewMenu.get()); } } Modified: trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java =================================================================== --- trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2011-06-22 16:39:13 UTC (rev 1414) +++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiClientActions.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -26,6 +26,7 @@ import cc.kune.chat.client.actions.ChatAboutContentBtn; import cc.kune.core.client.actions.ActionRegistryByType; import cc.kune.core.client.i18n.I18nUITranslationService; +import cc.kune.core.client.registry.NewMenusForTypeIdsRegistry; import cc.kune.core.client.resources.CoreResources; import cc.kune.core.client.state.Session; import cc.kune.core.client.state.StateManager; @@ -44,6 +45,7 @@ final String[] containers = { TYPE_ROOT, TYPE_FOLDER }; final String[] containersNoRoot = { TYPE_FOLDER }; final String[] contents = { TYPE_WIKIPAGE, TYPE_UPLOADEDFILE }; + final String[] root = { TYPE_ROOT }; @Inject public WikiClientActions(final I18nUITranslationService i18n, final Session session, @@ -55,21 +57,25 @@ final Provider<ParticipateInContentBtn> participateBtn, final Provider<DelFolderMenuItem> delFolderMenuItem, final Provider<ChatAboutContentBtn> chatAbout, final Provider<RefreshContentMenuItem> refresh, - final Provider<SetAsHomePageMenuItem> setAsHomePage) { + final Provider<SetAsHomePageMenuItem> setAsHomePage, + final NewMenusForTypeIdsRegistry newMenusRegistry, final WikiFolderNewMenu folderNewMenu) { super(session, stateManager, i18n, registry); - actionsRegistry.addAction(ActionGroups.VIEW, optionsMenuContent, all); - actionsRegistry.addAction(ActionGroups.VIEW, refresh, all); - actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, contents); - actionsRegistry.addAction(ActionGroups.VIEW, folderGoUp, containersNoRoot); - actionsRegistry.addAction(ActionGroups.VIEW, newWikiBtn, containers); - actionsRegistry.addAction(ActionGroups.VIEW, participateBtn, contents); - actionsRegistry.addAction(ActionGroups.VIEW, newFolderBtn, containers); - actionsRegistry.addAction(ActionGroups.VIEW, chatAbout, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, openContentMenuItem, containersNoRoot); - actionsRegistry.addAction(ActionGroups.MENUITEM, delContentMenuItem, contents); - actionsRegistry.addAction(ActionGroups.MENUITEM, delFolderMenuItem, containersNoRoot); - actionsRegistry.addAction(ActionGroups.MENUITEM, setAsHomePage, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, optionsMenuContent, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderNewMenu, containers); + actionsRegistry.addAction(ActionGroups.TOOLBAR, refresh, all); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, folderGoUp, containersNoRoot); + actionsRegistry.addAction(ActionGroups.TOOLBAR, newWikiBtn, containers); + actionsRegistry.addAction(ActionGroups.TOOLBAR, participateBtn, contents); + actionsRegistry.addAction(ActionGroups.TOOLBAR, newFolderBtn, containers); + actionsRegistry.addAction(ActionGroups.TOOLBAR, chatAbout, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, openContentMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, delContentMenuItem, contents); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, delFolderMenuItem, containersNoRoot); + actionsRegistry.addAction(ActionGroups.ITEM_MENU, setAsHomePage, contents); + newMenusRegistry.register(TYPE_FOLDER, folderNewMenu.get()); + newMenusRegistry.register(TYPE_ROOT, folderNewMenu.get()); } @Override Added: trunk/src/main/java/cc/kune/wiki/client/actions/WikiFolderNewMenu.java =================================================================== --- trunk/src/main/java/cc/kune/wiki/client/actions/WikiFolderNewMenu.java (rev 0) +++ trunk/src/main/java/cc/kune/wiki/client/actions/WikiFolderNewMenu.java 2011-06-24 01:51:23 UTC (rev 1415) @@ -0,0 +1,15 @@ +package cc.kune.wiki.client.actions; + +import cc.kune.gspace.client.actions.AbstractNewMenu; +import cc.kune.gspace.client.actions.NewMenuProvider; + +import com.google.inject.Inject; + +public class WikiFolderNewMenu extends NewMenuProvider { + + @Inject + public WikiFolderNewMenu(final AbstractNewMenu menu) { + super(menu); + } + +} Property changes on: trunk/src/main/java/cc/kune/wiki/client/actions/WikiFolderNewMenu.java ___________________________________________________________________ Name: svn:mime-type + text/plain
participants (1)
-
Vicente J. Ruiz Jurado