]> uap-core.de Git - mizunara.git/commitdiff
load file list
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Fri, 27 Feb 2026 16:23:37 +0000 (17:23 +0100)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Fri, 27 Feb 2026 16:23:37 +0000 (17:23 +0100)
mizunara/filebrowser.c
mizunara/window.c

index 9a0eefecdeb756656b945ea7495389cec0a74796..35f26ed71634480ac5b68d3feb78a4e42be4247a 100644 (file)
@@ -138,6 +138,7 @@ int jobthr_filebrowser_op_load(void *data) {
 
 void filebrowser_op_finished(UiEvent *event, void *data) {
     FileBrowserOp *op = data;
+    FileBrowser *browser = op->browser;
     printf("filebrowser_op_finished\n");
     
     if(op->result) {
@@ -149,11 +150,19 @@ void filebrowser_op_finished(UiEvent *event, void *data) {
             section->parent_url = op->url;
             op->result = NULL;
             op->url = NULL;
-            
+              
             // update_grid takes ownership of section
-            op->browser->update_grid(op->browser, section, 1, op->browser->update_grid_data);
-        } else if(view == 1) {
+            if(browser->update_grid) {
+                browser->update_grid(op->browser, section, 1, browser->update_grid_data);
+            }
             
+        } else if(view == 1) {
+            ui_list_clear(browser->list_files);
+            CxIterator i = cxListIterator(op->result);
+            cx_foreach(FileInfo *, file, i) {
+                ui_list_append(browser->list_files, file);
+            }
+            ui_list_update(browser->list_files);
         }
     } else {
         // TODO: error msg
index 335dbef09da3dd07494ef04a435b3acbd0cca73d..529563d0f99da55acd4ec130ff275b1f3ae16ee0 100644 (file)
@@ -112,7 +112,7 @@ UiObject* window_create(const char *url) {
 #endif
     
     window_create_browser_view(obj, wdata);
-    ui_set(browser->view, 0); // select default view
+    ui_set(browser->view, 1); // select default view
     
     // test
     ui_set(browser->path, "/usr");
@@ -193,6 +193,18 @@ void window_sidebar_user_dirs_item(UiList *list, void *sublist_userdata, void *r
 
 
 void* window_filelistview_getvalue(UiList *list, void *elm, int row, int col, void *userdata, UiBool *freeResult) {
+    FileInfo *file = elm;
+    switch(col) {
+        case 0: {
+            return S_ISDIR(file->mode) ? ui_foldericon(16) : ui_fileicon(16);
+        }
+        case 1: {
+            return file->name;
+        }
+        case 2: {
+            break;
+        }
+    }
     return NULL;
 }