From 146a9dda5d46e88246bf63d9081bf1d064cb7644 Mon Sep 17 00:00:00 2001 From: irengrig Date: Fri, 6 Nov 2009 19:13:48 +0300 Subject: [PATCH] IDEADEV-41061 (Map help button and F1 of the SVN repository tool window) --- .../idea/svn/actions/BrowseRepositoryAction.java | 15 ++++++++++++++- .../jetbrains/idea/svn/dialogs/CheckoutDialog.java | 4 ++++ .../idea/svn/dialogs/RepositoryBrowserDialog.java | 20 +++++++++++++------- 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/BrowseRepositoryAction.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/BrowseRepositoryAction.java index c3c41a6491..dc792cd181 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/BrowseRepositoryAction.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/actions/BrowseRepositoryAction.java @@ -15,12 +15,15 @@ */ package org.jetbrains.idea.svn.actions; +import com.intellij.CommonBundle; import com.intellij.openapi.Disposable; import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.actionSystem.AnActionEvent; import com.intellij.openapi.actionSystem.PlatformDataKeys; +import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.project.ProjectManager; +import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.wm.ToolWindow; import com.intellij.openapi.wm.ToolWindowAnchor; import com.intellij.openapi.wm.ToolWindowManager; @@ -67,12 +70,22 @@ public class BrowseRepositoryAction extends AnAction { JComponent component = myDialog.createBrowserComponent(true); add(component, BorderLayout.CENTER); - add(myDialog.createToolbar(false), BorderLayout.WEST); + add(myDialog.createToolbar(false, new HelpAction()), BorderLayout.WEST); } public void dispose() { myDialog.disposeRepositoryBrowser(); ToolWindowManager.getInstance(myProject).unregisterToolWindow(BrowseRepositoryAction.REPOSITORY_BROWSER_TOOLWINDOW); } + + private class HelpAction extends AnAction { + public HelpAction() { + super(CommonBundle.getHelpButtonText(), null, IconLoader.getIcon("/actions/help.png")); + } + + public void actionPerformed(AnActionEvent e) { + HelpManager.getInstance().invokeHelp("reference.svn.repository"); + } + } } } diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CheckoutDialog.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CheckoutDialog.java index 362b130608..bffb759ed3 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CheckoutDialog.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/CheckoutDialog.java @@ -44,6 +44,10 @@ public class CheckoutDialog extends RepositoryBrowserDialog { getOKAction().setEnabled(getRepositoryBrowser().getSelectedURL() != null); } + protected String getHelpId() { + return "vcs.subversion.browseSVN"; + } + protected void doOKAction() { final RepositoryTreeNode selectedNode = getSelectedNode(); close(OK_EXIT_CODE); diff --git a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryBrowserDialog.java b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryBrowserDialog.java index 54f7cd6a07..46c8c211c3 100644 --- a/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryBrowserDialog.java +++ b/plugins/svn4idea/src/org/jetbrains/idea/svn/dialogs/RepositoryBrowserDialog.java @@ -24,7 +24,6 @@ import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.fileChooser.FileChooser; import com.intellij.openapi.fileChooser.FileChooserDescriptor; import com.intellij.openapi.fileEditor.FileEditorManager; -import com.intellij.openapi.help.HelpManager; import com.intellij.openapi.ide.CopyPasteManager; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.progress.ProgressIndicator; @@ -88,7 +87,6 @@ public class RepositoryBrowserDialog extends DialogWrapper { private final SvnVcs myVCS; private RepositoryBrowserComponent myRepositoryBrowser; - @NonNls private static final String HELP_ID = "vcs.subversion.browseSVN"; @NonNls public static final String COPY_OF_PREFIX = "CopyOf"; @NonNls public static final String NEW_FOLDER_POSTFIX = "NewFolder"; @@ -117,8 +115,8 @@ public class RepositoryBrowserDialog extends DialogWrapper { init(); } - protected void doHelpAction() { - HelpManager.getInstance().invokeHelp(HELP_ID); + protected String getHelpId() { + return "reference.svn.repository"; } protected Action[] createActions() { @@ -133,7 +131,7 @@ public class RepositoryBrowserDialog extends DialogWrapper { return true; } - public JComponent createToolbar(boolean horizontal) { + public JComponent createToolbar(final boolean horizontal, final AnAction... additionalActions) { DefaultActionGroup group = new DefaultActionGroup(); group.add(new AddLocationAction()); group.add(new EditLocationAction()); @@ -175,8 +173,16 @@ public class RepositoryBrowserDialog extends DialogWrapper { } }, getRepositoryBrowser()); group.add(action); - if (!horizontal) { + + if ((additionalActions != null) || (! horizontal)) { group.addSeparator(); + } + if (additionalActions != null) { + for (AnAction anAction : additionalActions) { + group.add(anAction); + } + } + if (! horizontal) { group.add(new CloseToolWindowAction()); } return ActionManager.getInstance().createActionToolbar(PLACE_TOOLBAR, group, horizontal).getComponent(); @@ -217,7 +223,7 @@ public class RepositoryBrowserDialog extends DialogWrapper { JPanel top = new JPanel(new BorderLayout()); top.add(new JLabel("Repositories:"), BorderLayout.WEST); - top.add(createToolbar(true), BorderLayout.EAST); + top.add(createToolbar(true, null), BorderLayout.EAST); parentPanel.add(top, BorderLayout.NORTH); JComponent panel = createBrowserComponent(false); -- 2.11.4.GIT