mirror of
https://github.com/yairm210/Unciv.git
synced 2025-09-24 03:53:12 -04:00
Better UX for multiplayer game rename
This commit is contained in:
parent
134ac57588
commit
b1f8f7746b
@ -8,15 +8,18 @@ import com.unciv.logic.multiplayer.OnlineMultiplayerGame
|
|||||||
import com.unciv.logic.multiplayer.storage.MultiplayerAuthException
|
import com.unciv.logic.multiplayer.storage.MultiplayerAuthException
|
||||||
import com.unciv.models.translations.tr
|
import com.unciv.models.translations.tr
|
||||||
import com.unciv.ui.components.UncivTextField
|
import com.unciv.ui.components.UncivTextField
|
||||||
import com.unciv.ui.screens.pickerscreens.PickerScreen
|
|
||||||
import com.unciv.ui.popups.Popup
|
|
||||||
import com.unciv.ui.popups.ToastPopup
|
|
||||||
import com.unciv.ui.components.extensions.disable
|
import com.unciv.ui.components.extensions.disable
|
||||||
import com.unciv.ui.components.extensions.enable
|
import com.unciv.ui.components.extensions.enable
|
||||||
import com.unciv.ui.components.input.onClick
|
|
||||||
import com.unciv.ui.components.extensions.toTextButton
|
import com.unciv.ui.components.extensions.toTextButton
|
||||||
|
import com.unciv.ui.components.input.KeyCharAndCode
|
||||||
|
import com.unciv.ui.components.input.keyShortcuts
|
||||||
|
import com.unciv.ui.components.input.onActivation
|
||||||
|
import com.unciv.ui.components.input.onClick
|
||||||
import com.unciv.ui.popups.AuthPopup
|
import com.unciv.ui.popups.AuthPopup
|
||||||
import com.unciv.ui.popups.ConfirmPopup
|
import com.unciv.ui.popups.ConfirmPopup
|
||||||
|
import com.unciv.ui.popups.Popup
|
||||||
|
import com.unciv.ui.popups.ToastPopup
|
||||||
|
import com.unciv.ui.screens.pickerscreens.PickerScreen
|
||||||
import com.unciv.ui.screens.savescreens.LoadGameScreen
|
import com.unciv.ui.screens.savescreens.LoadGameScreen
|
||||||
import com.unciv.utils.Concurrency
|
import com.unciv.utils.Concurrency
|
||||||
import com.unciv.utils.Log
|
import com.unciv.utils.Log
|
||||||
@ -190,7 +193,8 @@ class MultiplayerScreen : PickerScreen() {
|
|||||||
val textField = UncivTextField.create("Game name", selectedGame!!.name)
|
val textField = UncivTextField.create("Game name", selectedGame!!.name)
|
||||||
add(textField).width(stageToShowOn.width / 2).row()
|
add(textField).width(stageToShowOn.width / 2).row()
|
||||||
val saveButton = "Save".toTextButton()
|
val saveButton = "Save".toTextButton()
|
||||||
saveButton.onClick {
|
|
||||||
|
val saveNewNameFunction = {
|
||||||
val newName = textField.text.trim()
|
val newName = textField.text.trim()
|
||||||
game.onlineMultiplayer.changeGameName(selectedGame!!, newName) {
|
game.onlineMultiplayer.changeGameName(selectedGame!!, newName) {
|
||||||
if (it != null) reuseWith("Could not save game!", true)
|
if (it != null) reuseWith("Could not save game!", true)
|
||||||
@ -199,6 +203,11 @@ class MultiplayerScreen : PickerScreen() {
|
|||||||
selectGame(newName)
|
selectGame(newName)
|
||||||
close()
|
close()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
saveButton.onActivation(saveNewNameFunction)
|
||||||
|
saveButton.keyShortcuts.add(KeyCharAndCode.RETURN)
|
||||||
|
textField.cursorPosition = textField.text.length
|
||||||
|
this@MultiplayerScreen.stage.keyboardFocus = textField
|
||||||
add(saveButton)
|
add(saveButton)
|
||||||
open()
|
open()
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user