mirror of
https://github.com/JFormDesigner/FlatLaf.git
synced 2025-12-07 22:40:53 +03:00
IntelliJ Themes: fixed background colors of enabled text components, to distinguish from disabled (issue #528)
This commit is contained in:
@@ -39,6 +39,10 @@ FlatLaf Change Log
|
|||||||
- TabbedPane: Fixed focused tab background color for themes "Arc *", "Material
|
- TabbedPane: Fixed focused tab background color for themes "Arc *", "Material
|
||||||
Design Dark", "Monocai", "One Dark", "Spacegray" and "Xcode-Dark". (issue
|
Design Dark", "Monocai", "One Dark", "Spacegray" and "Xcode-Dark". (issue
|
||||||
#697)
|
#697)
|
||||||
|
- TextComponents: Fixed background colors of enabled text components, to
|
||||||
|
distinguish from disabled, for themes "Carbon", "Cobalt 2", "Gradianto *",
|
||||||
|
"Gruvbox *", "Monocai", "Spacegray", "Vuesion", "Xcode-Dark", "GitHub", and
|
||||||
|
"Light Owl". (issue #528)
|
||||||
- Native Windows libraries: Fixed crash when running in Java 8 and newer Java
|
- Native Windows libraries: Fixed crash when running in Java 8 and newer Java
|
||||||
version is installed in `PATH` environment variable and using class
|
version is installed in `PATH` environment variable and using class
|
||||||
`SystemInfo` before AWT initialization. (issue #673)
|
`SystemInfo` before AWT initialization. (issue #673)
|
||||||
|
|||||||
@@ -198,8 +198,9 @@ public class IntelliJTheme
|
|||||||
defaults.put( "HelpButton.focusedBackground", defaults.get( "Button.focusedBackground" ) );
|
defaults.put( "HelpButton.focusedBackground", defaults.get( "Button.focusedBackground" ) );
|
||||||
|
|
||||||
// IDEA uses TextField.background for editable ComboBox and Spinner
|
// IDEA uses TextField.background for editable ComboBox and Spinner
|
||||||
defaults.put( "ComboBox.editableBackground", defaults.get( "TextField.background" ) );
|
Object textFieldBackground = themeSpecificDefaults.getOrDefault( "TextField.background", defaults.get( "TextField.background" ) );
|
||||||
defaults.put( "Spinner.background", defaults.get( "TextField.background" ) );
|
defaults.put( "ComboBox.editableBackground", textFieldBackground );
|
||||||
|
defaults.put( "Spinner.background", textFieldBackground );
|
||||||
|
|
||||||
// Spinner arrow button always has same colors as ComboBox arrow button
|
// Spinner arrow button always has same colors as ComboBox arrow button
|
||||||
defaults.put( "Spinner.buttonBackground", defaults.get( "ComboBox.buttonEditableBackground" ) );
|
defaults.put( "Spinner.buttonBackground", defaults.get( "ComboBox.buttonEditableBackground" ) );
|
||||||
@@ -207,22 +208,28 @@ public class IntelliJTheme
|
|||||||
defaults.put( "Spinner.buttonDisabledArrowColor", defaults.get( "ComboBox.buttonDisabledArrowColor" ) );
|
defaults.put( "Spinner.buttonDisabledArrowColor", defaults.get( "ComboBox.buttonDisabledArrowColor" ) );
|
||||||
|
|
||||||
// some themes specify colors for TextField.background, but forget to specify it for other components
|
// some themes specify colors for TextField.background, but forget to specify it for other components
|
||||||
// (probably because those components are not used in IntelliJ)
|
// (probably because those components are not used in IntelliJ IDEA)
|
||||||
if( uiKeys.contains( "TextField.background" ) ) {
|
putAll( defaults, textFieldBackground,
|
||||||
Object textFieldBackground = defaults.get( "TextField.background" );
|
"EditorPane.background",
|
||||||
if( !uiKeys.contains( "FormattedTextField.background" ) )
|
"FormattedTextField.background",
|
||||||
defaults.put( "FormattedTextField.background", textFieldBackground );
|
"PasswordField.background",
|
||||||
if( !uiKeys.contains( "PasswordField.background" ) )
|
"Spinner.background",
|
||||||
defaults.put( "PasswordField.background", textFieldBackground );
|
"TextArea.background",
|
||||||
if( !uiKeys.contains( "EditorPane.background" ) )
|
"TextPane.background"
|
||||||
defaults.put( "EditorPane.background", textFieldBackground );
|
);
|
||||||
if( !uiKeys.contains( "TextArea.background" ) )
|
|
||||||
defaults.put( "TextArea.background", textFieldBackground );
|
// fix disabled and not-editable backgrounds for text components, combobox and spinner
|
||||||
if( !uiKeys.contains( "TextPane.background" ) )
|
// (IntelliJ IDEA does not use those colors; instead it used background color of parent)
|
||||||
defaults.put( "TextPane.background", textFieldBackground );
|
putAll( defaults, panelBackground,
|
||||||
if( !uiKeys.contains( "Spinner.background" ) )
|
"ComboBox.disabledBackground",
|
||||||
defaults.put( "Spinner.background", textFieldBackground );
|
"EditorPane.disabledBackground", "EditorPane.inactiveBackground",
|
||||||
}
|
"FormattedTextField.disabledBackground", "FormattedTextField.inactiveBackground",
|
||||||
|
"PasswordField.disabledBackground", "PasswordField.inactiveBackground",
|
||||||
|
"Spinner.disabledBackground",
|
||||||
|
"TextArea.disabledBackground", "TextArea.inactiveBackground",
|
||||||
|
"TextField.disabledBackground", "TextField.inactiveBackground",
|
||||||
|
"TextPane.disabledBackground", "TextPane.inactiveBackground"
|
||||||
|
);
|
||||||
|
|
||||||
// fix ToggleButton
|
// fix ToggleButton
|
||||||
if( !uiKeys.contains( "ToggleButton.startBackground" ) && !uiKeys.contains( "*.startBackground" ) )
|
if( !uiKeys.contains( "ToggleButton.startBackground" ) && !uiKeys.contains( "*.startBackground" ) )
|
||||||
@@ -270,6 +277,11 @@ public class IntelliJTheme
|
|||||||
icons = null;
|
icons = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void putAll( UIDefaults defaults, Object value, String... keys ) {
|
||||||
|
for( String key : keys )
|
||||||
|
defaults.put( key, value );
|
||||||
|
}
|
||||||
|
|
||||||
private Map<Object, Object> removeThemeSpecificDefaults( UIDefaults defaults ) {
|
private Map<Object, Object> removeThemeSpecificDefaults( UIDefaults defaults ) {
|
||||||
// search for theme specific UI defaults keys
|
// search for theme specific UI defaults keys
|
||||||
ArrayList<String> themeSpecificKeys = new ArrayList<>();
|
ArrayList<String> themeSpecificKeys = new ArrayList<>();
|
||||||
|
|||||||
@@ -105,7 +105,6 @@ import com.formdev.flatlaf.util.SystemInfo;
|
|||||||
* @uiDefault ComboBox.maximumRowCount int
|
* @uiDefault ComboBox.maximumRowCount int
|
||||||
* @uiDefault ComboBox.buttonStyle String auto (default), button, mac or none
|
* @uiDefault ComboBox.buttonStyle String auto (default), button, mac or none
|
||||||
* @uiDefault Component.arrowType String chevron (default) or triangle
|
* @uiDefault Component.arrowType String chevron (default) or triangle
|
||||||
* @uiDefault Component.isIntelliJTheme boolean
|
|
||||||
* @uiDefault ComboBox.editableBackground Color optional; defaults to ComboBox.background
|
* @uiDefault ComboBox.editableBackground Color optional; defaults to ComboBox.background
|
||||||
* @uiDefault ComboBox.focusedBackground Color optional
|
* @uiDefault ComboBox.focusedBackground Color optional
|
||||||
* @uiDefault ComboBox.disabledBackground Color
|
* @uiDefault ComboBox.disabledBackground Color
|
||||||
@@ -137,7 +136,6 @@ public class FlatComboBoxUI
|
|||||||
@Styleable protected int editorColumns;
|
@Styleable protected int editorColumns;
|
||||||
@Styleable protected String buttonStyle;
|
@Styleable protected String buttonStyle;
|
||||||
@Styleable protected String arrowType;
|
@Styleable protected String arrowType;
|
||||||
protected boolean isIntelliJTheme;
|
|
||||||
|
|
||||||
private Color background;
|
private Color background;
|
||||||
@Styleable protected Color editableBackground;
|
@Styleable protected Color editableBackground;
|
||||||
@@ -246,7 +244,6 @@ public class FlatComboBoxUI
|
|||||||
editorColumns = UIManager.getInt( "ComboBox.editorColumns" );
|
editorColumns = UIManager.getInt( "ComboBox.editorColumns" );
|
||||||
buttonStyle = UIManager.getString( "ComboBox.buttonStyle" );
|
buttonStyle = UIManager.getString( "ComboBox.buttonStyle" );
|
||||||
arrowType = UIManager.getString( "Component.arrowType" );
|
arrowType = UIManager.getString( "Component.arrowType" );
|
||||||
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
|
|
||||||
|
|
||||||
background = UIManager.getColor( "ComboBox.background" );
|
background = UIManager.getColor( "ComboBox.background" );
|
||||||
editableBackground = UIManager.getColor( "ComboBox.editableBackground" );
|
editableBackground = UIManager.getColor( "ComboBox.editableBackground" );
|
||||||
@@ -685,7 +682,7 @@ public class FlatComboBoxUI
|
|||||||
|
|
||||||
return (editableBackground != null && comboBox.isEditable()) ? editableBackground : background;
|
return (editableBackground != null && comboBox.isEditable()) ? editableBackground : background;
|
||||||
} else
|
} else
|
||||||
return isIntelliJTheme ? FlatUIUtils.getParentBackground( comboBox ) : disabledBackground;
|
return disabledBackground;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Color getForeground( boolean enabled ) {
|
protected Color getForeground( boolean enabled ) {
|
||||||
|
|||||||
@@ -59,7 +59,6 @@ import com.formdev.flatlaf.util.LoggingFacade;
|
|||||||
* <!-- FlatEditorPaneUI -->
|
* <!-- FlatEditorPaneUI -->
|
||||||
*
|
*
|
||||||
* @uiDefault Component.minimumWidth int
|
* @uiDefault Component.minimumWidth int
|
||||||
* @uiDefault Component.isIntelliJTheme boolean
|
|
||||||
* @uiDefault EditorPane.focusedBackground Color optional
|
* @uiDefault EditorPane.focusedBackground Color optional
|
||||||
*
|
*
|
||||||
* @author Karl Tauber
|
* @author Karl Tauber
|
||||||
@@ -69,7 +68,6 @@ public class FlatEditorPaneUI
|
|||||||
implements StyleableUI
|
implements StyleableUI
|
||||||
{
|
{
|
||||||
@Styleable protected int minimumWidth;
|
@Styleable protected int minimumWidth;
|
||||||
protected boolean isIntelliJTheme;
|
|
||||||
private Color background;
|
private Color background;
|
||||||
@Styleable protected Color disabledBackground;
|
@Styleable protected Color disabledBackground;
|
||||||
@Styleable protected Color inactiveBackground;
|
@Styleable protected Color inactiveBackground;
|
||||||
@@ -101,7 +99,6 @@ public class FlatEditorPaneUI
|
|||||||
|
|
||||||
String prefix = getPropertyPrefix();
|
String prefix = getPropertyPrefix();
|
||||||
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
|
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
|
||||||
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
|
|
||||||
background = UIManager.getColor( prefix + ".background" );
|
background = UIManager.getColor( prefix + ".background" );
|
||||||
disabledBackground = UIManager.getColor( prefix + ".disabledBackground" );
|
disabledBackground = UIManager.getColor( prefix + ".disabledBackground" );
|
||||||
inactiveBackground = UIManager.getColor( prefix + ".inactiveBackground" );
|
inactiveBackground = UIManager.getColor( prefix + ".inactiveBackground" );
|
||||||
@@ -252,11 +249,11 @@ public class FlatEditorPaneUI
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void paintBackground( Graphics g ) {
|
protected void paintBackground( Graphics g ) {
|
||||||
paintBackground( g, getComponent(), isIntelliJTheme, focusedBackground );
|
paintBackground( g, getComponent(), focusedBackground );
|
||||||
}
|
}
|
||||||
|
|
||||||
static void paintBackground( Graphics g, JTextComponent c, boolean isIntelliJTheme, Color focusedBackground ) {
|
static void paintBackground( Graphics g, JTextComponent c, Color focusedBackground ) {
|
||||||
g.setColor( FlatTextFieldUI.getBackground( c, isIntelliJTheme, focusedBackground ) );
|
g.setColor( FlatTextFieldUI.getBackground( c, focusedBackground ) );
|
||||||
g.fillRect( 0, 0, c.getWidth(), c.getHeight() );
|
g.fillRect( 0, 0, c.getWidth(), c.getHeight() );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,7 +40,6 @@ import javax.swing.plaf.ComponentUI;
|
|||||||
* <!-- FlatTextFieldUI -->
|
* <!-- FlatTextFieldUI -->
|
||||||
*
|
*
|
||||||
* @uiDefault Component.minimumWidth int
|
* @uiDefault Component.minimumWidth int
|
||||||
* @uiDefault Component.isIntelliJTheme boolean
|
|
||||||
* @uiDefault FormattedTextField.placeholderForeground Color
|
* @uiDefault FormattedTextField.placeholderForeground Color
|
||||||
* @uiDefault FormattedTextField.focusedBackground Color optional
|
* @uiDefault FormattedTextField.focusedBackground Color optional
|
||||||
* @uiDefault FormattedTextField.iconTextGap int optional, default is 4
|
* @uiDefault FormattedTextField.iconTextGap int optional, default is 4
|
||||||
|
|||||||
@@ -66,7 +66,6 @@ import com.formdev.flatlaf.util.UIScale;
|
|||||||
* <!-- FlatTextFieldUI -->
|
* <!-- FlatTextFieldUI -->
|
||||||
*
|
*
|
||||||
* @uiDefault Component.minimumWidth int
|
* @uiDefault Component.minimumWidth int
|
||||||
* @uiDefault Component.isIntelliJTheme boolean
|
|
||||||
* @uiDefault PasswordField.placeholderForeground Color
|
* @uiDefault PasswordField.placeholderForeground Color
|
||||||
* @uiDefault PasswordField.focusedBackground Color optional
|
* @uiDefault PasswordField.focusedBackground Color optional
|
||||||
* @uiDefault PasswordField.iconTextGap int optional, default is 4
|
* @uiDefault PasswordField.iconTextGap int optional, default is 4
|
||||||
|
|||||||
@@ -67,7 +67,6 @@ import com.formdev.flatlaf.util.LoggingFacade;
|
|||||||
* @uiDefault Component.minimumWidth int
|
* @uiDefault Component.minimumWidth int
|
||||||
* @uiDefault Spinner.buttonStyle String button (default), mac or none
|
* @uiDefault Spinner.buttonStyle String button (default), mac or none
|
||||||
* @uiDefault Component.arrowType String chevron (default) or triangle
|
* @uiDefault Component.arrowType String chevron (default) or triangle
|
||||||
* @uiDefault Component.isIntelliJTheme boolean
|
|
||||||
* @uiDefault Spinner.disabledBackground Color
|
* @uiDefault Spinner.disabledBackground Color
|
||||||
* @uiDefault Spinner.disabledForeground Color
|
* @uiDefault Spinner.disabledForeground Color
|
||||||
* @uiDefault Spinner.focusedBackground Color optional
|
* @uiDefault Spinner.focusedBackground Color optional
|
||||||
@@ -92,7 +91,6 @@ public class FlatSpinnerUI
|
|||||||
@Styleable protected int minimumWidth;
|
@Styleable protected int minimumWidth;
|
||||||
@Styleable protected String buttonStyle;
|
@Styleable protected String buttonStyle;
|
||||||
@Styleable protected String arrowType;
|
@Styleable protected String arrowType;
|
||||||
protected boolean isIntelliJTheme;
|
|
||||||
@Styleable protected Color disabledBackground;
|
@Styleable protected Color disabledBackground;
|
||||||
@Styleable protected Color disabledForeground;
|
@Styleable protected Color disabledForeground;
|
||||||
@Styleable protected Color focusedBackground;
|
@Styleable protected Color focusedBackground;
|
||||||
@@ -129,7 +127,6 @@ public class FlatSpinnerUI
|
|||||||
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
|
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
|
||||||
buttonStyle = UIManager.getString( "Spinner.buttonStyle" );
|
buttonStyle = UIManager.getString( "Spinner.buttonStyle" );
|
||||||
arrowType = UIManager.getString( "Component.arrowType" );
|
arrowType = UIManager.getString( "Component.arrowType" );
|
||||||
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
|
|
||||||
disabledBackground = UIManager.getColor( "Spinner.disabledBackground" );
|
disabledBackground = UIManager.getColor( "Spinner.disabledBackground" );
|
||||||
disabledForeground = UIManager.getColor( "Spinner.disabledForeground" );
|
disabledForeground = UIManager.getColor( "Spinner.disabledForeground" );
|
||||||
focusedBackground = UIManager.getColor( "Spinner.focusedBackground" );
|
focusedBackground = UIManager.getColor( "Spinner.focusedBackground" );
|
||||||
@@ -316,7 +313,7 @@ public class FlatSpinnerUI
|
|||||||
|
|
||||||
return background;
|
return background;
|
||||||
} else
|
} else
|
||||||
return isIntelliJTheme ? FlatUIUtils.getParentBackground( spinner ) : disabledBackground;
|
return disabledBackground;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected Color getForeground( boolean enabled ) {
|
protected Color getForeground( boolean enabled ) {
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ import com.formdev.flatlaf.util.LoggingFacade;
|
|||||||
* <!-- FlatTextAreaUI -->
|
* <!-- FlatTextAreaUI -->
|
||||||
*
|
*
|
||||||
* @uiDefault Component.minimumWidth int
|
* @uiDefault Component.minimumWidth int
|
||||||
* @uiDefault Component.isIntelliJTheme boolean
|
|
||||||
* @uiDefault TextArea.disabledBackground Color used if not enabled
|
* @uiDefault TextArea.disabledBackground Color used if not enabled
|
||||||
* @uiDefault TextArea.inactiveBackground Color used if not editable
|
* @uiDefault TextArea.inactiveBackground Color used if not editable
|
||||||
* @uiDefault TextArea.focusedBackground Color optional
|
* @uiDefault TextArea.focusedBackground Color optional
|
||||||
@@ -66,7 +65,6 @@ public class FlatTextAreaUI
|
|||||||
implements StyleableUI
|
implements StyleableUI
|
||||||
{
|
{
|
||||||
@Styleable protected int minimumWidth;
|
@Styleable protected int minimumWidth;
|
||||||
protected boolean isIntelliJTheme;
|
|
||||||
private Color background;
|
private Color background;
|
||||||
@Styleable protected Color disabledBackground;
|
@Styleable protected Color disabledBackground;
|
||||||
@Styleable protected Color inactiveBackground;
|
@Styleable protected Color inactiveBackground;
|
||||||
@@ -103,7 +101,6 @@ public class FlatTextAreaUI
|
|||||||
super.installDefaults();
|
super.installDefaults();
|
||||||
|
|
||||||
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
|
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
|
||||||
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
|
|
||||||
background = UIManager.getColor( "TextArea.background" );
|
background = UIManager.getColor( "TextArea.background" );
|
||||||
disabledBackground = UIManager.getColor( "TextArea.disabledBackground" );
|
disabledBackground = UIManager.getColor( "TextArea.disabledBackground" );
|
||||||
inactiveBackground = UIManager.getColor( "TextArea.inactiveBackground" );
|
inactiveBackground = UIManager.getColor( "TextArea.inactiveBackground" );
|
||||||
@@ -227,6 +224,6 @@ public class FlatTextAreaUI
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void paintBackground( Graphics g ) {
|
protected void paintBackground( Graphics g ) {
|
||||||
FlatEditorPaneUI.paintBackground( g, getComponent(), isIntelliJTheme, focusedBackground );
|
FlatEditorPaneUI.paintBackground( g, getComponent(), focusedBackground );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -81,7 +81,6 @@ import com.formdev.flatlaf.util.LoggingFacade;
|
|||||||
* <!-- FlatTextFieldUI -->
|
* <!-- FlatTextFieldUI -->
|
||||||
*
|
*
|
||||||
* @uiDefault Component.minimumWidth int
|
* @uiDefault Component.minimumWidth int
|
||||||
* @uiDefault Component.isIntelliJTheme boolean
|
|
||||||
* @uiDefault TextField.placeholderForeground Color
|
* @uiDefault TextField.placeholderForeground Color
|
||||||
* @uiDefault TextField.focusedBackground Color optional
|
* @uiDefault TextField.focusedBackground Color optional
|
||||||
* @uiDefault TextField.iconTextGap int optional, default is 4
|
* @uiDefault TextField.iconTextGap int optional, default is 4
|
||||||
@@ -95,7 +94,6 @@ public class FlatTextFieldUI
|
|||||||
implements StyleableUI
|
implements StyleableUI
|
||||||
{
|
{
|
||||||
@Styleable protected int minimumWidth;
|
@Styleable protected int minimumWidth;
|
||||||
protected boolean isIntelliJTheme;
|
|
||||||
private Color background;
|
private Color background;
|
||||||
@Styleable protected Color disabledBackground;
|
@Styleable protected Color disabledBackground;
|
||||||
@Styleable protected Color inactiveBackground;
|
@Styleable protected Color inactiveBackground;
|
||||||
@@ -165,7 +163,6 @@ public class FlatTextFieldUI
|
|||||||
|
|
||||||
String prefix = getPropertyPrefix();
|
String prefix = getPropertyPrefix();
|
||||||
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
|
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
|
||||||
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
|
|
||||||
background = UIManager.getColor( prefix + ".background" );
|
background = UIManager.getColor( prefix + ".background" );
|
||||||
disabledBackground = UIManager.getColor( prefix + ".disabledBackground" );
|
disabledBackground = UIManager.getColor( prefix + ".disabledBackground" );
|
||||||
inactiveBackground = UIManager.getColor( prefix + ".inactiveBackground" );
|
inactiveBackground = UIManager.getColor( prefix + ".inactiveBackground" );
|
||||||
@@ -402,7 +399,7 @@ public class FlatTextFieldUI
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void paintSafely( Graphics g ) {
|
protected void paintSafely( Graphics g ) {
|
||||||
paintBackground( g, getComponent(), isIntelliJTheme, focusedBackground );
|
paintBackground( g, getComponent(), focusedBackground );
|
||||||
paintPlaceholder( g );
|
paintPlaceholder( g );
|
||||||
|
|
||||||
if( hasLeadingIcon() || hasTrailingIcon() )
|
if( hasLeadingIcon() || hasTrailingIcon() )
|
||||||
@@ -422,7 +419,7 @@ debug*/
|
|||||||
// background is painted elsewhere
|
// background is painted elsewhere
|
||||||
}
|
}
|
||||||
|
|
||||||
static void paintBackground( Graphics g, JTextComponent c, boolean isIntelliJTheme, Color focusedBackground ) {
|
static void paintBackground( Graphics g, JTextComponent c, Color focusedBackground ) {
|
||||||
// do not paint background if:
|
// do not paint background if:
|
||||||
// - not opaque and
|
// - not opaque and
|
||||||
// - border is not a flat border and
|
// - border is not a flat border and
|
||||||
@@ -443,14 +440,14 @@ debug*/
|
|||||||
try {
|
try {
|
||||||
FlatUIUtils.setRenderingHints( g2 );
|
FlatUIUtils.setRenderingHints( g2 );
|
||||||
|
|
||||||
g2.setColor( getBackground( c, isIntelliJTheme, focusedBackground ) );
|
g2.setColor( getBackground( c, focusedBackground ) );
|
||||||
FlatUIUtils.paintComponentBackground( g2, 0, 0, c.getWidth(), c.getHeight(), focusWidth, arc );
|
FlatUIUtils.paintComponentBackground( g2, 0, 0, c.getWidth(), c.getHeight(), focusWidth, arc );
|
||||||
} finally {
|
} finally {
|
||||||
g2.dispose();
|
g2.dispose();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static Color getBackground( JTextComponent c, boolean isIntelliJTheme, Color focusedBackground ) {
|
static Color getBackground( JTextComponent c, Color focusedBackground ) {
|
||||||
Color background = c.getBackground();
|
Color background = c.getBackground();
|
||||||
|
|
||||||
// always use explicitly set color
|
// always use explicitly set color
|
||||||
@@ -461,10 +458,6 @@ debug*/
|
|||||||
if( focusedBackground != null && FlatUIUtils.isPermanentFocusOwner( c ) )
|
if( focusedBackground != null && FlatUIUtils.isPermanentFocusOwner( c ) )
|
||||||
return focusedBackground;
|
return focusedBackground;
|
||||||
|
|
||||||
// for compatibility with IntelliJ themes
|
|
||||||
if( isIntelliJTheme && (!c.isEnabled() || !c.isEditable()) )
|
|
||||||
return FlatUIUtils.getParentBackground( c );
|
|
||||||
|
|
||||||
return background;
|
return background;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ import com.formdev.flatlaf.util.LoggingFacade;
|
|||||||
* <!-- FlatTextPaneUI -->
|
* <!-- FlatTextPaneUI -->
|
||||||
*
|
*
|
||||||
* @uiDefault Component.minimumWidth int
|
* @uiDefault Component.minimumWidth int
|
||||||
* @uiDefault Component.isIntelliJTheme boolean
|
|
||||||
* @uiDefault TextPane.focusedBackground Color optional
|
* @uiDefault TextPane.focusedBackground Color optional
|
||||||
*
|
*
|
||||||
* @author Karl Tauber
|
* @author Karl Tauber
|
||||||
@@ -66,7 +65,6 @@ public class FlatTextPaneUI
|
|||||||
implements StyleableUI
|
implements StyleableUI
|
||||||
{
|
{
|
||||||
@Styleable protected int minimumWidth;
|
@Styleable protected int minimumWidth;
|
||||||
protected boolean isIntelliJTheme;
|
|
||||||
private Color background;
|
private Color background;
|
||||||
@Styleable protected Color disabledBackground;
|
@Styleable protected Color disabledBackground;
|
||||||
@Styleable protected Color inactiveBackground;
|
@Styleable protected Color inactiveBackground;
|
||||||
@@ -98,7 +96,6 @@ public class FlatTextPaneUI
|
|||||||
|
|
||||||
String prefix = getPropertyPrefix();
|
String prefix = getPropertyPrefix();
|
||||||
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
|
minimumWidth = UIManager.getInt( "Component.minimumWidth" );
|
||||||
isIntelliJTheme = UIManager.getBoolean( "Component.isIntelliJTheme" );
|
|
||||||
background = UIManager.getColor( prefix + ".background" );
|
background = UIManager.getColor( prefix + ".background" );
|
||||||
disabledBackground = UIManager.getColor( prefix + ".disabledBackground" );
|
disabledBackground = UIManager.getColor( prefix + ".disabledBackground" );
|
||||||
inactiveBackground = UIManager.getColor( prefix + ".inactiveBackground" );
|
inactiveBackground = UIManager.getColor( prefix + ".inactiveBackground" );
|
||||||
@@ -220,6 +217,6 @@ public class FlatTextPaneUI
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void paintBackground( Graphics g ) {
|
protected void paintBackground( Graphics g ) {
|
||||||
FlatEditorPaneUI.paintBackground( g, getComponent(), isIntelliJTheme, focusedBackground );
|
FlatEditorPaneUI.paintBackground( g, getComponent(), focusedBackground );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,6 +112,9 @@ ToggleButton.endBackground = $ToggleButton.background
|
|||||||
@ijMenuCheckBackgroundL20 = lighten(@selectionBackground,20%,derived noAutoInverse)
|
@ijMenuCheckBackgroundL20 = lighten(@selectionBackground,20%,derived noAutoInverse)
|
||||||
@ijMenuCheckBackgroundD10 = darken(@selectionBackground,10%,derived noAutoInverse)
|
@ijMenuCheckBackgroundD10 = darken(@selectionBackground,10%,derived noAutoInverse)
|
||||||
|
|
||||||
|
@ijTextBackgroundL3 = lighten(Panel.background,3%,lazy)
|
||||||
|
@ijTextBackgroundL4 = lighten(Panel.background,4%,lazy)
|
||||||
|
|
||||||
[Arc_Theme]CheckBoxMenuItem.foreground = lazy(MenuItem.foreground)
|
[Arc_Theme]CheckBoxMenuItem.foreground = lazy(MenuItem.foreground)
|
||||||
[Arc_Theme]PopupMenu.foreground = lazy(MenuItem.foreground)
|
[Arc_Theme]PopupMenu.foreground = lazy(MenuItem.foreground)
|
||||||
[Arc_Theme]RadioButtonMenuItem.foreground = lazy(MenuItem.foreground)
|
[Arc_Theme]RadioButtonMenuItem.foreground = lazy(MenuItem.foreground)
|
||||||
@@ -142,11 +145,14 @@ ToggleButton.endBackground = $ToggleButton.background
|
|||||||
[Arc_Theme_Dark_-_Orange]ProgressBar.selectionBackground = #ddd
|
[Arc_Theme_Dark_-_Orange]ProgressBar.selectionBackground = #ddd
|
||||||
[Arc_Theme_Dark_-_Orange]ProgressBar.selectionForeground = #fff
|
[Arc_Theme_Dark_-_Orange]ProgressBar.selectionForeground = #fff
|
||||||
|
|
||||||
|
[Carbon]TextField.background = @ijTextBackgroundL4
|
||||||
|
|
||||||
[Cobalt_2]Component.accentColor = lazy(Component.focusColor)
|
[Cobalt_2]Component.accentColor = lazy(Component.focusColor)
|
||||||
[Cobalt_2]CheckBox.icon.background = #002946
|
[Cobalt_2]CheckBox.icon.background = #002946
|
||||||
[Cobalt_2]CheckBox.icon.checkmarkColor = #002946
|
[Cobalt_2]CheckBox.icon.checkmarkColor = #002946
|
||||||
[Cobalt_2]MenuItem.checkBackground = @ijMenuCheckBackgroundL10
|
[Cobalt_2]MenuItem.checkBackground = @ijMenuCheckBackgroundL10
|
||||||
[Cobalt_2]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10
|
[Cobalt_2]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10
|
||||||
|
[Cobalt_2]TextField.background = @ijTextBackgroundL3
|
||||||
|
|
||||||
[Cyan_light]MenuItem.checkBackground = @ijMenuCheckBackgroundL20
|
[Cyan_light]MenuItem.checkBackground = @ijMenuCheckBackgroundL20
|
||||||
[Cyan_light]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL20
|
[Cyan_light]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL20
|
||||||
@@ -162,22 +168,31 @@ ToggleButton.endBackground = $ToggleButton.background
|
|||||||
|
|
||||||
[Gradianto_Dark_Fuchsia]MenuItem.checkBackground = @ijMenuCheckBackgroundL10
|
[Gradianto_Dark_Fuchsia]MenuItem.checkBackground = @ijMenuCheckBackgroundL10
|
||||||
[Gradianto_Dark_Fuchsia]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10
|
[Gradianto_Dark_Fuchsia]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10
|
||||||
|
[Gradianto_Dark_Fuchsia]TextField.background = @ijTextBackgroundL4
|
||||||
|
|
||||||
|
[Gradianto_Deep_Ocean]TextField.background = @ijTextBackgroundL4
|
||||||
|
|
||||||
[Gradianto_Midnight_Blue]ScrollBar.thumb = #533B6B
|
[Gradianto_Midnight_Blue]ScrollBar.thumb = #533B6B
|
||||||
|
[Gradianto_Midnight_Blue]TextField.background = @ijTextBackgroundL4
|
||||||
|
|
||||||
|
[Gradianto_Nature_Green]TextField.background = @ijTextBackgroundL4
|
||||||
|
|
||||||
[Gruvbox_Dark_Hard]Component.accentColor = lazy(TabbedPane.underlineColor)
|
[Gruvbox_Dark_Hard]Component.accentColor = lazy(TabbedPane.underlineColor)
|
||||||
[Gruvbox_Dark_Hard]ToggleButton.selectedBackground = $ToggleButton.selectedBackground
|
[Gruvbox_Dark_Hard]ToggleButton.selectedBackground = $ToggleButton.selectedBackground
|
||||||
[Gruvbox_Dark_Hard]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground
|
[Gruvbox_Dark_Hard]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground
|
||||||
|
[Gruvbox_Dark_Hard]TextField.background = @ijTextBackgroundL3
|
||||||
|
|
||||||
[Gruvbox_Dark_Medium]Component.accentColor = lazy(TabbedPane.underlineColor)
|
[Gruvbox_Dark_Medium]Component.accentColor = lazy(TabbedPane.underlineColor)
|
||||||
[Gruvbox_Dark_Medium]ToggleButton.selectedBackground = $ToggleButton.selectedBackground
|
[Gruvbox_Dark_Medium]ToggleButton.selectedBackground = $ToggleButton.selectedBackground
|
||||||
[Gruvbox_Dark_Medium]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground
|
[Gruvbox_Dark_Medium]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground
|
||||||
|
[Gruvbox_Dark_Medium]TextField.background = @ijTextBackgroundL3
|
||||||
|
|
||||||
[Gruvbox_Dark_Soft]Component.accentColor = lazy(TabbedPane.underlineColor)
|
[Gruvbox_Dark_Soft]Component.accentColor = lazy(TabbedPane.underlineColor)
|
||||||
[Gruvbox_Dark_Soft]MenuItem.checkBackground = @ijMenuCheckBackgroundL10
|
[Gruvbox_Dark_Soft]MenuItem.checkBackground = @ijMenuCheckBackgroundL10
|
||||||
[Gruvbox_Dark_Soft]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10
|
[Gruvbox_Dark_Soft]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10
|
||||||
[Gruvbox_Dark_Soft]ToggleButton.selectedBackground = $ToggleButton.selectedBackground
|
[Gruvbox_Dark_Soft]ToggleButton.selectedBackground = $ToggleButton.selectedBackground
|
||||||
[Gruvbox_Dark_Soft]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground
|
[Gruvbox_Dark_Soft]ToggleButton.toolbar.selectedBackground = $ToggleButton.toolbar.selectedBackground
|
||||||
|
[Gruvbox_Dark_Soft]TextField.background = @ijTextBackgroundL3
|
||||||
|
|
||||||
[Hiberbee_Dark]TabbedPane.focusColor = #5A5A5A
|
[Hiberbee_Dark]TabbedPane.focusColor = #5A5A5A
|
||||||
[Hiberbee_Dark]TabbedPane.selectedBackground = #434241
|
[Hiberbee_Dark]TabbedPane.selectedBackground = #434241
|
||||||
@@ -214,6 +229,7 @@ ToggleButton.endBackground = $ToggleButton.background
|
|||||||
[Monocai]MenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground
|
[Monocai]MenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground
|
||||||
[Monocai]RadioButtonMenuItem.acceleratorForeground = @Monocai.acceleratorForeground
|
[Monocai]RadioButtonMenuItem.acceleratorForeground = @Monocai.acceleratorForeground
|
||||||
[Monocai]RadioButtonMenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground
|
[Monocai]RadioButtonMenuItem.acceleratorSelectionForeground = @Monocai.acceleratorSelectionForeground
|
||||||
|
[Monocai]TextField.background = @ijTextBackgroundL4
|
||||||
|
|
||||||
[Nord]MenuItem.checkBackground = @ijMenuCheckBackgroundL10
|
[Nord]MenuItem.checkBackground = @ijMenuCheckBackgroundL10
|
||||||
[Nord]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10
|
[Nord]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10
|
||||||
@@ -228,6 +244,8 @@ ToggleButton.endBackground = $ToggleButton.background
|
|||||||
[Solarized_Light---4lex4]Button.default.hoverBackground = darken($Button.default.background,3%,derived)
|
[Solarized_Light---4lex4]Button.default.hoverBackground = darken($Button.default.background,3%,derived)
|
||||||
[Solarized_Light---4lex4]Component.accentColor = lazy(TabbedPane.underlineColor)
|
[Solarized_Light---4lex4]Component.accentColor = lazy(TabbedPane.underlineColor)
|
||||||
|
|
||||||
|
[Spacegray]TextField.background = @ijTextBackgroundL4
|
||||||
|
|
||||||
[vuesion-theme]Component.accentColor = lazy(Button.default.endBackground)
|
[vuesion-theme]Component.accentColor = lazy(Button.default.endBackground)
|
||||||
[vuesion-theme]MenuItem.checkBackground = @ijMenuCheckBackgroundL10
|
[vuesion-theme]MenuItem.checkBackground = @ijMenuCheckBackgroundL10
|
||||||
[vuesion-theme]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10
|
[vuesion-theme]MenuItem.underlineSelectionCheckBackground = @ijMenuCheckBackgroundL10
|
||||||
@@ -235,6 +253,9 @@ ToggleButton.endBackground = $ToggleButton.background
|
|||||||
[vuesion-theme]Slider.trackColor = #303a45
|
[vuesion-theme]Slider.trackColor = #303a45
|
||||||
[vuesion-theme]Slider.thumbColor = #ececee
|
[vuesion-theme]Slider.thumbColor = #ececee
|
||||||
[vuesion-theme]Slider.focusedColor = fade(#ececee,20%)
|
[vuesion-theme]Slider.focusedColor = fade(#ececee,20%)
|
||||||
|
[vuesion-theme]TextField.background = @ijTextBackgroundL4
|
||||||
|
|
||||||
|
[Xcode-Dark]TextField.background = @ijTextBackgroundL4
|
||||||
|
|
||||||
|
|
||||||
# Material Theme UI Lite
|
# Material Theme UI Lite
|
||||||
@@ -249,6 +270,7 @@ ToggleButton.endBackground = $ToggleButton.background
|
|||||||
|
|
||||||
[GitHub]ProgressBar.selectionBackground = #222
|
[GitHub]ProgressBar.selectionBackground = #222
|
||||||
[GitHub]ProgressBar.selectionForeground = #222
|
[GitHub]ProgressBar.selectionForeground = #222
|
||||||
|
[GitHub]TextField.background = @ijTextBackgroundL3
|
||||||
|
|
||||||
[Light_Owl]CheckBoxMenuItem.selectionForeground = lazy(CheckBoxMenuItem.foreground)
|
[Light_Owl]CheckBoxMenuItem.selectionForeground = lazy(CheckBoxMenuItem.foreground)
|
||||||
[Light_Owl]ComboBox.selectionForeground = lazy(ComboBox.foreground)
|
[Light_Owl]ComboBox.selectionForeground = lazy(ComboBox.foreground)
|
||||||
@@ -266,6 +288,7 @@ ToggleButton.endBackground = $ToggleButton.background
|
|||||||
[Light_Owl]TextArea.selectionForeground = lazy(TextArea.foreground)
|
[Light_Owl]TextArea.selectionForeground = lazy(TextArea.foreground)
|
||||||
[Light_Owl]TextField.selectionForeground = lazy(TextField.foreground)
|
[Light_Owl]TextField.selectionForeground = lazy(TextField.foreground)
|
||||||
[Light_Owl]TextPane.selectionForeground = lazy(TextPane.foreground)
|
[Light_Owl]TextPane.selectionForeground = lazy(TextPane.foreground)
|
||||||
|
[Light_Owl]TextField.background = @ijTextBackgroundL3
|
||||||
|
|
||||||
[Material_Lighter]ProgressBar.selectionBackground = #222
|
[Material_Lighter]ProgressBar.selectionBackground = #222
|
||||||
[Material_Lighter]ProgressBar.selectionForeground = #fff
|
[Material_Lighter]ProgressBar.selectionForeground = #fff
|
||||||
|
|||||||
Reference in New Issue
Block a user