diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java index 7c2c964e8c4f..89393faf5918 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaCheckBoxUI.java @@ -33,6 +33,8 @@ import java.awt.*; * @author Konstantin Bulenkov */ public class DarculaCheckBoxUI extends MetalCheckBoxUI { + private static final Icon DEFAULT_ICON = JBUI.scale(EmptyIcon.create(20)).asUIResource(); + @SuppressWarnings("MethodOverridesStaticMethodOfSuperclass") public static ComponentUI createUI(JComponent c) { if (UIUtil.getParentOfType(CellRendererPane.class, c) != null) { @@ -269,7 +271,7 @@ public class DarculaCheckBoxUI extends MetalCheckBoxUI { @Override public Icon getDefaultIcon() { - return EmptyIcon.create(JBUI.scale(20)).asUIResource(); + return DEFAULT_ICON; } protected boolean isIndeterminate(AbstractButton checkBox) { 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 33a80be0feb3..a20b198bfbcf 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 @@ -39,6 +39,8 @@ import java.awt.geom.Path2D; * @author Konstantin Bulenkov */ public class DarculaRadioButtonUI extends MetalRadioButtonUI { + private static final Icon DEFAULT_ICON = JBUI.scale(EmptyIcon.create(20)).asUIResource(); + @SuppressWarnings({"MethodOverridesStaticMethodOfSuperclass", "UnusedDeclaration"}) public static ComponentUI createUI(JComponent c) { return new DarculaRadioButtonUI(); @@ -214,6 +216,6 @@ public class DarculaRadioButtonUI extends MetalRadioButtonUI { @Override public Icon getDefaultIcon() { - return JBUI.scale(EmptyIcon.create(20)).asUIResource(); + return DEFAULT_ICON; } } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJCheckBoxUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJCheckBoxUI.java index 5819e534691e..261cced810b1 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJCheckBoxUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJCheckBoxUI.java @@ -27,6 +27,7 @@ import java.awt.*; * @author Konstantin Bulenkov */ public class WinIntelliJCheckBoxUI extends IntelliJCheckBoxUI { + private static final Icon DEFAULT_ICON = JBUI.scale(EmptyIcon.create(13)).asUIResource(); @SuppressWarnings({"MethodOverridesStaticMethodOfSuperclass", "UnusedDeclaration"}) public static ComponentUI createUI(JComponent c) { @@ -45,9 +46,7 @@ public class WinIntelliJCheckBoxUI extends IntelliJCheckBoxUI { Icon icon = MacIntelliJIconCache.getIcon(iconName, false, selected || isIndeterminate(b), focused, enabled, pressed); if (icon != null) { - int x = (iconRect.width - icon.getIconWidth()) / 2 + iconRect.x; - int y = (iconRect.height - icon.getIconHeight()) / 2 + iconRect.y + JBUI.scale(1); - icon.paintIcon(c, g, x, y); + icon.paintIcon(c, g, iconRect.x, iconRect.y + JBUI.scale(1)); } } @@ -63,7 +62,7 @@ public class WinIntelliJCheckBoxUI extends IntelliJCheckBoxUI { @Override public Icon getDefaultIcon() { - return JBUI.scale(EmptyIcon.create(18)).asUIResource(); + return DEFAULT_ICON; } @Override diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJRadioButtonUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJRadioButtonUI.java index 37ad202606c9..c7df39533071 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJRadioButtonUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/intellij/WinIntelliJRadioButtonUI.java @@ -16,6 +16,7 @@ package com.intellij.ide.ui.laf.intellij; import com.intellij.ide.ui.laf.darcula.ui.DarculaRadioButtonUI; +import com.intellij.util.ui.EmptyIcon; import com.intellij.util.ui.JBUI; import javax.swing.*; @@ -26,6 +27,8 @@ import java.awt.*; * @author Konstantin Bulenkov */ public class WinIntelliJRadioButtonUI extends DarculaRadioButtonUI { + private static final Icon DEFAULT_ICON = JBUI.scale(EmptyIcon.create(13)).asUIResource(); + @SuppressWarnings({"MethodOverridesStaticMethodOfSuperclass", "UnusedDeclaration"}) public static ComponentUI createUI(JComponent c) { AbstractButton b = (AbstractButton)c; @@ -40,9 +43,13 @@ public class WinIntelliJRadioButtonUI extends DarculaRadioButtonUI { boolean focused = c.hasFocus() || bm.isRollover(); Icon icon = MacIntelliJIconCache.getIcon("radio", false, bm.isSelected(), focused, bm.isEnabled(), bm.isPressed()); - // Paint the radio button - int x = (iconRect.width - icon.getIconWidth()) / 2 + iconRect.x; - int y = (iconRect.height - icon.getIconHeight()) / 2 + iconRect.y + JBUI.scale(1); - icon.paintIcon(c, g, x, y); + if (icon != null) { + icon.paintIcon(c, g, iconRect.x, iconRect.y + JBUI.scale(1)); + } + } + + @Override + public Icon getDefaultIcon() { + return DEFAULT_ICON; } } diff --git a/platform/platform-impl/src/com/intellij/ui/panel/ComponentPanelBuilderImpl.java b/platform/platform-impl/src/com/intellij/ui/panel/ComponentPanelBuilderImpl.java index 1f6a76f0998f..36625e263632 100644 --- a/platform/platform-impl/src/com/intellij/ui/panel/ComponentPanelBuilderImpl.java +++ b/platform/platform-impl/src/com/intellij/ui/panel/ComponentPanelBuilderImpl.java @@ -186,18 +186,18 @@ public class ComponentPanelBuilderImpl implements ComponentPanelBuilder, GridBag if (myComponent instanceof JRadioButton || myComponent instanceof JCheckBox) { top = 0; - left = isMacDefault ? 27 : 24; + left = isMacDefault ? 27 : isWin10 ? 17 : 24; bottom = isWin10 ? 10 : isMacDefault ? 8 : 9; } else if (myComponent instanceof JTextField || myComponent instanceof EditorTextField || myComponent instanceof JComboBox || myComponent instanceof ComponentWithBrowseButton) { top = isWin10 ? 3 : 4; - left = isWin10 ? 1 : isMacDefault ? 5 : 4; + left = isWin10 ? 2 : isMacDefault ? 5 : 4; bottom = isWin10 ? 10 : isMacDefault ? 8 : 9; } else if (myComponent instanceof JButton) { top = isWin10 ? 2 : 4; - left = isWin10 ? 1 : isMacDefault ? 5 : 6; + left = isWin10 ? 2 : isMacDefault ? 5 : 6; bottom = 0; } diff --git a/platform/platform-impl/src/com/intellij/ui/panel/ProgressPanelBuilderImpl.java b/platform/platform-impl/src/com/intellij/ui/panel/ProgressPanelBuilderImpl.java index c61b0c012617..e8ac916487b4 100644 --- a/platform/platform-impl/src/com/intellij/ui/panel/ProgressPanelBuilderImpl.java +++ b/platform/platform-impl/src/com/intellij/ui/panel/ProgressPanelBuilderImpl.java @@ -10,6 +10,7 @@ import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.*; import com.intellij.util.ui.JBUI; +import com.intellij.util.ui.UIUtil; import org.jetbrains.annotations.NotNull; import javax.swing.*; @@ -266,7 +267,9 @@ public class ProgressPanelBuilderImpl implements ProgressPanelBuilder, GridBagPa myProgressBar.putClientProperty(LABELED_PANEL_PROPERTY, this); gc.weightx = 0.0; - gc.insets = JBUI.insets(labelAbove || topSeparatorEnabled || smallVariant ? 1 : 14, 10, 0, 13); + gc.insets = JBUI.insets(labelAbove || topSeparatorEnabled || smallVariant ? 1 : 14, + UIUtil.isUnderWin10LookAndFeel() ? 9 : 10, + 0, 13); if (cancelAction != null) { if (cancelAsButton) {