weisj
92e544c4d7
Test: Prevent initializing the `editor` variable in the shared ui
3 years ago
weisj
774e4fea4d
Modules: Fix resource loading when running on the module path.
3 years ago
weisj
9cb82105e8
Build: Extract compatibility code into separate project
...
This allows us to limit the scope where '--release' can't be used for compilation.
3 years ago
weisj
ed1a162f42
SwingUtils: Convert grab/ungrab methods to MethodHandles.
3 years ago
weisj
666f5f67e6
Remove debug painting.
3 years ago
weisj
be6fa54058
Modules: Move utils in darklaf to ui.utils to avoid split packages. Move classes in property-loader to the properties subpackage to avoid split packages.
3 years ago
weisj
e716522288
Build: Add and compile module info
...
We add a custom task to compile the module-info with a newer java version.
To ensure the module-info is correct we need to compile it together with all other project sources.
3 years ago
weisj
838bf39224
Remove unused class
3 years ago
weisj
aab96b6471
API: Move ColorUtil into util project as it is referenced there.
3 years ago
weisj
b6d7c68f3a
NumberingPane: Respect icon width when calculating numbering position
...
This also improves the font choice for numbering panes on windows.
Fixes #251
3 years ago
weisj
39dfba2e39
Remove accidentally introduced usage of SwingUtilities2 api.
3 years ago
weisj
1163664e29
Painting: Use SynthGraphicsUtil for text painting.
...
SynthGraphicsUtil actually exposes SwingUtilities2#drawString which we can use the replace our copy implementation in UIUtilities.
Relates to #256
3 years ago
weisj
865e8e9a68
Make sure propertyChangeListener is called when dirty is set to true
3 years ago
weisj
6e91b0274d
TransformUI: Allow for general wrapped RepaintManagers
3 years ago
Pabilo8
c9593dced0
Update Polish translation
3 years ago
weisj
1b0752e160
Font: Fix font replacement predicate
3 years ago
weisj
8775cbc482
ToggleButtonList: Update ui of renderers in updateUI
...
Closes #250
3 years ago
weisj
2c10d41bdb
Table: Ensure custom renderers/editors are uninstalled
...
Closes #249
3 years ago
weisj
34326de0b8
TransformUI: Be more lenient when rejecting the better repainting approach
...
Instead of rejecting with all java version that support the module system we only do it for versions >= 16 as those actually enforce the encapsulation. We also offer an option to opt-in to the better version by passing appropriate jvm flags.
3 years ago
weisj
ea877561c2
TransformUI: Replace JXLayer with JLayer
3 years ago
weisj
7cf3520be7
Installation: Don't update uis when changing decorations if LaF isn't installed.
3 years ago
weisj
4382249baf
Menu: Safely check type of 'checkIconFactory' factory property
...
As the type can only mismatch when darklaf is being uninstalled we don't care what happens in this case. Simply don't crash. Moreover this only happens on windows where the window decorations may change the component hierarchy during uninstallation to return the menu bar to the root pane.
Currently we don't make use of this property at all, but to keep the implementation close to the swing internal one we keep the method for now.
Relates to #234
3 years ago
weisj
bd23c170ef
Menu: Remove unused method
3 years ago
weisj
a005d5224a
Popup: Assume popups are opaque by default.
3 years ago
weisj
ce6f2d3e2d
Windows: Make lists non striped.
...
This property changed accidentally.
3 years ago
weisj
c206547453
Tooltip: Fix spelling error
3 years ago
Peter Lemke
b71e76968d
Update darklaf_de.properties
3 years ago
weisj
1f3d598519
PopupFactory: Add logging information
3 years ago
weisj
64dc8d5e9e
Popup: Allow specifying the bias for enabling (if possible) double-buffering or disabling it to fix transparent windows.
3 years ago
weisj
e659d6aea1
Popup [Linux]: Due to a jdk bug report the proper fix for transparent windows is to disable all double buffering on glass pane, layered pane and content pane.
3 years ago
weisj
15a2956e80
UIUtils: Cleanup UIUtilities bridge.
3 years ago
weisj
acc4aaf7c2
Memory: Further ensure no memory leaks for with shared resources and wrappers can occur.
3 years ago
weisj
e67782cea1
FileChooser: Fix clashing signature
3 years ago
weisj
e243a493cd
Fall back to alternative fix for non-opaque popups on linux, when reflection can't be used.
3 years ago
weisj
04969089d0
Replace manual check for java version with predefined constant.
3 years ago
weisj
f7a5aabd67
MenuItem: Uninstall before the menuItem gets set to null.
3 years ago
weisj
c51d02ae2f
Test: Move test classes into com.github.weisj.darklaf package.
3 years ago
weisj
bcf0a7639f
Replace usage of SunToolkit in MouseGrabber for Java 11 and later.
3 years ago
weisj
542dbf3cb7
Modules + MenuItem: Use java-compatibility.jar from intelliJ to replace swing internal api calls. Because this also replaces the MenuItemLayoutHelper we need to unify the implementation of DarkMenuItemUIBase and DarkMenuUI. This is done by extracting all functionality into the MenuItemUI interface for which the implementing classes need to provide the necessary details.
3 years ago
weisj
39e4ab9c10
TransformUI: Check whether reflection is allowed.
3 years ago
weisj
69f94c7f3f
FileChooser: Replace old implementation by patching the components of MetalFileChooserUI. This removed the dependency on swing internal apis.
3 years ago
weisj
c3520409e9
ComboBox: Allow setting the maximum row count through a UIManager property.
3 years ago
weisj
40f6bac711
List: Fix incorrect renderer being used after painting an empty cell.
3 years ago
weisj
8215cd1bc1
NativeLibs: Check whether the corresponding native library can be loaded, when selecting the decorations provider.
...
To do this properly we add new flags to SystemInfo indicating whether the current arch supports X86 or is an ARM/M1 based cpu. The X86 support detection is most definitely incorrect but will work for most common processors. Relates to #240
3 years ago
weisj
afd246ad86
[macOS] Decorations: Enable runtime changes to the macos.useColoredTitleBar property.
3 years ago
weisj
15d156f587
Logging: Add method to create detached loggers, which use the darklaf Logger as their parent despite their package hierarchy.
3 years ago
weisj
71a4c37e52
InternalFrame: Use FontMetrics of label to calculate the title bar height. Relates to #239
3 years ago
weisj
dedbce9a8b
Properly handle popupmenu sizes for popup position calculation.
...
Previously the popupmenu would always report its raw preferred size (i.e. without the maximum size constraints applied) to the position calculation algorithm. Due to this a popup, which would fit on the screen after it has been wrapped in the scrollable container would be moved. We'll now correctly report the effective size of the popup as the preferred/minimum/maximum size.
3 years ago
weisj
606949875d
PopupMenu: Implement ScrollPopupMenu based on the new DarkPopupMenuUI.KEY_MAX_POPUP_SIZE property.
...
Previously ScrollPopupMenu duplicated the implementation of DarkPopupMenuUI.
3 years ago
weisj
8e6573be68
CellHint: Correctly handle popups on the top and bottom. Fixes #238
...
Depending on whether the hidden part of a cell has greater width/height calculate the popup accordingly.
3 years ago