chore: perform more actions in the builder stage for simpleDialog
ci/woodpecker/push/woodpecker Pipeline was successful Details
ci/woodpecker/push/docs Pipeline was successful Details

This commit is contained in:
Johannes Frohnmeyer 2023-08-19 16:20:17 +02:00
parent 98cc37405a
commit e14294fdd6
Signed by: Johannes
GPG Key ID: E76429612C2929F4
1 changed files with 17 additions and 22 deletions

View File

@ -78,30 +78,25 @@ object GtkEnvBackend : EnvBackend {
.message(title)
.detail(markup)
.modal(true)
.build()
when {
cancel == null -> {
dialog.setButtons(arrayOf(I18n["ok"]))
dialog.defaultButton = 0
dialog.cancelButton = -1
}
ok == null -> {
dialog.setButtons(arrayOf("Cancel"))
dialog.defaultButton = -1
dialog.cancelButton = 0
}
else -> {
dialog.setButtons(arrayOf("OK", "Cancel"))
dialog.defaultButton = 0
dialog.cancelButton = 1
}
cancel == null -> dialog.buttons(arrayOf(I18n["ok"]))
.defaultButton(0)
.cancelButton(-1)
ok == null -> dialog.buttons(arrayOf("Cancel"))
.defaultButton(-1)
.cancelButton(0)
else -> dialog.buttons(arrayOf("OK", "Cancel"))
.defaultButton(0)
.cancelButton(1)
}
dialog.choose(parent, Cancellable()) { _, res, _ ->
val result = dialog.chooseFinish(res)
val cancelIdx = dialog.cancelButton
val defaultIdx = dialog.defaultButton
if (result == cancelIdx) cancel?.run()
if (result == defaultIdx) ok?.run()
dialog.build().apply {
choose(parent, Cancellable()) { _, res, _ ->
val result = chooseFinish(res)
val cancelIdx = cancelButton
val defaultIdx = defaultButton
if (result == cancelIdx) cancel?.run()
if (result == defaultIdx) ok?.run()
}
}
}