diff --git a/platform/lang-api/src/com/intellij/application/options/codeStyle/arrangement/ArrangementConstants.java b/platform/lang-api/src/com/intellij/application/options/codeStyle/arrangement/ArrangementConstants.java index 25987fe8a7ad..3b703dbcc4ca 100644 --- a/platform/lang-api/src/com/intellij/application/options/codeStyle/arrangement/ArrangementConstants.java +++ b/platform/lang-api/src/com/intellij/application/options/codeStyle/arrangement/ArrangementConstants.java @@ -35,20 +35,6 @@ public class ArrangementConstants { @NonNls public static final String ALIAS_RULE_CONTROL_TOOLBAR_PLACE = "Arrangement.Alias.Rule.ToolBar.Place"; @NonNls public static final String ALIAS_RULE_CONTROL_PLACE = "Arrangement.Alias.Rule.Control.Place"; - @NonNls public static final String MATCHING_RULE_ADD = "Arrangement.Rule.Add"; - @NonNls public static final String MATCHING_RULE_REMOVE = "Arrangement.Rule.Remove"; - @NonNls public static final String MATCHING_RULE_EDIT = "Arrangement.Rule.Edit"; - @NonNls public static final String MATCHING_RULE_MOVE_UP = "Arrangement.Rule.Match.Condition.Move.Up"; - @NonNls public static final String MATCHING_RULE_MOVE_DOWN = "Arrangement.Rule.Match.Condition.Move.Down"; - @NonNls public static final String GROUPING_RULE_MOVE_UP = "Arrangement.Rule.Group.Condition.Move.Up"; - @NonNls public static final String GROUPING_RULE_MOVE_DOWN = "Arrangement.Rule.Group.Condition.Move.Down"; - - @NonNls public static final String MATCHING_ALIAS_RULE_ADD = "Arrangement.Alias.Rule.Add"; - @NonNls public static final String MATCHING_ALIAS_RULE_REMOVE = "Arrangement.Alias.Rule.Remove"; - @NonNls public static final String MATCHING_ALIAS_RULE_EDIT = "Arrangement.Alias.Rule.Edit"; - @NonNls public static final String MATCHING_ALIAS_RULE_MOVE_UP = "Arrangement.Alias.Rule.Match.Condition.Move.Up"; - @NonNls public static final String MATCHING_ALIAS_RULE_MOVE_DOWN = "Arrangement.Alias.Rule.Match.Condition.Move.Down"; - public static final int HORIZONTAL_PADDING = 8; public static final int VERTICAL_PADDING = 4; public static final int HORIZONTAL_GAP = 5; diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/ArrangementSettingsPanel.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/ArrangementSettingsPanel.java index 55d2f635803a..a5ff723ba1ae 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/ArrangementSettingsPanel.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/ArrangementSettingsPanel.java @@ -22,7 +22,6 @@ import com.intellij.application.options.codeStyle.arrangement.color.ArrangementC import com.intellij.application.options.codeStyle.arrangement.group.ArrangementGroupingRulesPanel; import com.intellij.application.options.codeStyle.arrangement.match.ArrangementMatchingRulesPanel; import com.intellij.lang.Language; -import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.application.ApplicationBundle; import com.intellij.openapi.editor.colors.EditorColorsScheme; import com.intellij.openapi.editor.highlighter.EditorHighlighter; @@ -98,23 +97,6 @@ public abstract class ArrangementSettingsPanel extends CodeStyleAbstractPanel { final List groupingTokens = settingsManager.getSupportedGroupingTokens(); myGroupingRulesPanel.setVisible(groupingTokens != null && !groupingTokens.isEmpty()); - - registerShortcut(ArrangementConstants.MATCHING_RULE_ADD, CommonShortcuts.getNew(), myMatchingRulesPanel); - registerShortcut(ArrangementConstants.MATCHING_RULE_REMOVE, CommonShortcuts.getDelete(), myMatchingRulesPanel); - registerShortcut(ArrangementConstants.MATCHING_RULE_MOVE_UP, CommonShortcuts.MOVE_UP, myMatchingRulesPanel); - registerShortcut(ArrangementConstants.MATCHING_RULE_MOVE_DOWN, CommonShortcuts.MOVE_DOWN, myMatchingRulesPanel); - final CustomShortcutSet edit = new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0)); - registerShortcut(ArrangementConstants.MATCHING_RULE_EDIT, edit, myMatchingRulesPanel); - - registerShortcut(ArrangementConstants.GROUPING_RULE_MOVE_UP, CommonShortcuts.MOVE_UP, myGroupingRulesPanel); - registerShortcut(ArrangementConstants.GROUPING_RULE_MOVE_DOWN, CommonShortcuts.MOVE_DOWN, myGroupingRulesPanel); - } - - private void registerShortcut(@NotNull String actionId, @NotNull ShortcutSet shortcut, @NotNull JComponent component) { - final AnAction action = ActionManager.getInstance().getAction(actionId); - if (action != null) { - action.registerCustomShortcutSet(shortcut, component, this); - } } @Nullable diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/AddArrangementRuleAction.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/AddArrangementRuleAction.java index 614701e8e99a..72bf323bd99f 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/AddArrangementRuleAction.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/AddArrangementRuleAction.java @@ -35,6 +35,7 @@ public class AddArrangementRuleAction extends AbstractArrangementRuleAction impl getTemplatePresentation().setText(ApplicationBundle.message("arrangement.action.rule.add.text")); getTemplatePresentation().setDescription(ApplicationBundle.message("arrangement.action.rule.add.description")); getTemplatePresentation().setIcon(IconUtil.getAddIcon()); + setEnabledInModalContext(true); } @Override diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/EditArrangementRuleAction.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/EditArrangementRuleAction.java index 58c2422f51a1..098429ec5da3 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/EditArrangementRuleAction.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/EditArrangementRuleAction.java @@ -33,6 +33,7 @@ public class EditArrangementRuleAction extends AbstractArrangementRuleAction imp getTemplatePresentation().setText(ApplicationBundle.message("arrangement.action.rule.edit.text")); getTemplatePresentation().setDescription(ApplicationBundle.message("arrangement.action.rule.edit.description")); getTemplatePresentation().setIcon(IconUtil.getEditIcon()); + setEnabledInModalContext(true); } @Override diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/MoveArrangementMatchingRuleDownAction.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/MoveArrangementMatchingRuleDownAction.java index 2596ce9f89ef..0b91e7d35726 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/MoveArrangementMatchingRuleDownAction.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/MoveArrangementMatchingRuleDownAction.java @@ -33,6 +33,7 @@ public class MoveArrangementMatchingRuleDownAction extends AbstractMoveArrangeme getTemplatePresentation().setText(ApplicationBundle.message("arrangement.action.rule.move.down.text")); getTemplatePresentation().setDescription(ApplicationBundle.message("arrangement.action.rule.move.down.description")); getTemplatePresentation().setIcon(IconUtil.getMoveDownIcon()); + setEnabledInModalContext(true); } @Override diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/MoveArrangementMatchingRuleUpAction.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/MoveArrangementMatchingRuleUpAction.java index 037aec13efba..3ed92c95ad24 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/MoveArrangementMatchingRuleUpAction.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/MoveArrangementMatchingRuleUpAction.java @@ -33,6 +33,7 @@ public class MoveArrangementMatchingRuleUpAction extends AbstractMoveArrangement getTemplatePresentation().setText(ApplicationBundle.message("arrangement.action.rule.move.up.text")); getTemplatePresentation().setDescription(ApplicationBundle.message("arrangement.action.rule.move.up.description")); getTemplatePresentation().setIcon(IconUtil.getMoveUpIcon()); + setEnabledInModalContext(true); } @Override diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/RemoveArrangementRuleAction.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/RemoveArrangementRuleAction.java index 4b2f1540c09d..5f03e2592c25 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/RemoveArrangementRuleAction.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/action/RemoveArrangementRuleAction.java @@ -33,6 +33,7 @@ public class RemoveArrangementRuleAction extends AbstractArrangementRuleAction i getTemplatePresentation().setText(ApplicationBundle.message("arrangement.action.rule.remove.text")); getTemplatePresentation().setDescription(ApplicationBundle.message("arrangement.action.rule.remove.description")); getTemplatePresentation().setIcon(IconUtil.getRemoveIcon()); + setEnabledInModalContext(true); } @Override diff --git a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/match/tokens/ArrangementRuleAliasConfigurable.java b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/match/tokens/ArrangementRuleAliasConfigurable.java index 2046483396bb..1f412fbd44eb 100644 --- a/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/match/tokens/ArrangementRuleAliasConfigurable.java +++ b/platform/lang-impl/src/com/intellij/application/options/codeStyle/arrangement/match/tokens/ArrangementRuleAliasConfigurable.java @@ -15,21 +15,16 @@ */ package com.intellij.application.options.codeStyle.arrangement.match.tokens; -import com.intellij.application.options.codeStyle.arrangement.ArrangementConstants; import com.intellij.application.options.codeStyle.arrangement.color.ArrangementColorsProvider; -import com.intellij.openapi.Disposable; -import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.options.ConfigurationException; import com.intellij.openapi.options.UnnamedConfigurable; -import com.intellij.openapi.util.Disposer; import com.intellij.psi.codeStyle.arrangement.match.StdArrangementMatchRule; -import com.intellij.psi.codeStyle.arrangement.std.StdArrangementRuleAliasToken; import com.intellij.psi.codeStyle.arrangement.std.ArrangementStandardSettingsManager; +import com.intellij.psi.codeStyle.arrangement.std.StdArrangementRuleAliasToken; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import javax.swing.*; -import java.awt.event.KeyEvent; import java.util.List; /** @@ -45,29 +40,6 @@ public class ArrangementRuleAliasConfigurable implements UnnamedConfigurable { myToken = token; myTokenRulesPanel = new ArrangementRuleAliasesPanel(settingsManager, colorsProvider); myTokenRulesPanel.setRuleSequences(token.getDefinitionRules()); - - registerShortcut(ArrangementConstants.MATCHING_ALIAS_RULE_ADD, CommonShortcuts.getNew(), myTokenRulesPanel); - registerShortcut(ArrangementConstants.MATCHING_ALIAS_RULE_REMOVE, CommonShortcuts.getDelete(), myTokenRulesPanel); - registerShortcut(ArrangementConstants.MATCHING_ALIAS_RULE_MOVE_UP, CommonShortcuts.MOVE_UP, myTokenRulesPanel); - registerShortcut(ArrangementConstants.MATCHING_ALIAS_RULE_MOVE_DOWN, CommonShortcuts.MOVE_DOWN, myTokenRulesPanel); - final CustomShortcutSet edit = new CustomShortcutSet(KeyStroke.getKeyStroke(KeyEvent.VK_F2, 0)); - registerShortcut(ArrangementConstants.MATCHING_ALIAS_RULE_EDIT, edit, myTokenRulesPanel); - } - - private static void registerShortcut(@NotNull String actionId, - @NotNull ShortcutSet shortcut, - @NotNull JComponent component) { - final AnAction action = ActionManager.getInstance().getAction(actionId); - if (action != null) { - action.registerCustomShortcutSet(shortcut, component); - } - } - - private static void unregisterShortcut(@NotNull String actionId, @NotNull JComponent component) { - final AnAction action = ActionManager.getInstance().getAction(actionId); - if (action != null) { - action.unregisterCustomShortcutSet(component); - } } @Nullable @@ -94,15 +66,5 @@ public class ArrangementRuleAliasConfigurable implements UnnamedConfigurable { @Override public void disposeUIResources() { - Disposer.dispose(new Disposable() { - @Override - public void dispose() { - unregisterShortcut(ArrangementConstants.MATCHING_ALIAS_RULE_ADD, myTokenRulesPanel); - unregisterShortcut(ArrangementConstants.MATCHING_ALIAS_RULE_REMOVE, myTokenRulesPanel); - unregisterShortcut(ArrangementConstants.MATCHING_ALIAS_RULE_MOVE_UP, myTokenRulesPanel); - unregisterShortcut(ArrangementConstants.MATCHING_ALIAS_RULE_MOVE_DOWN, myTokenRulesPanel); - unregisterShortcut(ArrangementConstants.MATCHING_ALIAS_RULE_EDIT, myTokenRulesPanel); - } - }); } } diff --git a/platform/platform-resources/src/idea/LangActions.xml b/platform/platform-resources/src/idea/LangActions.xml index f7dc145b8ea3..780094342e27 100644 --- a/platform/platform-resources/src/idea/LangActions.xml +++ b/platform/platform-resources/src/idea/LangActions.xml @@ -907,34 +907,50 @@ + + class="com.intellij.application.options.codeStyle.arrangement.action.EditArrangementRuleAction"> + + + class="com.intellij.application.options.codeStyle.arrangement.action.MoveArrangementMatchingRuleUpAction"> + + + class="com.intellij.application.options.codeStyle.arrangement.action.MoveArrangementMatchingRuleDownAction"> + + - +