diff --git a/build.gradle.kts b/build.gradle.kts index e0165699c..4ef4c10d0 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -14,6 +14,7 @@ import de.bixilon.kutil.os.Architectures import de.bixilon.kutil.os.OSTypes import de.bixilon.kutil.os.PlatformInfo +import de.bixilon.kutil.time.TimeUtil import org.ajoberstar.grgit.Commit import org.ajoberstar.grgit.Grgit import org.ajoberstar.grgit.operation.LogOp @@ -454,6 +455,7 @@ val versionJsonTask = tasks.register("versionJson") { val versionInfo: MutableMap = mutableMapOf( "general" to mutableMapOf( "name" to project.version, + "date" to TimeUtil.seconds(), "stable" to stable, ) ) diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/Eros.kt b/src/main/java/de/bixilon/minosoft/gui/eros/Eros.kt index e50b19400..e69ff3bc8 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/Eros.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/Eros.kt @@ -21,8 +21,8 @@ import de.bixilon.kutil.observer.DataObserver.Companion.observe import de.bixilon.minosoft.config.profile.profiles.eros.ErosProfileManager import de.bixilon.minosoft.config.profile.profiles.other.OtherProfileManager import de.bixilon.minosoft.data.registries.identified.Namespaces.i18n -import de.bixilon.minosoft.gui.eros.dialog.SimpleErosConfirmationDialog import de.bixilon.minosoft.gui.eros.dialog.UpdateAvailableDialog +import de.bixilon.minosoft.gui.eros.dialog.simple.ConfirmationDialog import de.bixilon.minosoft.gui.eros.main.MainErosController import de.bixilon.minosoft.gui.eros.modding.invoker.JavaFXEventListener.Companion.javaFX import de.bixilon.minosoft.gui.eros.util.JavaFXUtil @@ -100,7 +100,7 @@ object Eros { private fun askForUpdates() { val profile = OtherProfileManager.selected.updater if (!profile.ask) return - val dialog = SimpleErosConfirmationDialog( + val dialog = ConfirmationDialog( title = i18n("updater.ask.title"), header = i18n("updater.ask.header"), description = i18n("updater.ask.description"), diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/dialog/SimpleErosConfirmationDialog.kt b/src/main/java/de/bixilon/minosoft/gui/eros/dialog/simple/ConfirmationDialog.kt similarity index 95% rename from src/main/java/de/bixilon/minosoft/gui/eros/dialog/SimpleErosConfirmationDialog.kt rename to src/main/java/de/bixilon/minosoft/gui/eros/dialog/simple/ConfirmationDialog.kt index 15789393d..4025ed779 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/dialog/SimpleErosConfirmationDialog.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/dialog/simple/ConfirmationDialog.kt @@ -11,7 +11,7 @@ * This software is not affiliated with Mojang AB, the original developer of Minecraft. */ -package de.bixilon.minosoft.gui.eros.dialog +package de.bixilon.minosoft.gui.eros.dialog.simple import de.bixilon.kutil.concurrent.pool.DefaultThreadPool import de.bixilon.minosoft.data.language.IntegratedLanguage @@ -26,7 +26,7 @@ import javafx.scene.control.Button import javafx.scene.text.TextFlow import javafx.stage.Modality -class SimpleErosConfirmationDialog( +class ConfirmationDialog( val title: Any = DEFAULT_TITLE_TEXT, val header: Any = DEFAULT_TITLE_TEXT, val description: Any? = null, @@ -77,7 +77,7 @@ class SimpleErosConfirmationDialog( companion object { - private val LAYOUT = "minosoft:eros/dialog/simple_confirmation.fxml".toResourceLocation() + private val LAYOUT = "minosoft:eros/dialog/simple/confirmation.fxml".toResourceLocation() private val DEFAULT_TITLE_TEXT = "minosoft:general.dialog.are_you_sure".toResourceLocation() } } diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/dialog/SimpleErosWarningDialog.kt b/src/main/java/de/bixilon/minosoft/gui/eros/dialog/simple/WarningDialog.kt similarity index 95% rename from src/main/java/de/bixilon/minosoft/gui/eros/dialog/SimpleErosWarningDialog.kt rename to src/main/java/de/bixilon/minosoft/gui/eros/dialog/simple/WarningDialog.kt index 52bf8b667..359eb682c 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/dialog/SimpleErosWarningDialog.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/dialog/simple/WarningDialog.kt @@ -11,7 +11,7 @@ * This software is not affiliated with Mojang AB, the original developer of Minecraft. */ -package de.bixilon.minosoft.gui.eros.dialog +package de.bixilon.minosoft.gui.eros.dialog.simple import de.bixilon.kutil.concurrent.pool.DefaultThreadPool import de.bixilon.minosoft.data.language.IntegratedLanguage @@ -27,7 +27,7 @@ import javafx.scene.input.KeyEvent import javafx.scene.text.TextFlow import javafx.stage.Modality -class SimpleErosWarningDialog( +class WarningDialog( val title: Any = DEFAULT_TITLE_TEXT, val header: Any = DEFAULT_TITLE_TEXT, val description: Any? = null, @@ -72,7 +72,7 @@ class SimpleErosWarningDialog( companion object { - private val LAYOUT = "minosoft:eros/dialog/simple_warning.fxml".toResourceLocation() + private val LAYOUT = "minosoft:eros/dialog/simple/warning.fxml".toResourceLocation() private val DEFAULT_TITLE_TEXT = "minosoft:general.dialog.warning".toResourceLocation() private val DEFAULT_IGNORE_TEXT = "minosoft:general.ignore".toResourceLocation() } diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/main/MainErosController.kt b/src/main/java/de/bixilon/minosoft/gui/eros/main/MainErosController.kt index 6557d7db7..8bb70080c 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/main/MainErosController.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/main/MainErosController.kt @@ -1,6 +1,6 @@ /* * Minosoft - * Copyright (C) 2020-2022 Moritz Zwerger + * Copyright (C) 2020-2023 Moritz Zwerger * * This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. * @@ -21,7 +21,7 @@ import de.bixilon.minosoft.data.accounts.Account import de.bixilon.minosoft.data.registries.identified.Namespaces.minosoft import de.bixilon.minosoft.gui.eros.controller.EmbeddedJavaFXController import de.bixilon.minosoft.gui.eros.controller.JavaFXWindowController -import de.bixilon.minosoft.gui.eros.dialog.SimpleErosWarningDialog +import de.bixilon.minosoft.gui.eros.dialog.simple.WarningDialog import de.bixilon.minosoft.gui.eros.main.account.AccountController import de.bixilon.minosoft.gui.eros.util.JavaFXAccountUtil.avatar import de.bixilon.minosoft.gui.eros.util.JavaFXUtil @@ -160,7 +160,7 @@ class MainErosController : JavaFXWindowController() { val profile = ErosProfileManager.selected.general.accountProfile val account = account ?: profile.selected if (account == null) { - SimpleErosWarningDialog(title = NO_ACCOUNT_WARNING_TITLE, header = NO_ACCOUNT_WARNING_HEADER, description = NO_ACCOUNT_WARNING_DESCRIPTION, ignoreButtonText = NO_ACCOUNT_WARNING_BUTTON, onIgnore = { JavaFXUtil.runLater { activity = ErosMainActivities.ACCOUNT } }).show() + WarningDialog(title = NO_ACCOUNT_WARNING_TITLE, header = NO_ACCOUNT_WARNING_HEADER, description = NO_ACCOUNT_WARNING_DESCRIPTION, ignoreButtonText = NO_ACCOUNT_WARNING_BUTTON, onIgnore = { JavaFXUtil.runLater { activity = ErosMainActivities.ACCOUNT } }).show() return } diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/main/about/AboutController.kt b/src/main/java/de/bixilon/minosoft/gui/eros/main/about/AboutController.kt index 1d95fa77a..8d39f3048 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/main/about/AboutController.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/main/about/AboutController.kt @@ -18,7 +18,7 @@ import de.bixilon.minosoft.data.registries.identified.Namespaces.i18n import de.bixilon.minosoft.gui.eros.controller.EmbeddedJavaFXController import de.bixilon.minosoft.gui.eros.crash.ErosCrashReport.Companion.crash import de.bixilon.minosoft.gui.eros.dialog.ErosErrorReport.Companion.report -import de.bixilon.minosoft.gui.eros.dialog.SimpleErosWarningDialog +import de.bixilon.minosoft.gui.eros.dialog.simple.WarningDialog import de.bixilon.minosoft.gui.eros.util.JavaFXUtil import de.bixilon.minosoft.gui.eros.util.JavaFXUtil.ctext import de.bixilon.minosoft.gui.eros.util.JavaFXUtil.text @@ -67,7 +67,7 @@ class AboutController : EmbeddedJavaFXController() { try { val update = MinosoftUpdater.check() if (update == null) { - SimpleErosWarningDialog(i18n("updater.none.title"), i18n("updater.none.header")).show() + WarningDialog(i18n("updater.none.title"), i18n("updater.none.header")).show() } // no else, because eros is observing the update property and opens it automatically } catch (error: Throwable) { diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/main/account/AccountController.kt b/src/main/java/de/bixilon/minosoft/gui/eros/main/account/AccountController.kt index 3cae5e55f..eab4378dd 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/main/account/AccountController.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/main/account/AccountController.kt @@ -32,7 +32,7 @@ import de.bixilon.minosoft.data.text.ChatComponent import de.bixilon.minosoft.data.text.TranslatableComponents import de.bixilon.minosoft.gui.eros.controller.EmbeddedJavaFXController import de.bixilon.minosoft.gui.eros.dialog.ErosErrorReport.Companion.report -import de.bixilon.minosoft.gui.eros.dialog.SimpleErosConfirmationDialog +import de.bixilon.minosoft.gui.eros.dialog.simple.ConfirmationDialog import de.bixilon.minosoft.gui.eros.main.account.add.MicrosoftAddController import de.bixilon.minosoft.gui.eros.main.account.add.MojangAddController import de.bixilon.minosoft.gui.eros.main.account.add.OfflineAddController @@ -203,7 +203,7 @@ class AccountController : EmbeddedJavaFXController() { it.add(Button("Delete").apply { setOnAction { - SimpleErosConfirmationDialog(onConfirm = { + ConfirmationDialog(onConfirm = { if (profile.selected == account) { profile.selected = null } diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/main/play/server/ServerListController.kt b/src/main/java/de/bixilon/minosoft/gui/eros/main/play/server/ServerListController.kt index fc7ee13c1..7e65fe36c 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/main/play/server/ServerListController.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/main/play/server/ServerListController.kt @@ -31,11 +31,11 @@ import de.bixilon.minosoft.data.text.TranslatableComponents import de.bixilon.minosoft.gui.eros.Eros import de.bixilon.minosoft.gui.eros.controller.EmbeddedJavaFXController import de.bixilon.minosoft.gui.eros.dialog.ServerModifyDialog -import de.bixilon.minosoft.gui.eros.dialog.SimpleErosConfirmationDialog import de.bixilon.minosoft.gui.eros.dialog.connection.ConnectingDialog import de.bixilon.minosoft.gui.eros.dialog.connection.KickDialog import de.bixilon.minosoft.gui.eros.dialog.connection.LoadingDialog import de.bixilon.minosoft.gui.eros.dialog.connection.VerifyAssetsDialog +import de.bixilon.minosoft.gui.eros.dialog.simple.ConfirmationDialog import de.bixilon.minosoft.gui.eros.main.InfoPane import de.bixilon.minosoft.gui.eros.main.play.server.card.FaviconManager.saveFavicon import de.bixilon.minosoft.gui.eros.main.play.server.card.ServerCard @@ -284,7 +284,7 @@ class ServerListController : EmbeddedJavaFXController(), Refreshable { val type = serverType isDisable = type.readOnly setOnAction { - SimpleErosConfirmationDialog(confirmButtonText = "minosoft:general.delete".toResourceLocation(), description = TranslatableComponents.EROS_DELETE_SERVER_CONFIRM_DESCRIPTION(serverCard.server.name, serverCard.server.address), onConfirm = { type.remove(server) }).show() + ConfirmationDialog(confirmButtonText = "minosoft:general.delete".toResourceLocation(), description = TranslatableComponents.EROS_DELETE_SERVER_CONFIRM_DESCRIPTION(serverCard.server.name, serverCard.server.address), onConfirm = { type.remove(server) }).show() } ctext = TranslatableComponents.GENERAL_DELETE }, diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/main/profiles/ProfilesListController.kt b/src/main/java/de/bixilon/minosoft/gui/eros/main/profiles/ProfilesListController.kt index 3ede08e28..959fc1b64 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/main/profiles/ProfilesListController.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/main/profiles/ProfilesListController.kt @@ -21,8 +21,8 @@ import de.bixilon.minosoft.data.registries.identified.ResourceLocation import de.bixilon.minosoft.data.text.TextComponent import de.bixilon.minosoft.data.text.TranslatableComponents import de.bixilon.minosoft.gui.eros.controller.EmbeddedJavaFXController -import de.bixilon.minosoft.gui.eros.dialog.SimpleErosConfirmationDialog import de.bixilon.minosoft.gui.eros.dialog.profiles.ProfileCreateDialog +import de.bixilon.minosoft.gui.eros.dialog.simple.ConfirmationDialog import de.bixilon.minosoft.gui.eros.main.InfoPane import de.bixilon.minosoft.gui.eros.util.JavaFXUtil import de.bixilon.minosoft.gui.eros.util.JavaFXUtil.ctext @@ -125,7 +125,7 @@ class ProfilesListController : EmbeddedJavaFXController() { Button("Delete").apply { isDisable = manager.selected == profile setOnAction { - SimpleErosConfirmationDialog(confirmButtonText = "minosoft:general.delete".toResourceLocation(), onConfirm = { + ConfirmationDialog(confirmButtonText = "minosoft:general.delete".toResourceLocation(), onConfirm = { manager.delete(profile) JavaFXUtil.runLater { profilesListViewFX.items.remove(profile) diff --git a/src/main/resources/assets/minosoft/eros/dialog/simple_confirmation.fxml b/src/main/resources/assets/minosoft/eros/dialog/simple/confirmation.fxml similarity index 88% rename from src/main/resources/assets/minosoft/eros/dialog/simple_confirmation.fxml rename to src/main/resources/assets/minosoft/eros/dialog/simple/confirmation.fxml index e6b051e56..3516dd85a 100644 --- a/src/main/resources/assets/minosoft/eros/dialog/simple_confirmation.fxml +++ b/src/main/resources/assets/minosoft/eros/dialog/simple/confirmation.fxml @@ -2,7 +2,7 @@ + @@ -43,13 +43,13 @@ - + - + @@ -60,7 +60,7 @@ - + @@ -78,7 +78,7 @@ -