From 9a93dcdd7770d33677a28aa60e8df64b20020659 Mon Sep 17 00:00:00 2001 From: Olaf Wintermann Date: Wed, 20 Aug 2025 17:09:44 +0200 Subject: [PATCH] implement filelist event data --- .gitignore | 1 + .../de/unixwork/rssreader/MainWindow.kt | 10 ++++++++- .../src/main/java/de/unixwork/ui/Event.java | 21 +++++++++++++++++++ .../java/de/unixwork/ui/ToolkitFuncs.java | 10 +++++++++ 4 files changed, 41 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8f5d5fa..5645253 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,5 @@ out/ .idea_modules/ .DS_Store +gmon.out /target/ diff --git a/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt b/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt index 5a2fe38..831eccf 100644 --- a/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt +++ b/rss-application/src/main/kotlin/de/unixwork/rssreader/MainWindow.kt @@ -7,6 +7,7 @@ import de.unixwork.ui.UiText import de.unixwork.ui.kotlin.Toplevel import de.unixwork.ui.kotlin.sidebarWindow import de.unixwork.ui.kotlin.dialogWindow +import de.unixwork.ui.kotlin.openFileDialog class MainWindow { val window : Toplevel @@ -19,6 +20,9 @@ class MainWindow { sourcelist(fill = true, varname = "feeds") { elm: FeedCollection -> val item = SubListItem() item.label = elm.name + item.buttonIcon = "folder" + item.buttonLabel = "Test" + item.badge = "123" item } hbox(margin = 4, spacing = 4) { @@ -65,6 +69,8 @@ class MainWindow { rbutton4 = "Cancel", modal = true, showCloseButton = false, + width = 600, + height = 450, onClick = { ev -> if(ev.intValue == 1) { val parent = groups?.selected @@ -123,7 +129,9 @@ class MainWindow { rlabel("Client Certificate") textfield(value = cert, hexpand = true) button(icon = "document-open") { - // TODO + openFileDialog(ui) { event -> + + } } } } diff --git a/ui-java/src/main/java/de/unixwork/ui/Event.java b/ui-java/src/main/java/de/unixwork/ui/Event.java index d2b8507..f3786f6 100644 --- a/ui-java/src/main/java/de/unixwork/ui/Event.java +++ b/ui-java/src/main/java/de/unixwork/ui/Event.java @@ -51,6 +51,20 @@ public class Event { eventData = new SubListEventData(eventDataPtr); break; } + case EventDataType.FILE_LIST: { + int flistCount = (int)ui.filelist_count.invoke(eventDataPtr); + String[] files = new String[flistCount]; + for (int i=0;i