summaryrefslogtreecommitdiff
path: root/platform/platform-impl/src/com/intellij/openapi/wm/impl
diff options
context:
space:
mode:
authorTor Norbye <tnorbye@google.com>2014-07-25 20:12:40 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-07-24 20:55:36 +0000
commit6044be7330c93bc8dacb0f63e62da8029f39a16f (patch)
tree0ba72f5de1949e0527874a799baa224cbe1537e0 /platform/platform-impl/src/com/intellij/openapi/wm/impl
parentb03a5855292feb8c331815f883fe64372aacd872 (diff)
parente5266e2343c8d275d79fa0be725180d0fe3a993c (diff)
downloadidea-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')
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/wm/impl/FocusManagerImpl.java4
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/wm/impl/StripeButton.java13
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/wm/impl/TestWindowManager.java35
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/wm/impl/ToolWindowImpl.java2
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/wm/impl/commands/RequestFocusInToolWindowCmd.java2
-rw-r--r--platform/platform-impl/src/com/intellij/openapi/wm/impl/status/InfoAndProgressPanel.java3
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);