Commit Graph

1824 Commits

Author SHA1 Message Date
Karl Tauber
ef25575f85 ignore internal UI keys in dumps and in UI defaults inspector 2021-10-28 20:47:47 +02:00
Karl Tauber
b77b338c7a Styling: support using variables (defined in properties files) in CSS styles 2021-10-28 19:03:13 +02:00
Karl Tauber
0e4fe4e9bb Theme Editor: support platform and light/dark specific properties in preview 2021-10-26 18:46:08 +02:00
Karl Tauber
0156a9a9d5 Merge PR #401: Text components: double/triple-click-and-drag selection improvements 2021-10-24 20:06:06 +02:00
Karl Tauber
3facbc0900 macOS: improved macOS support of Demo and Theme Editor:
- set application name that is used in screen menu bar
- enable dark window title bars if macOS is in dark mode
2021-10-24 17:05:50 +02:00
Karl Tauber
78cef1b3c7 Theme Editor:
- use class `FlatDesktop`
- hide "File > Exit" and "Help > About" on macOS
- enable macOS screen menu bar
2021-10-24 11:49:48 +02:00
Karl Tauber
d907c469ed Theme Editor: renamed class FlatThemeEditor to FlatLafThemeEditor because this name is shown in macOS screen menu bar (and to be consistent with FlatLafDemo) 2021-10-24 11:43:28 +02:00
Karl Tauber
cc238d3e34 Extras: added class FlatDesktop for easy integration into macOS screen menu (About, Preferences and Quit) when using Java 8
Demo:
- use class `FlatDesktop`
- hide "File > Exit" and "Help > About" on macOS
2021-10-24 09:44:34 +02:00
Karl Tauber
0f9b38895e FlatComponents2Test: allow enabling tree editing 2021-10-23 09:20:53 +02:00
Karl Tauber
8fa1eae352 TextComponents: triple-click-and-drag now extends selection by whole lines
triple-click-and-drag does not work in theme editor because drag is enabled, anyway a triple-click now selects the whole line before dragging starts
2021-10-22 13:14:01 +02:00
Karl Tauber
e13fb25f14 TextComponents: keep selection when switching theme 2021-10-21 22:57:28 +02:00
Karl Tauber
e36f942129 TextComponents: double-click-and-drag now extends selection by whole words 2021-10-21 13:24:07 +02:00
Karl Tauber
f8b9f4c1fa Table: do not select text in cell editor when it gets focus (when JTable.surrendersFocusOnKeystroke is true) and TextComponent.selectAllOnFocusPolicy is once (the default) or always (issue #395) 2021-10-16 23:32:08 +02:00
Karl Tauber
65a4f66d2c Merge branch 'release-1.6.1' into main
# Conflicts:
#	CHANGELOG.md
2021-10-14 22:50:44 +02:00
Karl Tauber
a253b6c0cf release 1.6.1 1.6.1 2021-10-14 22:35:33 +02:00
Karl Tauber
efcbc1fbdb Native window decorations: catch UnsatisfiedLinkError when trying to load jawt.dll to avoid an application crash (Java 8 on Windows 10 only) 2021-10-14 18:59:26 +02:00
Karl Tauber
d10bcfc72f Theme Editor: fixed StackOverflowError when adding "defaultFont" key to properties file 2021-10-12 23:50:45 +02:00
Karl Tauber
942e5b9cd1 IntelliJ Themes: do not ignore UI keys prefixed with [style] to allow using styles 2021-10-12 22:29:38 +02:00
Karl Tauber
51a90d32f8 support defining "defaultFont" in FlatLaf properties files (issue #384) 2021-10-12 11:13:40 +02:00
Karl Tauber
ac46632e73 UIDefaultsLoader: do not detect string values that start and end with '"', but also contain ", as string (e.g. font value "Roboto Mono", "Ubuntu Mono") 2021-10-10 17:59:00 +02:00
Karl Tauber
1192bef1ae Styling: use cache for parsed fonts, which is mostly used for fonts in CSS styles (e.g. font: bold +4) (issue 384) 2021-10-08 22:08:37 +02:00
Karl Tauber
b9ec382589 support defining fonts in FlatLaf properties files (issue #384) 2021-10-08 20:23:54 +02:00
Karl Tauber
5ecf19ef4f Styling: added styling properties that are likewise to client properties
(e.g. `buttonType: help` on `JButton` does the same as setting client property `JButton.buttonType` to `help`)
2021-10-07 14:22:47 +02:00
Karl Tauber
9636809b4d CHANGELOG.md: added PR #388 (style classes) 2021-10-06 12:25:17 +02:00
Karl Tauber
ba1c1ed952 ToolBar: added arrowKeysOnlyNavigation to unit tests (issue #346) 2021-10-06 00:04:49 +02:00
Karl Tauber
7452390614 ToolBar: support non-button components in arrow-keys-only navigation (issue #346) 2021-10-05 23:11:53 +02:00
Karl Tauber
69042e42b7 ToolBar: support arrow-keys-only navigation within focusable buttons of toolbar:
- arrow keys move focus within toolbar (provided by `BasicToolBarUI`)
- tab-key moves focus out of toolbar
- if moving focus into the toolbar, focus recently focused toolbar button

(issue #346)
2021-10-05 16:36:50 +02:00
Karl Tauber
1e93deab2a ToolBar: fixed focus moving to next button when switching Laf and focusable buttons are enabled via CSS style focusableButtons: true
also avoid unnecessary invokation of `c.setFocusable()`
2021-10-05 15:34:23 +02:00
Karl Tauber
16ea809bb3 ToolBar: skip components with empty input map (e.g. JLabel) when using arrow keys to navigate in focusable buttons (related to issue #346) 2021-10-05 12:15:51 +02:00
Karl Tauber
78aa4343b7 ColorFunctions: added lighten(), darken(), saturate(), desaturate() and spin() 2021-10-04 22:56:10 +02:00
Karl Tauber
6815109e15 ColorFunctions: moved methods applyFunctions() and clamp() down to nested classes 2021-10-04 22:41:32 +02:00
Karl Tauber
e34fbcec58 ToolBar: foolbars are no longer floatable by default 2021-10-04 15:31:55 +02:00
Karl Tauber
bb2a21270b Theme Editor: added "Pick Color from Screen" action to "Edit" menu that allows picking a color from anywhere on screen and insert/change it at caret position 2021-10-04 12:44:03 +02:00
Karl Tauber
49b9ec9025 Theming improvements: updated CHANGELOG.md 2021-10-04 12:00:29 +02:00
Karl Tauber
a2e896e102 Merge PR #390: Theming improvements 2021-10-04 11:55:18 +02:00
Karl Tauber
2e1ef647a9 Theming improvements:
- renamed `MenuItemCheckBox.icon.checkmarkColor` to `CheckBoxMenuItem.icon.checkmarkColor`
- renamed `MenuItemCheckBox.icon.disabledCheckmarkColor` to `CheckBoxMenuItem.icon.disabledCheckmarkColor`

(Note: this are incompatible changes!)
2021-10-03 23:28:53 +02:00
Karl Tauber
f0c314df80 Theming improvements:
- renamed `@disabledText` to `@disabledForeground`
- renamed `@textComponentBackground` to `@componentBackground`
- renamed `@textComponentMargin` to `@componentMargin`
- added `@disabledBackground`

(Note: this are incompatible changes!)
2021-10-03 23:15:51 +02:00
Karl Tauber
4db39828ef Theming improvements: reordered variables and added comments 2021-10-02 00:53:54 +02:00
Karl Tauber
b2d40825ac Theming improvements:
- reworked core themes
- reduced explicit colors by using color functions
- made it easier to create new themes
- avoid using colors from one component type for another component type
  (except when useful; e.g. `Separator.foreground` is also used for other separators)
- HelpButton: use colors from Button (instead of from CheckBox.icon)
- ToolBar: improved "docking" and "floating" colors
2021-10-01 23:48:46 +02:00
Karl Tauber
6df5d3334e Styling: test if() and contrast() functions in unit tests 2021-10-01 15:08:17 +02:00
Karl Tauber
0e982df90c Styling:
- check for duplicate keys in StyleableInfos to find "overlapping" fields/properties (e.g. `borderColor` in `FlatBorder` and in `FlatComboBoxUI`)
- Button and ToggleButton: fixed styling `toolbar.spacingInsets`
2021-10-01 13:49:38 +02:00
Karl Tauber
3834d93c9d ComboBox and Spinner:
- added `buttonSeparatorColor` and `buttonDisabledSeparatorColor`
- fixed styling of `borderColor` and `disabledBorderColor`
2021-10-01 13:43:24 +02:00
Karl Tauber
16920a5b82 Styling: added slider properties to tests 2021-09-30 11:39:02 +02:00
Karl Tauber
d66e35fdde Styling: support enums 2021-09-30 10:40:43 +02:00
Karl Tauber
d93dde0a03 StringUtils:
- use new StringUtils.split(..., boolean trim, boolean excludeEmpty) where possible
- added substringTrimmed() and isTrimmedEmpty() to avoid temporary string  allocation
2021-09-30 01:14:45 +02:00
Karl Tauber
2d232124dd Merge PR #388: Styling: basic support for "classes" (similar to CSS classes) 2021-09-30 00:06:34 +02:00
Karl Tauber
ac6702fcf7 Styling: Extras: add styleClass getter and setter to component classes 2021-09-29 23:56:41 +02:00
Karl Tauber
c4b016c9c8 Styling: support specifying multiple style classes in single string 2021-09-29 23:49:40 +02:00
Karl Tauber
6baa583a28 ColorFunctions: improved performance of mix(), tint() and shade() color functions
(used UIDefaultsDump to verify whether results are the same as before)
2021-09-28 19:48:54 +02:00
Karl Tauber
82df2ecfa9 ComboBox: paint focus border if combobox component itself is focused (instead of internal text field) or if client property JComponent.focusOwner is set
Theme Editor:
- do not set client property `JComponent.focusOwner` on internal components of combobox and spinner
- repaint preview on window activation (necessary because if something changed in editor and switching to another app, the editor is saved and the preview is updated while the editor window is not-active, which hides all focus indicators)
2021-09-28 19:34:53 +02:00