mirror of
https://gitlab.bixilon.de/bixilon/minosoft.git
synced 2025-09-10 07:48:29 -04:00
improve eros dialogs
This commit is contained in:
parent
15152a13da
commit
3638e9b557
@ -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<String, Any> = mutableMapOf(
|
||||
"general" to mutableMapOf(
|
||||
"name" to project.version,
|
||||
"date" to TimeUtil.seconds(),
|
||||
"stable" to stable,
|
||||
)
|
||||
)
|
||||
|
@ -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"),
|
||||
|
@ -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()
|
||||
}
|
||||
}
|
@ -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()
|
||||
}
|
@ -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
|
||||
}
|
||||
|
||||
|
@ -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<HBox>() {
|
||||
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) {
|
||||
|
@ -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<Pane>() {
|
||||
|
||||
it.add(Button("Delete").apply {
|
||||
setOnAction {
|
||||
SimpleErosConfirmationDialog(onConfirm = {
|
||||
ConfirmationDialog(onConfirm = {
|
||||
if (profile.selected == account) {
|
||||
profile.selected = null
|
||||
}
|
||||
|
@ -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<Pane>(), 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
|
||||
},
|
||||
|
@ -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<Pane>() {
|
||||
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)
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
<!--
|
||||
~ 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.
|
||||
~
|
||||
@ -19,7 +19,7 @@
|
||||
<?import javafx.scene.text.Text?>
|
||||
<?import javafx.scene.text.TextFlow?>
|
||||
<?import org.kordamp.ikonli.javafx.FontIcon?>
|
||||
<HBox xmlns:fx="http://javafx.com/fxml/1" maxHeight="-Infinity" prefHeight="230.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/16"> <!--fx:controller="de.bixilon.minosoft.gui.eros.dialog.SimpleErosConfirmationDialog" -->
|
||||
<HBox xmlns:fx="http://javafx.com/fxml/1" maxHeight="-Infinity" prefHeight="230.0" prefWidth="700.0" xmlns="http://javafx.com/javafx/17.0.2-ea"> <!--fx:controller="de.bixilon.minosoft.gui.eros.dialog.simple.ConfirmationDialog -->
|
||||
<GridPane HBox.hgrow="ALWAYS">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="ALWAYS"/>
|
||||
@ -43,13 +43,13 @@
|
||||
</GridPane.margin>
|
||||
<TextFlow fx:id="descriptionFX" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets left="5.0" right="5.0"/>
|
||||
<Insets bottom="20.0" left="5.0" right="5.0" top="10.0"/>
|
||||
</GridPane.margin>
|
||||
<Text text="This is a really important warning, please click on cancel!"/>
|
||||
</TextFlow>
|
||||
<TextFlow fx:id="headerFX" style="-fx-font-size: 30;">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="20.0" left="5.0" right="5.0"/>
|
||||
<Insets bottom="10.0" left="5.0" right="5.0"/>
|
||||
</GridPane.margin>
|
||||
<opaqueInsets>
|
||||
<Insets/>
|
||||
@ -60,7 +60,7 @@
|
||||
<ColumnConstraints hgrow="ALWAYS"/>
|
||||
</columnConstraints>
|
||||
</GridPane>
|
||||
<FontIcon iconColor="#e4e44b" iconLiteral="fas-exclamation-triangle" iconSize="150">
|
||||
<FontIcon iconColor="#e4e44b" iconLiteral="fas-question-circle" iconSize="150">
|
||||
<GridPane.margin>
|
||||
<Insets left="5.0" right="10.0"/>
|
||||
</GridPane.margin>
|
||||
@ -78,7 +78,7 @@
|
||||
<rowConstraints>
|
||||
<RowConstraints vgrow="NEVER"/>
|
||||
</rowConstraints>
|
||||
<Button fx:id="confirmButtonFX" onAction="#confirm" text="Confirm" defaultButton="true" GridPane.columnIndex="2">
|
||||
<Button fx:id="confirmButtonFX" defaultButton="true" onAction="#confirm" text="Confirm" GridPane.columnIndex="2">
|
||||
<GridPane.margin>
|
||||
<Insets left="5.0" right="5.0"/>
|
||||
</GridPane.margin>
|
@ -2,7 +2,7 @@
|
||||
|
||||
<!--
|
||||
~ 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.
|
||||
~
|
||||
@ -19,7 +19,7 @@
|
||||
<?import javafx.scene.text.Text?>
|
||||
<?import javafx.scene.text.TextFlow?>
|
||||
<?import org.kordamp.ikonli.javafx.FontIcon?>
|
||||
<HBox xmlns:fx="http://javafx.com/fxml/1" maxHeight="-Infinity" prefHeight="250.0" prefWidth="650.0" xmlns="http://javafx.com/javafx/17.0.2-ea"> <!--fx:controller="de.bixilon.minosoft.gui.eros.dialog.SimpleErosWarningDialog" -->
|
||||
<HBox xmlns:fx="http://javafx.com/fxml/1" maxHeight="-Infinity" prefHeight="250.0" prefWidth="700.0" xmlns="http://javafx.com/javafx/17.0.2-ea"> <!--fx:controller="de.bixilon.minosoft.gui.eros.dialog.simple.WarningDialog -->
|
||||
<GridPane HBox.hgrow="ALWAYS">
|
||||
<columnConstraints>
|
||||
<ColumnConstraints hgrow="NEVER"/>
|
||||
@ -45,13 +45,13 @@
|
||||
</GridPane.margin>
|
||||
<TextFlow fx:id="descriptionFX" GridPane.rowIndex="1">
|
||||
<GridPane.margin>
|
||||
<Insets left="5.0" right="5.0"/>
|
||||
<Insets bottom="20.0" left="5.0" right="5.0" top="10.0"/>
|
||||
</GridPane.margin>
|
||||
<Text text="This is a really important warning, please click on cancel!"/>
|
||||
</TextFlow>
|
||||
<TextFlow fx:id="headerFX" style="-fx-font-size: 30;">
|
||||
<GridPane.margin>
|
||||
<Insets bottom="20.0" left="5.0" right="5.0" top="40.0"/>
|
||||
<Insets bottom="10.0" left="5.0" right="5.0" top="40.0"/>
|
||||
</GridPane.margin>
|
||||
<opaqueInsets>
|
||||
<Insets/>
|
||||
@ -83,7 +83,7 @@
|
||||
<Insets bottom="10.0" right="5.0"/>
|
||||
</GridPane.margin>
|
||||
</GridPane>
|
||||
<FontIcon styleClass="warning-icon" iconColor="#FFCC00" iconLiteral="fas-exclamation-triangle" iconSize="150">
|
||||
<FontIcon iconColor="#FFCC00" iconLiteral="fas-exclamation-triangle" iconSize="150" styleClass="warning-icon">
|
||||
<GridPane.margin>
|
||||
<Insets left="5.0" right="10.0"/>
|
||||
</GridPane.margin>
|
@ -239,6 +239,6 @@ minosoft:updater.available.update=Update now
|
||||
|
||||
minosoft:updater.ask.title=Update checking
|
||||
minosoft:updater.ask.header=Allow automated checking for updates?
|
||||
minosoft:updater.ask.description=Minosoft can automatically check for updates on startup.\nIt is highly recommended to just run the latest version, there is no benefit from running outdated builds. Newer builds will include performance/feature improvements, potentially security updates and bug fixes.\nThe updater will submit data the following data to a server provided by Moritz Zwerger (Bixilon; original author of the program; visit the privacy https://imprint.bixilon.de): current running version, operating system, processor architecture. All requests are completely anonymized, but might be logged.\nMinosoft will prompt you to automatically update, once an update is available. You can always search for updates manually (Main window -> About -> Check for updates). This option can be changed at any time in the configuration files.
|
||||
minosoft:updater.ask.description=Minosoft can automatically check for updates on startup.\nIt is highly recommended to just run the latest version, there is no benefit from running outdated builds. Newer builds will include performance/feature improvements, potentially security updates and bug fixes.\n\nThe updater will submit data the following data to a server provided by Moritz Zwerger (Bixilon; original author of the program; visit the privacy https://imprint.bixilon.de ): current running version, operating system, processor architecture. All requests are completely anonymized, but might be logged.\n\nMinosoft will prompt you to automatically update, once an update is available.\n\nYou can always search for updates manually (Main window -> About -> Check for updates). This option can be changed at any time in the configuration files.
|
||||
minosoft:updater.ask.no=Disallow update checking
|
||||
minosoft:updater.ask.yes=Allow and check now (recommended)
|
||||
|
Loading…
x
Reference in New Issue
Block a user