From 84a129191d37adb0950c95285fcce9e281f62b0b Mon Sep 17 00:00:00 2001 From: crschnick Date: Tue, 21 Feb 2023 09:58:39 +0000 Subject: [PATCH] Small fixes --- app/src/main/java/io/xpipe/app/prefs/AppPrefs.java | 1 - .../main/java/io/xpipe/app/prefs/ExternalEditorType.java | 4 ++-- .../java/io/xpipe/app/prefs/ExternalTerminalType.java | 3 +-- app/src/main/java/io/xpipe/app/update/AppUpdater.java | 4 +++- .../java/io/xpipe/app/update/UpdateChangelogAlert.java | 8 ++++++++ app/src/main/java/io/xpipe/app/util/TerminalHelper.java | 4 ++++ 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java b/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java index fd08c604..4ae2faeb 100644 --- a/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java +++ b/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java @@ -127,7 +127,6 @@ public class AppPrefs { // External editor // =============== - final ObjectProperty externalEditor = typed(new SimpleObjectProperty<>(), ExternalEditorType.class); private final SingleSelectionField externalEditorControl = Field.ofSingleSelectionType( diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java b/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java index b940325f..ad20693e 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalEditorType.java @@ -82,8 +82,8 @@ public interface ExternalEditorType extends PrefsChoiceValue { @Override public void launch(Path file) throws Exception { var customCommand = AppPrefs.get().customEditorCommand().getValue(); - if (customCommand == null || customCommand.trim().isEmpty()) { - return; + if (customCommand == null || customCommand.isBlank()) { + throw new IllegalStateException("No custom editor command specified"); } var format = customCommand.contains("$file") ? customCommand : customCommand + " $file"; diff --git a/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java b/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java index b3054409..371f92cd 100644 --- a/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java +++ b/app/src/main/java/io/xpipe/app/prefs/ExternalTerminalType.java @@ -153,8 +153,7 @@ public interface ExternalTerminalType extends PrefsChoiceValue { public void launch(String name, String command) throws Exception { var custom = AppPrefs.get().customTerminalCommand().getValue(); if (custom == null || custom.isBlank()) { - ErrorEvent.fromMessage("No custom terminal command specified").reportable(false).handle(); - return; + throw new IllegalStateException("No custom terminal command specified"); } var format = custom.contains("$cmd") ? custom : custom + " $cmd"; diff --git a/app/src/main/java/io/xpipe/app/update/AppUpdater.java b/app/src/main/java/io/xpipe/app/update/AppUpdater.java index 3c2cb049..02f57a25 100644 --- a/app/src/main/java/io/xpipe/app/update/AppUpdater.java +++ b/app/src/main/java/io/xpipe/app/update/AppUpdater.java @@ -218,7 +218,8 @@ public class AppUpdater { var performedUpdate = new PerformedUpdate( downloadedUpdate.getValue().getVersion(), - downloadedUpdate.getValue().getBody()); + downloadedUpdate.getValue().getBody(), + downloadedUpdate.getValue().getVersion()); AppCache.update("performedUpdate", performedUpdate); } }); @@ -290,6 +291,7 @@ public class AppUpdater { public static class PerformedUpdate { String name; String rawDescription; + String newVersion; } @Value diff --git a/app/src/main/java/io/xpipe/app/update/UpdateChangelogAlert.java b/app/src/main/java/io/xpipe/app/update/UpdateChangelogAlert.java index d16a3e07..313c6406 100644 --- a/app/src/main/java/io/xpipe/app/update/UpdateChangelogAlert.java +++ b/app/src/main/java/io/xpipe/app/update/UpdateChangelogAlert.java @@ -2,7 +2,9 @@ package io.xpipe.app.update; import io.xpipe.app.comp.base.MarkdownComp; import io.xpipe.app.core.AppI18n; +import io.xpipe.app.core.AppProperties; import io.xpipe.app.core.AppWindowHelper; +import io.xpipe.app.issue.ErrorEvent; import javafx.scene.control.Alert; import javafx.scene.control.ButtonBar; import javafx.scene.control.ButtonType; @@ -12,6 +14,12 @@ public class UpdateChangelogAlert { public static void showIfNeeded() { var update = AppUpdater.get().getPerformedUpdate(); + + if (update != null && !update.getNewVersion().equals(AppProperties.get().getVersion())) { + ErrorEvent.fromMessage("Update did not succeed").handle(); + return; + } + if (update == null || update.getRawDescription() == null) { return; } diff --git a/app/src/main/java/io/xpipe/app/util/TerminalHelper.java b/app/src/main/java/io/xpipe/app/util/TerminalHelper.java index 91c306d6..7df7d24b 100644 --- a/app/src/main/java/io/xpipe/app/util/TerminalHelper.java +++ b/app/src/main/java/io/xpipe/app/util/TerminalHelper.java @@ -10,6 +10,10 @@ public class TerminalHelper { } var type = AppPrefs.get().terminalType().getValue(); + if (type == null) { + throw new IllegalStateException("No terminal has been configured to be used"); + } + type.launch(title, command); } }