]> git.argeo.org Git - gpl/argeo-slc.git/blob - legacy/argeo-commons/org.argeo.cms.ui.workbench.rap/src/org/argeo/cms/ui/workbench/rap/commands/OpenHome.java
Major refactoring of Argeo CMS UI
[gpl/argeo-slc.git] / legacy / argeo-commons / org.argeo.cms.ui.workbench.rap / src / org / argeo / cms / ui / workbench / rap / commands / OpenHome.java
1 package org.argeo.cms.ui.workbench.rap.commands;
2
3 import org.argeo.cms.ui.workbench.UserHomePerspective;
4 import org.argeo.cms.ui.workbench.util.CommandUtils;
5 import org.argeo.eclipse.ui.dialogs.ErrorFeedback;
6 import org.eclipse.core.commands.AbstractHandler;
7 import org.eclipse.core.commands.ExecutionEvent;
8 import org.eclipse.core.commands.ExecutionException;
9 import org.eclipse.ui.WorkbenchException;
10 import org.eclipse.ui.handlers.HandlerUtil;
11
12 /** Default action of the user menu */
13 public class OpenHome extends AbstractHandler {
14 private final static String PROP_OPEN_HOME_CMD_ID = "org.argeo.ui.openHomeCommandId";
15
16 public Object execute(ExecutionEvent event) throws ExecutionException {
17
18 String defaultCmdId = System.getProperty(PROP_OPEN_HOME_CMD_ID, "");
19 if (!"".equals(defaultCmdId.trim()))
20 CommandUtils.callCommand(defaultCmdId);
21 else {
22 try {
23 String defaultPerspective = HandlerUtil.getActiveWorkbenchWindow(event).getWorkbench()
24 .getPerspectiveRegistry().getDefaultPerspective();
25 HandlerUtil.getActiveSite(event).getWorkbenchWindow()
26 .openPage(defaultPerspective != null ? defaultPerspective : UserHomePerspective.ID, null);
27 } catch (WorkbenchException e) {
28 ErrorFeedback.show("Cannot open home perspective", e);
29 }
30 }
31 return null;
32 }
33 }