eros: login dialogs add/login on enter

This commit is contained in:
Bixilon 2021-08-01 19:44:34 +02:00
parent 9dc60501af
commit a2b6842c8f
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
3 changed files with 21 additions and 1 deletions

View File

@ -97,7 +97,7 @@ class MainErosController : JavaFXWindowController() {
activity = ErosMainActivities.PlAY activity = ErosMainActivities.PlAY
} }
settingsIconFX.setOnMouseClicked { settingsIconFX.setOnMouseClicked {
// activity = ErosMainActivities.SETTINGS // ToDo: activity = ErosMainActivities.SETTINGS
} }
helpIconFX.setOnMouseClicked { helpIconFX.setOnMouseClicked {
// ToDo: activity = ErosMainActivities.HELP // ToDo: activity = ErosMainActivities.HELP

View File

@ -29,6 +29,8 @@ import javafx.fxml.FXML
import javafx.scene.control.Button import javafx.scene.control.Button
import javafx.scene.control.PasswordField import javafx.scene.control.PasswordField
import javafx.scene.control.TextField import javafx.scene.control.TextField
import javafx.scene.input.KeyCode
import javafx.scene.input.KeyEvent
import javafx.scene.text.TextFlow import javafx.scene.text.TextFlow
import javafx.stage.Modality import javafx.stage.Modality
@ -79,6 +81,11 @@ class MojangAddController(
passwordFX.textProperty().addListener { _, _, _ -> passwordFX.textProperty().addListener { _, _, _ ->
validate() validate()
} }
stage.scene.root.addEventFilter(KeyEvent.KEY_PRESSED) {
if (it.code == KeyCode.ENTER) {
login()
}
}
} }
private fun validate() { private fun validate() {
@ -95,6 +102,9 @@ class MojangAddController(
@FXML @FXML
fun login() { fun login() {
if (loginButtonFX.isDisable) {
return
}
loginButtonFX.isDisable = true loginButtonFX.isDisable = true
errorFX.isVisible = false errorFX.isVisible = false
DefaultThreadPool += { DefaultThreadPool += {

View File

@ -27,6 +27,8 @@ import javafx.application.Platform
import javafx.fxml.FXML import javafx.fxml.FXML
import javafx.scene.control.Button import javafx.scene.control.Button
import javafx.scene.control.TextField import javafx.scene.control.TextField
import javafx.scene.input.KeyCode
import javafx.scene.input.KeyEvent
import javafx.scene.text.TextFlow import javafx.scene.text.TextFlow
import javafx.stage.Modality import javafx.stage.Modality
@ -64,10 +66,18 @@ class OfflineAddController(
usernameFX.textProperty().addListener { _, _, new -> usernameFX.textProperty().addListener { _, _, new ->
addButtonFX.isDisable = !ProtocolDefinition.MINECRAFT_NAME_VALIDATOR.matcher(new).matches() addButtonFX.isDisable = !ProtocolDefinition.MINECRAFT_NAME_VALIDATOR.matcher(new).matches()
} }
stage.scene.root.addEventFilter(KeyEvent.KEY_PRESSED) {
if (it.code == KeyCode.ENTER) {
add()
}
}
} }
@FXML @FXML
fun add() { fun add() {
if (addButtonFX.isDisable) {
return
}
val account = OfflineAccount(usernameFX.text) val account = OfflineAccount(usernameFX.text)
Minosoft.config.config.account.entries[account.id] = account Minosoft.config.config.account.entries[account.id] = account
Minosoft.config.saveToFile() Minosoft.config.saveToFile()