Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
b6451f1
fix git modules requires and uses
Siedlerchr Aug 14, 2025
9bee24f
Merge remote-tracking branch 'upstream/main'
Siedlerchr Aug 21, 2025
c0d0a7c
Merge remote-tracking branch 'upstream/main'
Siedlerchr Aug 27, 2025
2c4d427
Merge remote-tracking branch 'upstream/main'
Siedlerchr Aug 28, 2025
5277005
Merge remote-tracking branch 'upstream/main'
Siedlerchr Sep 8, 2025
511549f
Merge remote-tracking branch 'upstream/main'
Siedlerchr Sep 9, 2025
2a819aa
Merge remote-tracking branch 'upstream/main'
Siedlerchr Sep 10, 2025
aa1818f
Merge remote-tracking branch 'upstream/main'
Siedlerchr Sep 11, 2025
87abac1
Merge remote-tracking branch 'upstream/main'
Siedlerchr Sep 13, 2025
4882129
Merge remote-tracking branch 'upstream/main'
Siedlerchr Sep 13, 2025
e0909e6
Merge remote-tracking branch 'upstream/main'
Siedlerchr Sep 13, 2025
afe0c50
Merge remote-tracking branch 'upstream/main'
Siedlerchr Sep 15, 2025
1807fc8
Merge remote-tracking branch 'upstream/main'
Siedlerchr Sep 17, 2025
7c84fe2
update javafx 25
Siedlerchr Sep 17, 2025
a8049ea
update richtext
Siedlerchr Sep 17, 2025
f2ff92e
fix version
Siedlerchr Sep 17, 2025
4f3e257
try to fix module?
Siedlerchr Sep 17, 2025
421ca59
try to fix module?
Siedlerchr Sep 17, 2025
19e5b4d
try to fix module?
Siedlerchr Sep 17, 2025
c672434
fix module
Siedlerchr Sep 17, 2025
5808bef
Merge branch 'main' into updatejfx25
Siedlerchr Sep 17, 2025
227ac76
fix: ThemeManager test
Yubo-Cao Sep 19, 2025
a70facf
more explanation and check if test is on fx thrad
Siedlerchr Sep 21, 2025
8e076e7
remove debug
Siedlerchr Sep 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ extraJavaModuleInfo {
requiresTransitive("jdk.unsupported")
}

module("org.openjfx:jdk-jsobject", "jdk.jsobjectEmpty")
module("org.openjfx:jdk-jsobject", "jdk.jsobjectEmpty") {}

module("org.controlsfx:controlsfx", "org.controlsfx.controls") {
patchRealModule()
Expand Down
24 changes: 18 additions & 6 deletions jabgui/src/main/java/org/jabref/gui/theme/ThemeManager.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,12 +85,24 @@ public ThemeManager(WorkspacePreferences workspacePreferences,
addStylesheetToWatchlist(this.baseStyleSheet, this::baseCssLiveUpdate);
baseCssLiveUpdate();

BindingsHelper.subscribeFuture(workspacePreferences.themeProperty(), _ -> updateThemeSettings());
BindingsHelper.subscribeFuture(workspacePreferences.themeSyncOsProperty(), _ -> updateThemeSettings());
BindingsHelper.subscribeFuture(workspacePreferences.shouldOverrideDefaultFontSizeProperty(), _ -> updateFontSettings());
BindingsHelper.subscribeFuture(workspacePreferences.mainFontSizeProperty(), _ -> updateFontSettings());
BindingsHelper.subscribeFuture(Platform.getPreferences().colorSchemeProperty(), _ -> updateThemeSettings());
updateThemeSettings();
if (Platform.isFxApplicationThread()) {
BindingsHelper.subscribeFuture(workspacePreferences.themeProperty(), _ -> updateThemeSettings());
BindingsHelper.subscribeFuture(workspacePreferences.themeSyncOsProperty(), _ -> updateThemeSettings());
BindingsHelper.subscribeFuture(workspacePreferences.shouldOverrideDefaultFontSizeProperty(), _ -> updateFontSettings());
BindingsHelper.subscribeFuture(workspacePreferences.mainFontSizeProperty(), _ -> updateFontSettings());
BindingsHelper.subscribeFuture(Platform.getPreferences().colorSchemeProperty(), _ -> updateThemeSettings());
updateThemeSettings();
} else {
// Normally ThemeManager is only instantiated by JabGui and therefore already on the FX Thread, but when it's called from a test (e.g. ThemeManagerTest) then it's not on the fx thread
UiTaskExecutor.runInJavaFXThread(() -> {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't it OK to always use this? The check whether in FXApplicationThread should be done inside that in all cases?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, but runOnFxThread just forwards to Platform.runLater, which will put the call in a queue to be executed when it's ready. https://stackoverflow.com/questions/24043420/why-does-platform-runlater-not-check-if-it-currently-is-on-the-javafx-thread

BindingsHelper.subscribeFuture(workspacePreferences.themeProperty(), _ -> updateThemeSettings());
BindingsHelper.subscribeFuture(workspacePreferences.themeSyncOsProperty(), _ -> updateThemeSettings());
BindingsHelper.subscribeFuture(workspacePreferences.shouldOverrideDefaultFontSizeProperty(), _ -> updateFontSettings());
BindingsHelper.subscribeFuture(workspacePreferences.mainFontSizeProperty(), _ -> updateFontSettings());
BindingsHelper.subscribeFuture(Platform.getPreferences().colorSchemeProperty(), _ -> updateThemeSettings());
updateThemeSettings();
});
}
}

/// Installs the base and additional css files as stylesheets in the given scene.
Expand Down
6 changes: 3 additions & 3 deletions versions/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ javaPlatform {
allowDependencies()
}

val javafx = "24.0.2"
val javafx = "25"
val lucene = "10.2.2"
val pdfbox = "3.0.5"

Expand All @@ -29,7 +29,7 @@ dependencies.constraints {
api("org.openjfx:javafx-swing:$javafx")
api("org.openjfx:javafx-web:$javafx")
// from JavaFX25 onwards
api("org.openjfx:jdk-jsobject:25-ea+21")
api("org.openjfx:jdk-jsobject:$javafx")

api("com.ibm.icu:icu4j:72.0.1!!")

Expand Down Expand Up @@ -107,7 +107,7 @@ dependencies.constraints {
api("org.controlsfx:controlsfx:11.2.2")
api("org.eclipse.jgit:org.eclipse.jgit:7.3.0.202506031305-r")
api("org.fxmisc.flowless:flowless:0.7.4")
api("org.fxmisc.richtext:richtextfx:0.11.5")
api("org.fxmisc.richtext:richtextfx:0.11.6")
api("org.glassfish.grizzly:grizzly-framework:4.0.2")
api("org.glassfish.grizzly:grizzly-http-server:4.0.2")
api("org.glassfish.hk2:hk2-api:3.1.1")
Expand Down
Loading