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.util.KUtil.toResourceLocation
import de.bixilon.minosoft.util.delegate.JavaFXDelegate.observeFX
import javafx.event.EventHandler
import javafx.fxml.FXML
import javafx.scene.control.Button
import javafx.scene.control.ProgressBar
@ -41,6 +42,9 @@ class ConnectingDialog(
override fun init() {
headerFX.text = HEADER
cancelButtonFX.isDisable = true
stage.onCloseRequest = EventHandler {
it.consume()
}
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.text
import de.bixilon.minosoft.util.KUtil.toResourceLocation
import javafx.event.EventHandler
import javafx.fxml.FXML
import javafx.scene.control.Button
import javafx.scene.control.ProgressBar
@ -52,6 +53,12 @@ open class ProgressDialog(
override fun init() {
headerFX.text = header
cancelButtonFX.isDisable = onCancel == null
if (onCancel == null) {
stage.onCloseRequest = EventHandler {
it.consume()
}
}
}
private fun update() {