From: Olaf Wintermann Date: Tue, 19 Aug 2025 19:43:44 +0000 (+0200) Subject: add kotlin file dialog functions X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=34b4df50b3d4c184eafc0019aecdde4b7034a34c;p=rssreader.git add kotlin file dialog functions --- diff --git a/ui-java/src/main/java/de/unixwork/ui/Dialog.java b/ui-java/src/main/java/de/unixwork/ui/Dialog.java index 19f5f85..f0674c9 100644 --- a/ui-java/src/main/java/de/unixwork/ui/Dialog.java +++ b/ui-java/src/main/java/de/unixwork/ui/Dialog.java @@ -4,9 +4,9 @@ import java.lang.foreign.Arena; import java.lang.foreign.MemorySegment; public class Dialog { - static final int FILEDIALOG_SELECT_SINGLE = 0; - static final int FILEDIALOG_SELECT_MULTI = 1; - static final int FILEDIALOG_SELECT_FOLDER = 2; + public static final int FILEDIALOG_SELECT_SINGLE = 0; + public static final int FILEDIALOG_SELECT_MULTI = 1; + public static final int FILEDIALOG_SELECT_FOLDER = 2; private UiObject parent; diff --git a/ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Window.kt b/ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Window.kt index a45d720..aeae125 100644 --- a/ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Window.kt +++ b/ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Window.kt @@ -117,3 +117,30 @@ fun dialogWindow( ui?.invoke(toplevel) return toplevel } + +fun openFileDialog( + parent: UiObject, + multiSelect: Boolean? = null, + callback: EventHandler +) { + var mode = 0 + multiSelect?.let { + mode = Dialog.FILEDIALOG_SELECT_MULTI + } + Dialog.openFileDialog(parent, mode, callback) +} + +fun selectDirectoryDialog( + parent: UiObject, + callback: EventHandler +) { + Dialog.openFileDialog(parent, Dialog.FILEDIALOG_SELECT_FOLDER, callback) +} + +fun saveFileDialog( + parent: UiObject, + name: String? = null, + callback: EventHandler +) { + Dialog.saveFileDialog(parent, name, callback) +}