diff --git a/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ComboBoxAction.java b/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ComboBoxAction.java index 6573917e4932..38f7f081b841 100644 --- a/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ComboBoxAction.java +++ b/platform/platform-api/src/com/intellij/openapi/actionSystem/ex/ComboBoxAction.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2012 JetBrains s.r.o. + * Copyright 2000-2013 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -26,7 +26,9 @@ import com.intellij.openapi.util.IconLoader; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.wm.IdeFocusManager; import com.intellij.ui.ColorUtil; +import com.intellij.ui.Gray; import com.intellij.ui.IdeBorderFactory; +import com.intellij.ui.JBColor; import com.intellij.ui.awt.RelativePoint; import com.intellij.util.ui.GraphicsUtil; import com.intellij.util.ui.UIUtil; @@ -40,7 +42,8 @@ import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; public abstract class ComboBoxAction extends AnAction implements CustomComponentAction { - private static final Icon DISABLED_ARROW_ICON = IconLoader.getDisabledIcon(AllIcons.General.ComboArrow); + private static final Icon ARROW_ICON = AllIcons.General.ComboBoxButtonArrow; + private static final Icon DISABLED_ARROW_ICON = IconLoader.getDisabledIcon(ARROW_ICON); private boolean mySmallVariant = true; private DataContext myDataContext; @@ -321,7 +324,7 @@ public abstract class ComboBoxAction extends AnAction implements CustomComponent @Override public Insets getInsets() { final Insets insets = super.getInsets(); - return new Insets(insets.top, insets.left, insets.bottom, insets.right + AllIcons.General.ComboArrow.getIconWidth()); + return new Insets(insets.top, insets.left, insets.bottom, insets.right + ARROW_ICON.getIconWidth()); } @Override @@ -332,10 +335,10 @@ public abstract class ComboBoxAction extends AnAction implements CustomComponent result.top += 2; result.left += 8; result.bottom += 2; - result.right += 4 + AllIcons.General.ComboArrow.getIconWidth(); + result.right += 4 + ARROW_ICON.getIconWidth(); } else { - result.right += AllIcons.General.ComboArrow.getIconWidth(); + result.right += ARROW_ICON.getIconWidth(); } return result; @@ -349,7 +352,7 @@ public abstract class ComboBoxAction extends AnAction implements CustomComponent @Override public Dimension getPreferredSize() { final boolean isEmpty = getIcon() == null && StringUtil.isEmpty(getText()); - int width = isEmpty ? 10 + AllIcons.General.ComboArrow.getIconWidth() : super.getPreferredSize().width; + int width = isEmpty ? 10 + ARROW_ICON.getIconWidth() : super.getPreferredSize().width; if (isSmallVariant()) width += 4; return new Dimension(width, isSmallVariant() ? 19 : UIUtil.isUnderNimbusLookAndFeel() ? 24 : 21); } @@ -357,6 +360,7 @@ public abstract class ComboBoxAction extends AnAction implements CustomComponent @Override public void paint(Graphics g) { GraphicsUtil.setupAntialiasing(g); + GraphicsUtil.setupAAPainting(g); final Dimension size = getSize(); final boolean isEmpty = getIcon() == null && StringUtil.isEmpty(getText()); @@ -384,16 +388,15 @@ public abstract class ComboBoxAction extends AnAction implements CustomComponent g2.setPaint(UIUtil.getGradientPaint(0, 0, UIUtil.getControlColor(), 0, h, ColorUtil.shift(UIUtil.getControlColor(), 0.8))); } else { - g2.setPaint( - UIUtil.getGradientPaint(0, 0, ColorUtil.shift(UIUtil.getControlColor(), 1.1), 0, h, ColorUtil.shift(UIUtil.getControlColor(), 0.9))); + g2.setPaint(UIUtil.getGradientPaint(0, 0, new JBColor(Gray._245, Gray._131), 0, h, new JBColor(Gray._208, Gray._128))); } - g2.fillRect(2, 0, w - 2, h); + g2.fillRoundRect(2, 0, w - 2, h, 5, 5); GraphicsUtil.setupAntialiasing(g2); if (!UIUtil.isUnderDarcula()) { if (!myMouseInside) { g2.setPaint(UIUtil.getGradientPaint(0, 0, UIUtil.getBorderColor(), 0, h, UIUtil.getBorderColor().darker())); } else { - g2.setPaint(UIUtil.getGradientPaint(0, 0, UIUtil.getBorderColor().darker(), 0, h, UIUtil.getBorderColor().darker().darker())); + g2.setPaint(UIUtil.getGradientPaint(0, 0, Gray._131, 0, h, Gray._128)); } } else { if (!myMouseInside) { @@ -403,7 +406,7 @@ public abstract class ComboBoxAction extends AnAction implements CustomComponent } } - g2.drawRect(2, 0, w - 3, h - 1); + g2.drawRoundRect(2, 0, w - 3, h - 1, 5, 5); final Icon icon = getIcon(); int x = 7; @@ -423,7 +426,7 @@ public abstract class ComboBoxAction extends AnAction implements CustomComponent } } final Insets insets = super.getInsets(); - final Icon icon = isEnabled() ? AllIcons.General.ComboArrow : DISABLED_ARROW_ICON; + final Icon icon = isEnabled() ? ARROW_ICON : DISABLED_ARROW_ICON; final int x; if (isEmpty) { x = (size.width - icon.getIconWidth()) / 2;