summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'platform/platform-impl/src/com/intellij/ide/actions/Switcher.java')
-rw-r--r--platform/platform-impl/src/com/intellij/ide/actions/Switcher.java83
1 files changed, 44 insertions, 39 deletions
diff --git a/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java b/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java
index cb35b5a504f9..cecf0f60a803 100644
--- a/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java
+++ b/platform/platform-impl/src/com/intellij/ide/actions/Switcher.java
@@ -94,7 +94,7 @@ public class Switcher extends AnAction implements DumbAware {
public void run() {
synchronized (Switcher.class) {
if (SWITCHER != null) {
- SWITCHER.navigate();
+ SWITCHER.navigate(false);
}
}
}
@@ -135,7 +135,7 @@ public class Switcher extends AnAction implements DumbAware {
@NonNls private static final String SWITCHER_TITLE = "Switcher";
- public void actionPerformed(AnActionEvent e) {
+ public void actionPerformed(@NotNull AnActionEvent e) {
final Project project = CommonDataKeys.PROJECT.getData(e.getDataContext());
if (project == null) return;
@@ -200,7 +200,7 @@ public class Switcher extends AnAction implements DumbAware {
jList.setSelectedIndex(jList.getAnchorSelectionIndex());
}
if (jList.getSelectedIndex() != -1) {
- navigate();
+ navigate(false);
}
}
return true;
@@ -226,7 +226,7 @@ public class Switcher extends AnAction implements DumbAware {
descriptions = new JPanel(new BorderLayout()) {
@Override
- protected void paintComponent(Graphics g) {
+ protected void paintComponent(@NotNull Graphics g) {
super.paintComponent(g);
g.setColor(UIUtil.isUnderDarcula() ? SEPARATOR_COLOR : BORDER_COLOR);
g.drawLine(0, 0, getWidth(), 0);
@@ -249,7 +249,7 @@ public class Switcher extends AnAction implements DumbAware {
final Map<ToolWindow, String> map = ContainerUtil.reverseMap(twShortcuts);
Collections.sort(windows, new Comparator<ToolWindow>() {
@Override
- public int compare(ToolWindow o1, ToolWindow o2) {
+ public int compare(@NotNull ToolWindow o1, @NotNull ToolWindow o2) {
return StringUtil.compare(map.get(o1), map.get(o2), false);
}
});
@@ -297,7 +297,7 @@ public class Switcher extends AnAction implements DumbAware {
toolWindows.addMouseMotionListener(this);
myClickListener.installOn(toolWindows);
toolWindows.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e) {
+ public void valueChanged(@NotNull ListSelectionEvent e) {
if (!toolWindows.isSelectionEmpty() && !files.isSelectionEmpty()) {
files.clearSelection();
}
@@ -306,7 +306,7 @@ public class Switcher extends AnAction implements DumbAware {
separator = new JPanel() {
@Override
- protected void paintComponent(Graphics g) {
+ protected void paintComponent(@NotNull Graphics g) {
super.paintComponent(g);
g.setColor(SEPARATOR_COLOR);
g.drawLine(0, 0, 0, getHeight());
@@ -374,7 +374,7 @@ public class Switcher extends AnAction implements DumbAware {
JPanel myPanel = new JPanel(new BorderLayout());
JLabel myLabel = new JLabel() {
@Override
- protected void paintComponent(Graphics g) {
+ protected void paintComponent(@NotNull Graphics g) {
GraphicsConfig config = new GraphicsConfig(g);
((Graphics2D)g).setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 0.3f));
super.paintComponent(g);
@@ -425,7 +425,7 @@ public class Switcher extends AnAction implements DumbAware {
return fullText;
}
- public void valueChanged(final ListSelectionEvent e) {
+ public void valueChanged(@NotNull final ListSelectionEvent e) {
ApplicationManager.getApplication().invokeLater(new Runnable() {
public void run() {
updatePathLabel();
@@ -466,7 +466,7 @@ public class Switcher extends AnAction implements DumbAware {
files.setSelectionMode(pinned ? ListSelectionModel.MULTIPLE_INTERVAL_SELECTION : ListSelectionModel.SINGLE_SELECTION);
files.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e) {
+ public void valueChanged(@NotNull ListSelectionEvent e) {
if (!files.isSelectionEmpty() && !toolWindows.isSelectionEmpty()) {
toolWindows.getSelectionModel().clearSelection();
}
@@ -526,21 +526,21 @@ public class Switcher extends AnAction implements DumbAware {
if (isPinnedMode()) {
new AnAction(null ,null ,null) {
@Override
- public void actionPerformed(AnActionEvent e) {
+ public void actionPerformed(@NotNull AnActionEvent e) {
changeSelection();
}
}.registerCustomShortcutSet(CustomShortcutSet.fromString("TAB"), this, myPopup);
new AnAction(null, null, null) {
@Override
- public void actionPerformed(AnActionEvent e) {
+ public void actionPerformed(@NotNull AnActionEvent e) {
//suppress all actions to activate a toolwindow : IDEA-71277
}
}.registerCustomShortcutSet(TW_SHORTCUT, this, myPopup);
new AnAction(null, null, null) {
@Override
- public void actionPerformed(AnActionEvent e) {
+ public void actionPerformed(@NotNull AnActionEvent e) {
if (mySpeedSearch != null && mySpeedSearch.isPopupActive()) {
mySpeedSearch.hidePopup();
} else {
@@ -590,24 +590,24 @@ public class Switcher extends AnAction implements DumbAware {
return ((KeyboardShortcut)shortcutSet.getShortcuts()[0]).getFirstKeyStroke().getModifiers();
}
- public void keyTyped(KeyEvent e) {
+ public void keyTyped(@NotNull KeyEvent e) {
}
public void keyReleased(KeyEvent e) {
- if ((e.getKeyCode() == CTRL_KEY && isAutoHide())
- || e.getKeyCode() == VK_ENTER) {
- navigate();
- } else
- if (e.getKeyCode() == VK_LEFT) {
+ if (e.getKeyCode() == CTRL_KEY && isAutoHide() || e.getKeyCode() == VK_ENTER) {
+ navigate(e.isShiftDown());
+ }
+ else if (e.getKeyCode() == VK_LEFT) {
goLeft();
- } else if (e.getKeyCode() == VK_RIGHT) {
+ }
+ else if (e.getKeyCode() == VK_RIGHT) {
goRight();
}
}
KeyEvent lastEvent;
- public void keyPressed(KeyEvent e) {
- if ((mySpeedSearch != null && mySpeedSearch.isPopupActive()) || lastEvent == e) return;
+ public void keyPressed(@NotNull KeyEvent e) {
+ if (mySpeedSearch != null && mySpeedSearch.isPopupActive() || lastEvent == e) return;
lastEvent = e;
switch (e.getKeyCode()) {
case VK_UP:
@@ -668,7 +668,7 @@ public class Switcher extends AnAction implements DumbAware {
if (value instanceof FileInfo) {
final FileInfo info = (FileInfo)value;
final VirtualFile virtualFile = info.first;
- final FileEditorManagerImpl editorManager = ((FileEditorManagerImpl)FileEditorManager.getInstance(project));
+ final FileEditorManagerImpl editorManager = (FileEditorManagerImpl)FileEditorManager.getInstance(project);
final JList jList = getSelectedList();
final EditorWindow wnd = findAppropriateWindow(info);
if (wnd == null) {
@@ -836,7 +836,7 @@ public class Switcher extends AnAction implements DumbAware {
}
}
- void navigate() {
+ void navigate(final boolean openInNewWindow) {
final Object[] values = getSelectedList().getSelectedValues();
myPopup.closeOk(null);
if (values.length > 0 && values[0] instanceof ToolWindow) {
@@ -850,14 +850,19 @@ public class Switcher extends AnAction implements DumbAware {
if (value instanceof FileInfo) {
final FileInfo info = (FileInfo)value;
- if (info.second != null) {
+ VirtualFile file = info.first;
+ if (openInNewWindow) {
+ manager.openFileInNewWindow(file);
+ }
+ else if (info.second != null) {
EditorWindow wnd = findAppropriateWindow(info);
if (wnd != null) {
- manager.openFileImpl2(wnd, info.first, true);
- manager.addSelectionRecord(info.first, wnd);
+ manager.openFileImpl2(wnd, file, true);
+ manager.addSelectionRecord(file, wnd);
}
- } else {
- manager.openFile(info.first, true, true);
+ }
+ else {
+ manager.openFile(file, true, true);
}
}
}
@@ -873,13 +878,13 @@ public class Switcher extends AnAction implements DumbAware {
return ArrayUtil.contains(info.second, windows) ? info.second : windows.length > 0 ? windows[0] : null;
}
- public void mouseClicked(MouseEvent e) {
+ public void mouseClicked(@NotNull MouseEvent e) {
}
private boolean mouseMovedFirstTime = true;
private JList mouseMoveSrc = null;
private int mouseMoveListIndex = -1;
- public void mouseMoved(MouseEvent e) {
+ public void mouseMoved(@NotNull MouseEvent e) {
if (mouseMovedFirstTime) {
mouseMovedFirstTime = false;
return;
@@ -907,15 +912,15 @@ public class Switcher extends AnAction implements DumbAware {
files.repaint();
}
- public void mousePressed(MouseEvent e) {}
- public void mouseReleased(MouseEvent e) {}
- public void mouseEntered(MouseEvent e) {}
- public void mouseExited(MouseEvent e) {
+ public void mousePressed(@NotNull MouseEvent e) {}
+ public void mouseReleased(@NotNull MouseEvent e) {}
+ public void mouseEntered(@NotNull MouseEvent e) {}
+ public void mouseExited(@NotNull MouseEvent e) {
mouseMoveSrc = null;
mouseMoveListIndex = -1;
repaintLists();
}
- public void mouseDragged(MouseEvent e) {}
+ public void mouseDragged(@NotNull MouseEvent e) {}
private class SwitcherSpeedSearch extends SpeedSearchBase<SwitcherPanel> implements PropertyChangeListener {
private Object[] myElements;
@@ -1031,7 +1036,7 @@ public class Switcher extends AnAction implements DumbAware {
}
@Override
- public void propertyChange(PropertyChangeEvent evt) {
+ public void propertyChange(@NotNull PropertyChangeEvent evt) {
final MyList list = getSelectedList();
final Object value = list.getSelectedValue();
if (project.isDisposed()) {
@@ -1068,7 +1073,7 @@ public class Switcher extends AnAction implements DumbAware {
private Rectangle dBounds;
@Override
- public void layoutContainer(Container target) {
+ public void layoutContainer(@NotNull Container target) {
final JScrollPane scrollPane = UIUtil.getParentOfType(JScrollPane.class, files);
JComponent filesPane = scrollPane != null ? scrollPane : files;
if (sBounds == null || !target.isShowing()) {
@@ -1142,7 +1147,7 @@ public class Switcher extends AnAction implements DumbAware {
}
@Override
- public void processKeyEvent(KeyEvent e) {
+ public void processKeyEvent(@NotNull KeyEvent e) {
super.processKeyEvent(e);
}
}