diff options
author | Tor Norbye <tnorbye@google.com> | 2014-07-25 20:12:40 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2014-07-24 20:55:36 +0000 |
commit | 6044be7330c93bc8dacb0f63e62da8029f39a16f (patch) | |
tree | 0ba72f5de1949e0527874a799baa224cbe1537e0 /platform/platform-impl/src/com/intellij/openapi/wm/impl | |
parent | b03a5855292feb8c331815f883fe64372aacd872 (diff) | |
parent | e5266e2343c8d275d79fa0be725180d0fe3a993c (diff) | |
download | idea-6044be7330c93bc8dacb0f63e62da8029f39a16f.tar.gz |
Merge "Merge remote-tracking branch 'aosp/upstream-master' into merge"
Diffstat (limited to 'platform/platform-impl/src/com/intellij/openapi/wm/impl')
6 files changed, 44 insertions, 15 deletions
diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java index 36a79f23cf89..c302cce7572e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java @@ -195,7 +195,7 @@ public class FocusManagerImpl extends IdeFocusManager implements Disposable { @Override @NotNull public ActionCallback requestFocus(@NotNull final Component c, final boolean forced) { - return requestFocus(new FocusCommand.ByComponent(c), forced); + return requestFocus(new FocusCommand.ByComponent(c, new Exception()), forced); } @Override @@ -1148,7 +1148,7 @@ public class FocusManagerImpl extends IdeFocusManager implements Disposable { } if (toFocus != null) { - return requestFocus(new FocusCommand.ByComponent(toFocus).setToInvalidateRequestors(false), forced); + return requestFocus(new FocusCommand.ByComponent(toFocus, new Exception()).setToInvalidateRequestors(false), forced); } diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/StripeButton.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/StripeButton.java index 7d534d5be545..f62ff2c1819a 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/StripeButton.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/StripeButton.java @@ -30,6 +30,7 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.wm.ToolWindowAnchor; import com.intellij.ui.MouseDragHelper; import com.intellij.ui.PopupHandler; +import com.intellij.util.ui.JBImageIcon; import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -183,12 +184,22 @@ public final class StripeButton extends AnchoredButton implements ActionListener if (myDragPane == null) return; final BufferedImage image = UIUtil.createImage(getWidth(), getHeight(), BufferedImage.TYPE_INT_ARGB); paint(image.getGraphics()); - myDragButtonImage = new JLabel(new ImageIcon(image)) { + myDragButtonImage = new JLabel(new JBImageIcon(image)) { public String toString() { return "Image for: " + StripeButton.this.toString(); } }; + + myDragButtonImage.addMouseListener(new MouseAdapter() { + @Override + public void mouseReleased(MouseEvent e) { + finishDragging(); + myPressedPoint = null; + myDragButtonImage = null; + super.mouseReleased(e); + } + }); myDragPane.add(myDragButtonImage, JLayeredPane.POPUP_LAYER); myDragButtonImage.setSize(myDragButtonImage.getPreferredSize()); setVisible(false); diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/TestWindowManager.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/TestWindowManager.java index b2fc056d0a71..aa7d022a4b5e 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/TestWindowManager.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/TestWindowManager.java @@ -22,6 +22,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.MessageType; import com.intellij.openapi.ui.popup.BalloonHandler; import com.intellij.openapi.util.Disposer; +import com.intellij.openapi.util.Key; import com.intellij.openapi.util.Pair; import com.intellij.openapi.wm.IdeFrame; import com.intellij.openapi.wm.StatusBar; @@ -38,14 +39,16 @@ import javax.swing.event.HyperlinkListener; import java.awt.*; import java.awt.event.ComponentEvent; import java.util.Collections; +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @author Anton Katilin * @author Vladimir Kondratyev */ public final class TestWindowManager extends WindowManagerEx { - private static final StatusBarEx ourStatusBar = new DummyStatusBar(); + private static final Key<StatusBar> STATUS_BAR = Key.create("STATUS_BAR"); public final void doNotSuggestAsParent(final Window window) { } @@ -66,7 +69,13 @@ public final class TestWindowManager extends WindowManagerEx { @Override public final StatusBar getStatusBar(final Project project) { - return ourStatusBar; + synchronized (STATUS_BAR) { + StatusBar statusBar = project.getUserData(STATUS_BAR); + if (statusBar == null) { + project.putUserData(STATUS_BAR, statusBar = new DummyStatusBar()); + } + return statusBar; + } } @Override @@ -86,6 +95,8 @@ public final class TestWindowManager extends WindowManagerEx { public void resetWindow(final Window window) { } private static final class DummyStatusBar implements StatusBarEx { + private final Map<String, StatusBarWidget> myWidgetMap = new HashMap<String, StatusBarWidget>(); + @Override public Dimension getSize() { return new Dimension(0, 0); @@ -140,33 +151,39 @@ public final class TestWindowManager extends WindowManagerEx { } @Override + public void addWidget(@NotNull StatusBarWidget widget) { + myWidgetMap.put(widget.ID(), widget); + } + + @Override + public void addWidget(@NotNull StatusBarWidget widget, @NotNull String anchor) { + addWidget(widget); + } + + @Override public void addWidget(@NotNull StatusBarWidget widget, @NotNull Disposable parentDisposable) { Disposer.register(parentDisposable, widget); + addWidget(widget); } @Override public void addWidget(@NotNull StatusBarWidget widget, @NotNull String anchor, @NotNull Disposable parentDisposable) { Disposer.register(parentDisposable, widget); + addWidget(widget); } @Override public void updateWidgets() { } @Override - public void addWidget(@NotNull StatusBarWidget widget) { } - - @Override public void dispose() { } @Override - public void addWidget(@NotNull StatusBarWidget widget, @NotNull String anchor) { } - - @Override public void updateWidget(@NotNull String id) { } @Override public StatusBarWidget getWidget(String id) { - return null; + return myWidgetMap.get(id); } @Override diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java index ae1e5336e9fe..efcdd148d57b 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java @@ -357,7 +357,7 @@ public final class ToolWindowImpl implements ToolWindowEx { ApplicationManager.getApplication().assertIsDispatchThread(); final Icon oldIcon = getIcon(); if (oldIcon != icon && !(icon instanceof LayeredIcon) && (icon.getIconHeight() != 13 || icon.getIconWidth() != 13)) { - LOG.warn("ToolWindow icons should be 13x13. Please fix " + icon); + LOG.warn("ToolWindow icons should be 13x13. Please fix ToolWindow (ID: " + getId() + ") or icon " + icon); } getSelectedContent().setIcon(icon); myIcon = icon; diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/commands/RequestFocusInToolWindowCmd.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/commands/RequestFocusInToolWindowCmd.java index d58d3b914849..c8f542133149 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/commands/RequestFocusInToolWindowCmd.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/commands/RequestFocusInToolWindowCmd.java @@ -184,7 +184,7 @@ public final class RequestFocusInToolWindowCmd extends FinalizableCommand { }).notify(result); } else { - myManager.getFocusManager().requestFocus(new FocusCommand.ByComponent(c, myToolWindow.getComponent()), myForced) + myManager.getFocusManager().requestFocus(new FocusCommand.ByComponent(c, myToolWindow.getComponent(), new Exception()), myForced) .doWhenProcessed(new Runnable() { @Override public void run() { diff --git a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java index 84b6e6a7e0ce..e00c195be9ce 100644 --- a/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java +++ b/platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java @@ -368,7 +368,8 @@ public class InfoAndProgressPanel extends JPanel implements CustomStatusBarWidge myRefreshAndInfoPanel.revalidate(); myRefreshAndInfoPanel.repaint(); - if (UISettings.getInstance().PRESENTATION_MODE) { + UISettings uiSettings = UISettings.getInstance(); + if (uiSettings.PRESENTATION_MODE || !uiSettings.SHOW_STATUS_BAR && Registry.is("ide.show.progress.without.status.bar")) { final JRootPane pane = myInfoPanel.getRootPane(); final RelativePoint point = new RelativePoint(pane, new Point(pane.getWidth() - 250, 60)); final PresentationModeProgressPanel panel = new PresentationModeProgressPanel(inline); |