IDEA-89926 Assign keyboard shortcut to "Play Saved Macros" action

This commit is contained in:
Evgeny Zakrevsky
2012-08-31 17:15:36 +04:00
parent 795a337c47
commit fb88a4fa75
4 changed files with 30 additions and 8 deletions
@@ -21,6 +21,7 @@ import com.intellij.openapi.actionSystem.ActionManager;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.actionSystem.ex.ActionManagerEx;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
@@ -33,16 +34,18 @@ import java.util.ArrayList;
* To change this template use Options | File Templates.
*/
public class MacrosGroup extends ActionGroup {
@NotNull
public AnAction[] getChildren(@Nullable AnActionEvent e) {
ArrayList<AnAction> actions = new ArrayList<AnAction>();
final ActionManagerEx actionManager = ((ActionManagerEx) ActionManager.getInstance());
String[] ids = actionManager.getActionIds(ActionMacro.MACRO_ACTION_PREFIX);
for (int i = 0; i < ids.length; i++) {
String id = ids[i];
for (String id : ids) {
actions.add(actionManager.getAction(id));
}
return actions.toArray(new AnAction[actions.size()]);
}
}
@@ -0,0 +1,18 @@
package com.intellij.ide.actionMacro.actions;
import com.intellij.openapi.actionSystem.AnAction;
import com.intellij.openapi.actionSystem.AnActionEvent;
import com.intellij.openapi.ui.popup.JBPopupFactory;
/**
* User: Evgeny.Zakrevsky
* Date: 8/14/12
*/
public class PlaySavedMacros extends AnAction {
@Override
public void actionPerformed(final AnActionEvent e) {
JBPopupFactory.getInstance()
.createActionGroupPopup("Play Saved Macros", new MacrosGroup(), e.getDataContext(), JBPopupFactory.ActionSelectionAid.SPEEDSEARCH, false)
.showCenteredInCurrentWindow(e.getProject());
}
}
@@ -687,13 +687,16 @@ action.GenerateJavadoc.text=Generate Java_Doc...
action.GenerateJavadoc.description=Run the JavaDoc tool
group.Macros.text=_Macros
group.Macros.description=View, Change, Record, Play Macros
group.StanardMacroActions.text=Standard Macro Actions
group.StandardMacroActions.text=Standard Macro Actions
action.PlaybackLastMacro.text=Pla_y Back Last Macro
action.PlaybackLastMacro.description=Play Back last used macro
action.StartStopMacroRecording.text=Start/Stop Macro _Recording
action.StartStopMacroRecording.description=Start/Stop recording of a new macro
action.EditMacros.text=_Edit Macros
action.EditMacros.description=Configure existing macros
action.PlaySavedMacrosAction.text=Play Saved Macros...
action.PlaySavedMacrosAction.description=Play Saved Macros
group.MacrosGroup.text=Macro Actions
action.ValidateXml.text=_Validate
action.ValidateXml.description=Validate the current XML file
action.GenerateDTD.text=Generate DTD from _XML File
@@ -1192,7 +1195,6 @@ group.EditorPopupMenu.Run.text=Compile/Run Actions
group.ProjectViewCompileGroup.text=Compile/Debug Actions
group.ProjectViewAnalysisGroup.text=Analysis Actions
action.PerformanceReport.text=Submit Performance Report
group.MacrosGroup.text=Macro Actions
group.PairFileActions.text=Actions on Pairs of Files
group.RefactoringMenu1.text=Refactoring Actions (1)
group.RefactoringMenu2.text=Refactoring Actions (2)
@@ -1244,8 +1246,6 @@ group.AnalyzeJavaMenu.text=Analyze Java Menu
group.AnalyzeJavaMenu.description=Analyze Java Menu
action.InvalidateCaches.text=Invalidate Caches...
action.InvalidateCaches.description=Force rebuild of all caches and indices on next startup
group.PlaySavedMacroActions.text=Play Saved Macros
group.PlaySavedMacroActions.description=Play Saved Macros
group.ToolsBasicGroup.text=Tools Basic Group
group.ToolsBasicGroup.description=Tools Basic Group
group.ToolbarNewElement.text=Toolbar New Element Group
@@ -203,13 +203,14 @@
<group id="ShowRecentFindUsagesGroup" class="com.intellij.find.impl.ShowRecentFindUsagesGroup" popup="true"/>
</group>
<group id="Macros" popup="true">
<group id="StanardMacroActions">
<group id="StandardMacroActions">
<action id="PlaybackLastMacro" class="com.intellij.ide.actionMacro.actions.PlaybackLastMacroAction"/>
<action id="StartStopMacroRecording" class="com.intellij.ide.actionMacro.actions.StartStopMacroRecordingAction"/>
<action id="EditMacros" class="com.intellij.ide.actionMacro.actions.EditMacrosAction"/>
<action id="PlaySavedMacrosAction" class="com.intellij.ide.actionMacro.actions.PlaySavedMacros"/>
</group>
<separator/>
<group id="PlaySavedMacroActions" class="com.intellij.ide.actionMacro.actions.MacrosGroup"/>
<group id="MacrosGroup" class="com.intellij.ide.actionMacro.actions.MacrosGroup"/>
</group>
<reference ref="EditorToggleColumnMode"/>
<group id="EditSelectGroup">