]> uap-core.de Git - mizunara.git/commitdiff
implement size and mtime columns in the file list view
authorOlaf Wintermann <olaf.wintermann@gmail.com>
Mon, 2 Mar 2026 19:20:57 +0000 (20:20 +0100)
committerOlaf Wintermann <olaf.wintermann@gmail.com>
Mon, 2 Mar 2026 19:20:57 +0000 (20:20 +0100)
mizunara/filebrowser.c
mizunara/window.c

index 35f26ed71634480ac5b68d3feb78a4e42be4247a..9ec345bca55fdc53ba37de5872344f891b3ecb30 100644 (file)
@@ -163,6 +163,8 @@ void filebrowser_op_finished(UiEvent *event, void *data) {
                 ui_list_append(browser->list_files, file);
             }
             ui_list_update(browser->list_files);
+            op->result = NULL;
+            // TODO: url?
         }
     } else {
         // TODO: error msg
index 529563d0f99da55acd4ec130ff275b1f3ae16ee0..3984cb75f03067d2e2c73f0cbfb63a73734fdebe 100644 (file)
@@ -157,6 +157,7 @@ void window_create_browser_view(UiObject *obj, MainWindow *win) {
         
         ui_tab(obj, "listview") {
             UiModel *model = ui_model(obj->ctx, UI_ICON_TEXT, "Name", UI_STRING, "Size", UI_STRING, "Modified", -1);
+            model->columnsize[0] = -1;
             ui_table(obj,
                     .model = model,
                     .varname = "list_files",
@@ -202,8 +203,16 @@ void* window_filelistview_getvalue(UiList *list, void *elm, int row, int col, vo
             return file->name;
         }
         case 2: {
+            if(!S_ISDIR(file->mode)) {
+                *freeResult = TRUE;
+                return util_size_str(FALSE, (uint64_t)file->size);                
+            }
             break;
         }
+        case 3: {
+            *freeResult = TRUE;
+            return util_date_str(file->mtime);
+        }
     }
     return NULL;
 }