From 3c93f7cc45d76cf8e6ece825429e26c4cdab6461 Mon Sep 17 00:00:00 2001 From: Moritz Zwerger Date: Tue, 29 Oct 2024 21:58:27 +0100 Subject: [PATCH] update: wrap release notes in scroll panel, show if update unavailable for downloading Fixes GH-31 --- .../gui/eros/dialog/UpdateAvailableDialog.kt | 8 ++++++++ .../minosoft/eros/dialog/update_available.fxml | 16 +++++++++------- .../resources/assets/minosoft/eros/style.css | 5 +++++ .../assets/minosoft/language/en_us.lang | 1 + 4 files changed, 23 insertions(+), 7 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/dialog/UpdateAvailableDialog.kt b/src/main/java/de/bixilon/minosoft/gui/eros/dialog/UpdateAvailableDialog.kt index 9ad071d69e..20b27060af 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/dialog/UpdateAvailableDialog.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/dialog/UpdateAvailableDialog.kt @@ -30,6 +30,7 @@ import de.bixilon.minosoft.util.logging.LogMessageType import de.bixilon.minosoft.util.system.SystemUtil import javafx.fxml.FXML import javafx.scene.control.Button +import javafx.scene.control.Tooltip import javafx.scene.input.KeyCode import javafx.scene.input.KeyEvent import javafx.scene.text.TextFlow @@ -62,6 +63,11 @@ class UpdateAvailableDialog( openButtonFX.isDisable = update.page === null updateButtonFX.isDisable = update.download === null + + if (update.download == null) { + val tooltip = Tooltip().apply { ctext = UNAVAILABLE; styleClass += "tooltip-error" } + Tooltip.install(updateButtonFX.parent, tooltip) // can not add to the button, because java fx sucks. disabled nodes don't get click/hover events + } } override fun postInit() { @@ -107,5 +113,7 @@ class UpdateAvailableDialog( private val LATER = i18n("updater.available.later") private val OPEN = i18n("updater.available.open") private val UPDATE = i18n("updater.available.update") + + private val UNAVAILABLE = i18n("updater.available.unavailable") } } diff --git a/src/main/resources/assets/minosoft/eros/dialog/update_available.fxml b/src/main/resources/assets/minosoft/eros/dialog/update_available.fxml index 70e7b113c0..611a2c2319 100644 --- a/src/main/resources/assets/minosoft/eros/dialog/update_available.fxml +++ b/src/main/resources/assets/minosoft/eros/dialog/update_available.fxml @@ -14,7 +14,7 @@ --> - + @@ -37,12 +37,14 @@ - - - - - - + + + + + + + + diff --git a/src/main/resources/assets/minosoft/eros/style.css b/src/main/resources/assets/minosoft/eros/style.css index 0ab5ebda49..b04fb51ee3 100644 --- a/src/main/resources/assets/minosoft/eros/style.css +++ b/src/main/resources/assets/minosoft/eros/style.css @@ -174,6 +174,11 @@ -fx-padding: 0; } +.scroll-pane, +.scroll-pane > .viewport { + -fx-background-color: transparent; +} + /* General panes */ diff --git a/src/main/resources/assets/minosoft/language/en_us.lang b/src/main/resources/assets/minosoft/language/en_us.lang index 56a27417c4..7f7a3b0072 100644 --- a/src/main/resources/assets/minosoft/language/en_us.lang +++ b/src/main/resources/assets/minosoft/language/en_us.lang @@ -230,6 +230,7 @@ minosoft:updater.available.dismiss=Dismiss minosoft:updater.available.later=Update later minosoft:updater.available.open=Open in browser minosoft:updater.available.update=Update now +updater.available.unavailable=The update is not available for downloading.\nThe update is only built for linux (64bit) at the moment.\nIf you need it for a different platform, feel free to download it from github actions or build it yourself.\nSorry :( minosoft:updater.ask.title=Update checking