- default button: white background and wide border
- focused button: light blue background and thin border
(the light blue default button did not look beautiful IMHO)
- In "Flat Light" theme, changed styles of focused and default buttons to
avoid confusion with all other themes. Focused buttons now have a white
background (was light blue) and a slightly wider border. The default button
now has a light blue background (was white) and a thin border. In all other
themes the default button also has colored background.
- In "Flat Dark" theme, use slightly wider border for focused buttons.
- CheckBox and RadioButton: In "Flat Dark" theme, use blueish background for
focused components.
- paint non-wide selection in FlatTreeUI.paintRow() instead of using reflection to change private field in DefaultTreeCellRenderer
- use DefaultTreeCellRenderer.getBackgroundSelectionColor() as selection color (if possible)
- added boolean client property JTree.paintSelection to disable selection painting in FlatTreeUI.paintRow()
- FlatComponents2Test:
- added checkboxes for wideSelection and paintSelection client properties
- added possibility to test various kinds of tree cell renderers
- added JXTree, JIDE CheckBoxTree
(PR #245)
Also changed auto-inverse threshold from 50% to 65% for increase and 35% for decrease, because this gives much better results for slider hover and pressed colors. This does not change other colors in core themes, but few colors in some IntelliJ themes (usually checkbox hover/pressed).
- FlatDarkLaf.properties: changed darken() to lighten(), which does not change real colors due to autoInverse mechanism
- FlatLightLaf.properties: use also derived colors (to be consistent with FlatDarkLaf.properties and fix warning in UIDefaultsDump)
- no longer show color values as decimal rgb
- use black for color value text if color is translucent
- fix derived color tooltip
- improved filter performance
- save/restore selection when reloading file (if changed outside)
- select all text in find field when pressing Ctrl+F
- use lighter color for operators (e.g. '=')
To implement FlatLaf UIs for CellStyleTableHeaderUI and SortableTableHeaderUI from the Jide Grids library, access to the paintColumnBorders method is required
Sub-pixel anti-aliasing (VALUE_TEXT_ANTIALIAS_LCD_HRGB) causes font rendering with too much weight with a JetBrains JREs (both 8 and 11). This can be seen when comparing the text rendering of UI elements between IntelliJ IDEA and FlatLaf.
This commits aligns FlatLaf's behavior with IntelliJ IDEA which disables sub-pixel anti-aliasing on macOS for its IDE anti-aliasing setting and uses greyscale anti-aliasing by default (see com.intellij.ide.ui.AntialiasingType.canUseSubpixelAAForIDE).
This font should be used for UI elements since macOS 10.15.
See https://youtrack.jetbrains.com/issue/JBR-1915 for more information.
Other JREs, including JetBrains Runtime 8 do not handle kerning for that font correctly.