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
7c7eea8818
Test: Add flag to toggle running all on all themes.
3 years ago
weisj
60c704d2d6
Test + CI: Disable demo test for normal test runs to reduce CI time. Run all the tests in verbose mode for JDK 16.
3 years ago
weisj
e67782cea1
FileChooser: Fix clashing signature
3 years ago
weisj
f3fd0630a8
Fix documentation output path.
3 years ago
weisj
a795483c55
Remove fatJar task
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
12d1b75883
Test: Add test to ensure all demos are able to be run without throwing any exceptions. Unstable demos are marked as delicate and are skipped.
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
2078b64849
Catch all errors when instantiating a class.
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
8ec49ddb47
Test: Ensure property threading across test classes.
3 years ago
weisj
afd246ad86
[macOS] Decorations: Enable runtime changes to the macos.useColoredTitleBar property.
3 years ago
weisj
bdce6b56da
Test: Increase pause time between gc.
3 years ago
weisj
51d8b155c6
Test: Ensure no reference to the frame is kept through the KeyboardFocusManager.
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
6620be9554
Test: Mark title bar tests as having to run in sequence.
3 years ago
weisj
afbd91d58a
Test: Ensure laf doesn't get installed multiple times.
3 years ago
weisj
71a4c37e52
InternalFrame: Use FontMetrics of label to calculate the title bar height. Relates to #239
3 years ago
weisj
0cf17f1b37
Test: Make sure laf is installed on the EDT.
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
weisj
9ef6d0677f
JPopupMenu: Add client property to control the maximum size of a popup menu,
3 years ago
weisj
9b14afba1d
Deprecate FileTree as it will be moved to the swing-dsl project.
3 years ago
weisj
0b0462bcf9
Fix style violations.
4 years ago
weisj
b893220c9e
DnD: Replace Class#getCanonicalName with Class#getName.
4 years ago
weisj
8bdfbe7b23
DnD: Use TransferData as mime type to explicitly prohibit serializing it to an external drop target. Relates to #236
4 years ago
weisj
464ba398c7
DnD: Ensure #createDragImage returns a BufferedImage, as this is what the DnD API expects.
4 years ago
weisj
e6644787b9
DnD: Pass component as ImageObserver, when calculating their size.
4 years ago