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
}
settingsIconFX.setOnMouseClicked {
// activity = ErosMainActivities.SETTINGS
// ToDo: activity = ErosMainActivities.SETTINGS
}
helpIconFX.setOnMouseClicked {
// ToDo: activity = ErosMainActivities.HELP

View File

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

View File

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