From ba3ad04aaf42b4b2b1de4cbee088636f48c17507 Mon Sep 17 00:00:00 2001 From: Konstantin Bulenkov Date: Wed, 19 Aug 2015 20:47:58 +0200 Subject: [PATCH] Yosemite LaF: fix background painting for text fields --- .../laf/intellij/MacIntelliJTextFieldUI.java | 18 +++++++++++++++++- 1 file changed, 17 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 7b59becdd022..ca406fd0842f 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 @@ -24,6 +24,7 @@ import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.Gray; import com.intellij.util.ui.JBInsets; import com.intellij.util.ui.JBUI; +import org.jetbrains.annotations.NotNull; import javax.swing.*; import javax.swing.border.Border; @@ -108,11 +109,26 @@ public class MacIntelliJTextFieldUI extends TextFieldWithPopupHandlerUI { if (isSearchField(c)) { paintSearchField(g, c, r); } else { - super.paintBackground(g); + if (c.getBorder() instanceof MacIntelliJTextBorder) { + g.setColor(c.getBackground()); + g.fillRect(3, 3, c.getWidth() - 6, c.getHeight() - 6); + } else { + super.paintBackground(g); + } } config.restore(); } + @NotNull + @Override + public Dimension getPreferredSize(JComponent c) { + Dimension size = super.getPreferredSize(c); + if (c.getBorder() instanceof MacIntelliJTextBorder) { + return new Dimension(size.width + 8, 26); + } + return size; + } + protected void paintDarculaBackground(Graphics2D g, JTextComponent c, Border border) { if (c.isEnabled() && c.isEditable()) { g.setColor(c.getBackground());