From ebc968da044a6bd28ba5697e992e34e8f38e93e9 Mon Sep 17 00:00:00 2001 From: Julia Beliaeva Date: Fri, 16 Dec 2016 17:50:19 +0300 Subject: [PATCH] [ui] search text field on mac has minimum size to accommodate icons --- .../laf/intellij/MacIntelliJTextFieldUI.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/MacIntelliJTextFieldUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/MacIntelliJTextFieldUI.java index e7d09f75ada1..7aeda59495b6 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/MacIntelliJTextFieldUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/MacIntelliJTextFieldUI.java @@ -135,7 +135,26 @@ public class MacIntelliJTextFieldUI extends TextFieldWithPopupHandlerUI { @Override public Dimension getPreferredSize(JComponent c) { Dimension size = super.getPreferredSize(c); - return new Dimension(size.width, Math.max(26, size.height)); + return new Dimension(size.width + getIconsWidth(c), Math.max(26, size.height)); + } + + @Override + public Dimension getMinimumSize(JComponent c) { + Dimension minimumSize = super.getMinimumSize(c); + return new Dimension(minimumSize.width + getIconsWidth(c), minimumSize.height); + } + + private int getIconsWidth(JComponent c) { + int width = 0; + if (isSearchField(c)) { + Icon label = getSearchIcon(c); + width += label.getIconWidth(); + if (hasText()) { + Icon clearIcon = MacIntelliJIconCache.getIcon("searchFieldClear"); + width += clearIcon.getIconWidth() + 3; + } + } + return width; } protected void paintSearchField(Graphics2D g, JTextComponent c, Rectangle r) {