mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
vcs: Reused in "commit dialog" action group (and shortcuts) as in "UnversionedViewDialog"
This commit is contained in:
@@ -36,6 +36,7 @@ import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.ui.ScrollPaneFactory;
|
||||
import com.intellij.util.EditSourceOnDoubleClickHandler;
|
||||
import com.intellij.util.EditSourceOnEnterKeyHandler;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.ui.tree.TreeUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -43,7 +44,6 @@ import javax.swing.*;
|
||||
import javax.swing.tree.DefaultTreeModel;
|
||||
import javax.swing.tree.TreePath;
|
||||
import java.awt.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
@@ -110,10 +110,12 @@ public class UnversionedViewDialog extends DialogWrapper {
|
||||
final DefaultActionGroup group = new DefaultActionGroup();
|
||||
final ActionToolbar actionToolbar = ActionManager.getInstance().createActionToolbar("UNVERSIONED_DIALOG", group, true);
|
||||
|
||||
final ActionGroup operatingActions = (ActionGroup)ActionManager.getInstance().getAction("Unversioned.Files.Dialog");
|
||||
registerShortcuts(operatingActions, actionToolbar.getToolbarDataContext());
|
||||
refreshViewAfterActionPerformed(operatingActions);
|
||||
group.add(operatingActions);
|
||||
registerUnversionedActionsShortcuts(actionToolbar.getToolbarDataContext(), myView);
|
||||
// special shortcut for deleting a file
|
||||
EmptyAction.registerWithShortcutSet("ChangesView.DeleteUnversioned.From.Dialog", CommonShortcuts.getDelete(), myView);
|
||||
|
||||
refreshViewAfterActionPerformed(getUnversionedActionGroup());
|
||||
group.add(getUnversionedActionGroup());
|
||||
|
||||
final CommonActionsManager cam = CommonActionsManager.getInstance();
|
||||
final Expander expander = new Expander();
|
||||
@@ -126,23 +128,12 @@ public class UnversionedViewDialog extends DialogWrapper {
|
||||
myPanel.add(ScrollPaneFactory.createScrollPane(myView), BorderLayout.CENTER);
|
||||
|
||||
final DefaultActionGroup secondGroup = new DefaultActionGroup();
|
||||
secondGroup.addAll(operatingActions);
|
||||
secondGroup.addAll(getUnversionedActionGroup());
|
||||
|
||||
myView.setMenuActions(secondGroup);
|
||||
myView.setShowFlatten(false);
|
||||
}
|
||||
|
||||
private void registerShortcuts(@NotNull ActionGroup opActionGroup, @NotNull DataContext dataContext) {
|
||||
List<AnAction> opActions = new ArrayList<AnAction>();
|
||||
Utils.expandActionGroup(opActionGroup, opActions, new PresentationFactory(), dataContext, "", ActionManager.getInstance());
|
||||
for (AnAction action : opActions) {
|
||||
action.registerCustomShortcutSet(action.getShortcutSet(), myView);
|
||||
}
|
||||
|
||||
// special shortcut for deleting a file
|
||||
EmptyAction.registerWithShortcutSet("ChangesView.DeleteUnversioned.From.Dialog", CommonShortcuts.getDelete(), myView);
|
||||
}
|
||||
|
||||
private void refreshViewAfterActionPerformed(@NotNull final ActionGroup opActionGroup) {
|
||||
ActionManager.getInstance().addAnActionListener(new AnActionListener.Adapter() {
|
||||
@Override
|
||||
@@ -157,6 +148,21 @@ public class UnversionedViewDialog extends DialogWrapper {
|
||||
}, myDisposable);
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public static ActionGroup getUnversionedActionGroup() {
|
||||
return (ActionGroup)ActionManager.getInstance().getAction("Unversioned.Files.Dialog");
|
||||
}
|
||||
|
||||
public static void registerUnversionedActionsShortcuts(@NotNull DataContext dataContext, @NotNull JComponent component) {
|
||||
ActionManager manager = ActionManager.getInstance();
|
||||
List<AnAction> actions = ContainerUtil.newArrayList();
|
||||
|
||||
Utils.expandActionGroup(getUnversionedActionGroup(), actions, new PresentationFactory(), dataContext, "", manager);
|
||||
for (AnAction action : actions) {
|
||||
action.registerCustomShortcutSet(action.getShortcutSet(), component);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected String getDimensionServiceKey() {
|
||||
return "com.intellij.openapi.vcs.changes.UnversionedViewDialog";
|
||||
|
||||
+10
-6
@@ -16,6 +16,7 @@
|
||||
package com.intellij.openapi.vcs.changes.ui;
|
||||
|
||||
import com.intellij.icons.AllIcons;
|
||||
import com.intellij.ide.DataManager;
|
||||
import com.intellij.openapi.actionSystem.*;
|
||||
import com.intellij.openapi.actionSystem.ex.AnActionListener;
|
||||
import com.intellij.openapi.application.ApplicationManager;
|
||||
@@ -304,9 +305,6 @@ public class MultipleChangeListBrowser extends ChangesBrowserBase<Object> {
|
||||
protected void buildToolBar(@NotNull DefaultActionGroup toolBarGroup) {
|
||||
super.buildToolBar(toolBarGroup);
|
||||
|
||||
EmptyAction.registerWithShortcutSet(IdeActions.MOVE_TO_ANOTHER_CHANGE_LIST, CommonShortcuts.getMove(), myViewer);
|
||||
toolBarGroup.add(ActionManager.getInstance().getAction(IdeActions.MOVE_TO_ANOTHER_CHANGE_LIST));
|
||||
|
||||
toolBarGroup.add(new AnAction("Refresh Changes", null, AllIcons.Actions.Refresh) {
|
||||
@Override
|
||||
public void actionPerformed(AnActionEvent e) {
|
||||
@@ -314,10 +312,16 @@ public class MultipleChangeListBrowser extends ChangesBrowserBase<Object> {
|
||||
}
|
||||
});
|
||||
if (Registry.is("vcs.unversioned.files.in.commit")) {
|
||||
toolBarGroup.add(ActionManager.getInstance().getAction("ChangesView.AddUnversioned.From.Dialog"));
|
||||
toolBarGroup.add(ActionManager.getInstance().getAction("ChangesView.DeleteUnversioned.From.Dialog"));
|
||||
toolBarGroup.add(ActionManager.getInstance().getAction("ChangesView.Ignore"));
|
||||
toolBarGroup.add(UnversionedViewDialog.getUnversionedActionGroup());
|
||||
}
|
||||
else {
|
||||
toolBarGroup.add(ActionManager.getInstance().getAction(IdeActions.MOVE_TO_ANOTHER_CHANGE_LIST));
|
||||
}
|
||||
UnversionedViewDialog.registerUnversionedActionsShortcuts(DataManager.getInstance().getDataContext(this), myViewer);
|
||||
// We do not add "Delete" key shortcut for deleting unversioned files as this shortcut is already used to uncheck
|
||||
// checkboxes in the tree.
|
||||
EmptyAction.registerWithShortcutSet(IdeActions.MOVE_TO_ANOTHER_CHANGE_LIST, CommonShortcuts.getMove(), myViewer);
|
||||
|
||||
RollbackDialogAction rollback = new RollbackDialogAction();
|
||||
EmptyAction.setupAction(rollback, IdeActions.CHANGES_VIEW_ROLLBACK, this);
|
||||
toolBarGroup.add(rollback);
|
||||
|
||||
Reference in New Issue
Block a user