From 2290c6bc318970dc26a46e23c69841a08b9d9a30 Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Thu, 12 Dec 2019 14:24:31 +0300 Subject: [PATCH] ui: better alignment for RadioButton text In Intellij Light LaF checkbox and radiobutton icons have different width. Adjust icon gap accordingly to align their label texts. GitOrigin-RevId: efa1f1ca9f3c11da39b67a856fef90264c608291 --- .../ide/ui/laf/darcula/ui/DarculaRadioButtonUI.java | 12 ++++++++++-- .../com/intellij/ide/ui/laf/intellijlaf.properties | 1 + .../intellij/laf/macos/MacIntelliJRadioButtonUI.java | 2 +- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaRadioButtonUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaRadioButtonUI.java index e1e1e0b8c1af..c4b589a35d5b 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaRadioButtonUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaRadioButtonUI.java @@ -31,7 +31,7 @@ public class DarculaRadioButtonUI extends MetalRadioButtonUI { @Override public void installDefaults(AbstractButton b) { super.installDefaults(b); - b.setIconTextGap(textIconGap()); + b.setIconTextGap(textIconGap(b)); updateTextPosition(b); } @@ -47,7 +47,15 @@ public class DarculaRadioButtonUI extends MetalRadioButtonUI { button.removePropertyChangeListener(AbstractButton.TEXT_CHANGED_PROPERTY, textChangedListener); } - protected int textIconGap() { + protected int textIconGap(AbstractButton b) { + Object gap = UIManager.get("RadioButton.iconTextGap"); + if (gap != null) { + try { + return JBUIScale.scale(Integer.parseInt(gap.toString())); + } + catch (NumberFormatException ignored) { + } + } return JBUIScale.scale(4); } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellijlaf.properties b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellijlaf.properties index 523e53f02307..80f284e0c141 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellijlaf.properties +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellijlaf.properties @@ -143,6 +143,7 @@ ComboBox.ArrowButton.disabledIconColor=ABABAB RadioButtonUI=com.intellij.ide.ui.laf.darcula.ui.DarculaRadioButtonUI RadioButton.border=com.intellij.ide.ui.laf.darcula.ui.DarculaRadioButtonBorder RadioButton.borderInsets=2,2,2,0 +RadioButton.iconTextGap=3 RadioButton.darcula.selectionEnabledColor=ffffff RadioButton.darcula.selectionDisabledColor=aaaaaa RadioButton.darcula.selectionEnabledShadowColor=00000040 diff --git a/plugins/laf/macos/src/com/intellij/laf/macos/MacIntelliJRadioButtonUI.java b/plugins/laf/macos/src/com/intellij/laf/macos/MacIntelliJRadioButtonUI.java index 65bc8ad13ba7..a238e341d90f 100644 --- a/plugins/laf/macos/src/com/intellij/laf/macos/MacIntelliJRadioButtonUI.java +++ b/plugins/laf/macos/src/com/intellij/laf/macos/MacIntelliJRadioButtonUI.java @@ -27,7 +27,7 @@ public class MacIntelliJRadioButtonUI extends DarculaRadioButtonUI { } @Override - protected int textIconGap() { + protected int textIconGap(AbstractButton b) { return JBUIScale.scale(3); }