progress dialog: forbid closing if can not cancel

This commit is contained in:
Bixilon 2022-10-20 12:06:56 +02:00
parent 0c616ebc8c
commit ff6afd3863
No known key found for this signature in database
GPG Key ID: 5CAD791931B09AC4
2 changed files with 11 additions and 0 deletions

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.protocol.network.connection.play.PlayConnection
import de.bixilon.minosoft.protocol.network.connection.play.PlayConnectionStates import de.bixilon.minosoft.protocol.network.connection.play.PlayConnectionStates
import de.bixilon.minosoft.util.KUtil.toResourceLocation import de.bixilon.minosoft.util.KUtil.toResourceLocation
import de.bixilon.minosoft.util.delegate.JavaFXDelegate.observeFX import de.bixilon.minosoft.util.delegate.JavaFXDelegate.observeFX
import javafx.event.EventHandler
import javafx.fxml.FXML import javafx.fxml.FXML
import javafx.scene.control.Button import javafx.scene.control.Button
import javafx.scene.control.ProgressBar import javafx.scene.control.ProgressBar
@ -41,6 +42,9 @@ class ConnectingDialog(
override fun init() { override fun init() {
headerFX.text = HEADER headerFX.text = HEADER
cancelButtonFX.isDisable = true cancelButtonFX.isDisable = true
stage.onCloseRequest = EventHandler {
it.consume()
}
connection::state.observeFX(this) { update(it) } connection::state.observeFX(this) { update(it) }
} }

View File

@ -20,6 +20,7 @@ import de.bixilon.minosoft.gui.eros.controller.DialogController
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil import de.bixilon.minosoft.gui.eros.util.JavaFXUtil
import de.bixilon.minosoft.gui.eros.util.JavaFXUtil.text import de.bixilon.minosoft.gui.eros.util.JavaFXUtil.text
import de.bixilon.minosoft.util.KUtil.toResourceLocation import de.bixilon.minosoft.util.KUtil.toResourceLocation
import javafx.event.EventHandler
import javafx.fxml.FXML import javafx.fxml.FXML
import javafx.scene.control.Button import javafx.scene.control.Button
import javafx.scene.control.ProgressBar import javafx.scene.control.ProgressBar
@ -52,6 +53,12 @@ open class ProgressDialog(
override fun init() { override fun init() {
headerFX.text = header headerFX.text = header
cancelButtonFX.isDisable = onCancel == null cancelButtonFX.isDisable = onCancel == null
if (onCancel == null) {
stage.onCloseRequest = EventHandler {
it.consume()
}
}
} }
private fun update() { private fun update() {