diff: move Annotate action to top

follow-up: 8baf4704b7
This commit is contained in:
Aleksey Pivovarov
2017-06-08 12:40:03 +03:00
parent 20e21983ce
commit ee1816b378
3 changed files with 23 additions and 7 deletions
@@ -30,7 +30,6 @@ import com.intellij.util.containers.ContainerUtil;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.ArrayList;
import java.util.List;
import static com.intellij.util.ArrayUtil.toObjectArray;
@@ -165,13 +164,28 @@ public class SetEditorSettingsAction extends ActionGroup implements DumbAware {
@NotNull
@Override
public AnAction[] getChildren(@Nullable AnActionEvent e) {
List<AnAction> result = new ArrayList<>();
ContainerUtil.addAll(result, myActions);
result.add(Separator.getInstance());
result.add(ActionManager.getInstance().getAction(IdeActions.GROUP_DIFF_EDITOR_GUTTER_POPUP));
AnAction[] children = ((ActionGroup)ActionManager.getInstance().getAction(IdeActions.GROUP_DIFF_EDITOR_GUTTER_POPUP)).getChildren(e);
AnAction editorSettingsGroup = ActionManager.getInstance().getAction("Diff.EditorGutterPopupMenu.EditorSettings");
DefaultActionGroup ourGroup = new DefaultActionGroup();
ourGroup.add(Separator.getInstance());
ourGroup.addAll(myActions);
ourGroup.add(editorSettingsGroup);
ourGroup.add(Separator.getInstance());
List<AnAction> result = ContainerUtil.newArrayList(children);
replaceOrAppend(result, editorSettingsGroup, ourGroup);
return toObjectArray(result, AnAction.class);
}
private static <T> void replaceOrAppend(List<T> list, T from, T to) {
int index = list.indexOf(from);
if (index == -1) index = list.size();
list.remove(from);
list.add(index, to);
}
private abstract class EditorSettingToggleAction extends ToggleAction implements DumbAware, EditorSettingAction {
private EditorSettingToggleAction(@NotNull String actionId) {
ActionUtil.copyFrom(this, actionId);
@@ -223,7 +223,9 @@
<group id="Diff.EditorPopupMenu"/>
<group id="Diff.ViewerPopupMenu"/>
<group id="Diff.ViewerToolbar"/>
<group id="Diff.EditorGutterPopupMenu"/>
<group id="Diff.EditorGutterPopupMenu">
<group id="Diff.EditorGutterPopupMenu.EditorSettings"/>
</group>
<action id="ScrollTreeToCenter" text="Scroll to Center" class="com.intellij.ide.actions.ScrollTreeToCenterAction" use-shortcut-of="EditorScrollToCenter"/>
@@ -14,7 +14,7 @@
<action id="IntegrateFiles" class="com.intellij.openapi.vcs.update.CommonIntegrateFileOrDirectoryAction"/>
<action id="Annotate" class="com.intellij.openapi.vcs.actions.AnnotateToggleAction">
<add-to-group group-id="Diff.EditorPopupMenu"/>
<add-to-group group-id="Diff.EditorGutterPopupMenu"/>
<add-to-group group-id="Diff.EditorGutterPopupMenu" anchor="first"/>
</action>
<action id="Show.Current.Revision" class="com.intellij.openapi.vcs.actions.ShowBaseRevisionAction" text="Show Current Revision"/>
<action id="Compare.SameVersion" class="com.intellij.openapi.vcs.actions.CompareWithTheSameVersionAction" icon="AllIcons.Actions.Diff"/>