diff --git a/launcher-gtk/src/main/kotlin/io/gitlab/jfronny/inceptum/gtk/GtkEnvBackend.kt b/launcher-gtk/src/main/kotlin/io/gitlab/jfronny/inceptum/gtk/GtkEnvBackend.kt index b9a5cc3..bc11618 100644 --- a/launcher-gtk/src/main/kotlin/io/gitlab/jfronny/inceptum/gtk/GtkEnvBackend.kt +++ b/launcher-gtk/src/main/kotlin/io/gitlab/jfronny/inceptum/gtk/GtkEnvBackend.kt @@ -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() + } } }