]> uap-core.de Git - note.git/commitdiff
add button/open dir dialog for selecting the nbconfig repo local path
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Mon, 4 Aug 2025 19:08:20 +0000 (21:08 +0200)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Mon, 4 Aug 2025 19:08:20 +0000 (21:08 +0200)
application/nbconfig.c

index 4090f03de5a2d9bcf93f67e9806081fd55788ac8..5486ac749caba9678e62a6fdc515ae8389a85cb2 100644 (file)
@@ -380,6 +380,20 @@ static void nbconfig_repolist_name_changed(UiEvent *event, void *userdata) {
     }
 }
 
+static void nbconfig_repolist_dir_selected(UiEvent *event, void *userdata) {
+     NotebookConfigDialog *wdata = userdata;
+     UiFileList *flist = event->eventdata;
+     if(flist->nfiles == 1) {
+         char *path = flist->files[0];
+         ui_set(wdata->tab3_repo_local_path, path);
+     }
+}
+
+static void nbconfig_repolist_open_dir(UiEvent *event, void *userdata) {
+    NotebookConfigDialog *wdata = event->window;
+    ui_openfiledialog(event->obj, UI_FILEDIALOG_SELECT_FOLDER, nbconfig_repolist_dir_selected, wdata);
+}
+
 void notebook_config_dialog(void) {
     NoteStore *store = note_store_get();
     // TODO: check store->root and show different dialog, when root is missing
@@ -518,6 +532,7 @@ void notebook_config_dialog(void) {
                         
                         ui_rlabel(obj, .label = "Local Path");
                         ui_textfield(obj, .value = wdata->tab3_repo_local_path);
+                        ui_button(obj, .icon = "document-open", .onclick = nbconfig_repolist_open_dir);
                         ui_newline(obj);
                         
                         ui_rlabel(obj, .label = "URL");