]> uap-core.de Git - rssreader.git/commitdiff
add kotlin file dialog functions
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Tue, 19 Aug 2025 19:43:44 +0000 (21:43 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Tue, 19 Aug 2025 19:43:44 +0000 (21:43 +0200)
ui-java/src/main/java/de/unixwork/ui/Dialog.java
ui-kotlin/src/main/kotlin/de/unixwork/ui/kotlin/Window.kt

index 19f5f85a944e1424f360288a82d4100fea194683..f0674c9467d9f69192c4bdb410045c3c47699313 100644 (file)
@@ -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;
 
index a45d72011ddc7d43540fe07e5611d685d46f8f10..aeae125610aa03ec932242fd4c9be67e22f5b5c5 100644 (file)
@@ -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)
+}