From 69ffca6d62c5e4aed129c2436343f870ab8b6046 Mon Sep 17 00:00:00 2001 From: Bixilon Date: Fri, 30 Jul 2021 12:44:03 +0200 Subject: [PATCH] eros: account card improvements --- .../eros/main/account/AccountController.kt | 14 +++++-------- .../main/account/AccountTypeCardController.kt | 20 +++++++++++++------ .../gui/eros/util/JavaFXAccountUtil.kt | 2 +- .../eros/main/account/account_card.fxml | 3 +-- .../assets/minosoft/language/en_us.lang | 4 ++++ 5 files changed, 25 insertions(+), 18 deletions(-) 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 b4e45f432..d203f125a 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 @@ -139,9 +139,7 @@ class AccountController : EmbeddedJavaFXController() { isDisable = true DefaultThreadPool += { account.verify() - Platform.runLater { - refreshList() - } + Platform.runLater { refreshList() } } } }, 3, 0) @@ -153,9 +151,7 @@ class AccountController : EmbeddedJavaFXController() { account.verify() Minosoft.config.config.account.selected = account Minosoft.config.saveToFile() - Platform.runLater { - refreshList() - } + Platform.runLater { refreshList() } } } isDisable = Minosoft.config.config.account.selected === account @@ -176,7 +172,7 @@ class AccountController : EmbeddedJavaFXController() { val LAYOUT = "minosoft:eros/main/account/account.fxml".asResourceLocation() private val ACCOUNT_INFO_PROPERTIES: List Any?>> = listOf( - "minosoft:account.id".asResourceLocation() to { it.id }, + "minosoft:main.account.account_info.id".asResourceLocation() to { it.id }, ) val ACCOUNT_TYPES = listOf( @@ -184,8 +180,8 @@ class AccountController : EmbeddedJavaFXController() { resourceLocation = MojangAccount.RESOURCE_LOCATION, translationKey = "minosoft:main.account.type.mojang".asResourceLocation(), additionalDetails = listOf( - "minosoft:account.email".asResourceLocation() to { it.email }, - "minosoft:account.uuid".asResourceLocation() to { it.uuid }, + "minosoft:main.account.account_info.email".asResourceLocation() to { it.email }, + "minosoft:main.account.account_info.uuid".asResourceLocation() to { it.uuid }, ), icon = FontAwesomeSolid.BUILDING, addHandler = { MojangAddController(it).show() }, diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/main/account/AccountTypeCardController.kt b/src/main/java/de/bixilon/minosoft/gui/eros/main/account/AccountTypeCardController.kt index 2cba58470..79c2fd0d9 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/main/account/AccountTypeCardController.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/main/account/AccountTypeCardController.kt @@ -29,17 +29,25 @@ class AccountTypeCardController : AbstractCard>() { @FXML private lateinit var textFX: TextFlow - override fun updateItem(item: ErosAccountType<*>?, empty: Boolean) { - super.updateItem(item, empty) - item ?: return + override fun updateItem(type: ErosAccountType<*>?, empty: Boolean) { + super.updateItem(type, empty) + type ?: return iconFX.isVisible = true - iconFX.iconCode = item.icon - headerFX.text = Minosoft.LANGUAGE_MANAGER.translate(item) + iconFX.iconCode = type.icon + headerFX.text = Minosoft.LANGUAGE_MANAGER.translate(type) - textFX.text = "? accounts" // ToDo: Update on the fly + + var count = 0 + for (account in Minosoft.config.config.account.entries.values) { + if (account.type != type.resourceLocation) { + continue + } + count++ + } + textFX.text = "$count accounts" // ToDo: Update on the fly } diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/util/JavaFXAccountUtil.kt b/src/main/java/de/bixilon/minosoft/gui/eros/util/JavaFXAccountUtil.kt index be0ec4167..3e14c4a1d 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/util/JavaFXAccountUtil.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/util/JavaFXAccountUtil.kt @@ -19,5 +19,5 @@ import javafx.scene.image.Image object JavaFXAccountUtil { val Account.avatar: Image? - get() = null // ToDo + get() = JavaFXUtil.MINOSOFT_LOGO // ToDo } diff --git a/src/main/resources/assets/minosoft/eros/main/account/account_card.fxml b/src/main/resources/assets/minosoft/eros/main/account/account_card.fxml index d415e0e72..c9d0367dd 100644 --- a/src/main/resources/assets/minosoft/eros/main/account/account_card.fxml +++ b/src/main/resources/assets/minosoft/eros/main/account/account_card.fxml @@ -1,10 +1,9 @@ - - + diff --git a/src/main/resources/assets/minosoft/language/en_us.lang b/src/main/resources/assets/minosoft/language/en_us.lang index bc66fd430..c7cd9a510 100644 --- a/src/main/resources/assets/minosoft/language/en_us.lang +++ b/src/main/resources/assets/minosoft/language/en_us.lang @@ -66,6 +66,10 @@ minosoft:main.account.type.offline=Offline minosoft:main.account.card.connection_count=%1$s connections +minosoft:main.account.account_info.id=Id +minosoft:main.account.account_info.email=E-Mail +minosoft:main.account.account_info.uuid=UUID + minosoft:main.account.add.offline.title=Add offline account minosoft:main.account.add.offline.header=Add offline account minosoft:main.account.add.offline.description=Please enter the username of the account you want to add.