From 93786dc76c4bedc9bb14112a50bf5cb15b42c681 Mon Sep 17 00:00:00 2001 From: crschnick Date: Wed, 3 Apr 2024 04:08:49 +0000 Subject: [PATCH] Improve window title --- app/src/main/java/io/xpipe/app/core/App.java | 21 +++++++------------ .../io/xpipe/app/util/LicenseProvider.java | 3 +++ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/core/App.java b/app/src/main/java/io/xpipe/app/core/App.java index 49e419a4..99a9e617 100644 --- a/app/src/main/java/io/xpipe/app/core/App.java +++ b/app/src/main/java/io/xpipe/app/core/App.java @@ -6,6 +6,7 @@ import io.xpipe.app.issue.ErrorEvent; import io.xpipe.app.issue.TrackEvent; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.update.XPipeDistributionType; +import io.xpipe.app.util.LicenseProvider; import io.xpipe.core.process.OsType; import javafx.application.Application; import javafx.beans.binding.Bindings; @@ -56,27 +57,21 @@ public class App extends Application { public void setupWindow() { var content = new AppLayoutComp(); + var t = LicenseProvider.get().licenseTitle(); + var u = XPipeDistributionType.get().getUpdateHandler().getPreparedUpdate(); var titleBinding = Bindings.createStringBinding( () -> { var base = String.format( - "XPipe Desktop (%s)", AppProperties.get().getVersion()); + "XPipe %s (%s)", t.getValue(), AppProperties.get().getVersion()); var prefix = AppProperties.get().isStaging() ? "[Public Test Build, Not a proper release] " : ""; - var suffix = XPipeDistributionType.get() - .getUpdateHandler() - .getPreparedUpdate() - .getValue() - != null + var suffix = u.getValue() != null ? String.format( - " (Update to %s ready)", - XPipeDistributionType.get() - .getUpdateHandler() - .getPreparedUpdate() - .getValue() - .getVersion()) + " (Update to %s ready)", u.getValue().getVersion()) : ""; return prefix + base + suffix; }, - XPipeDistributionType.get().getUpdateHandler().getPreparedUpdate()); + u, + t); var appWindow = AppMainWindow.init(stage); appWindow.getStage().titleProperty().bind(PlatformThread.sync(titleBinding)); diff --git a/app/src/main/java/io/xpipe/app/util/LicenseProvider.java b/app/src/main/java/io/xpipe/app/util/LicenseProvider.java index 8fc8844a..e979a1f1 100644 --- a/app/src/main/java/io/xpipe/app/util/LicenseProvider.java +++ b/app/src/main/java/io/xpipe/app/util/LicenseProvider.java @@ -4,6 +4,7 @@ import io.xpipe.app.ext.ExtensionException; import io.xpipe.app.fxcomps.Comp; import io.xpipe.core.process.ShellControl; import io.xpipe.core.util.ModuleLayerLoader; +import javafx.beans.value.ObservableValue; import java.util.ServiceLoader; @@ -17,6 +18,8 @@ public abstract class LicenseProvider { public abstract boolean hasLicense(); + public abstract ObservableValue licenseTitle(); + public abstract LicensedFeature getFeature(String id); public abstract void handleShellControl(ShellControl sc);