diff -r e324291ca9f8 -r 0c881944fa10 application/window.c --- a/application/window.c Sun Oct 20 21:24:13 2024 +0200 +++ b/application/window.c Mon Oct 21 11:14:26 2024 +0200 @@ -111,7 +111,7 @@ -void dav_resourceviewer_new(DavBrowser *browser, const char *path, DavResourceViewType type) { +void resourceviewer_new(DavBrowser *browser, const char *path, DavResourceViewType type) { const char *name = util_resource_name(path); UiObject *win = ui_simple_window(name, NULL); @@ -140,6 +140,34 @@ } } + ui_tab(win, "Info") { + ui_grid(win, .margin = 16, .columnspacing = 30, .rowspacing = 6) { + ui_llabel(win, .label = "URL"); + ui_llabel(win, .varname = "info_url"); + ui_newline(win); + + ui_llabel(win, .label = "Name"); + ui_llabel(win, .varname = "info_name"); + ui_newline(win); + + ui_llabel(win, .label = "Type"); + ui_llabel(win, .varname = "info_type"); + ui_newline(win); + + ui_llabel(win, .label = "Encrypted"); + ui_llabel(win, .varname = "info_encrypted"); + ui_newline(win); + + ui_llabel(win, .label = "ETag"); + ui_llabel(win, .varname = "info_etag"); + ui_newline(win); + + ui_llabel(win, .label = "Size"); + ui_llabel(win, .varname = "info_size"); + ui_newline(win); + } + } + ui_tab(win, "Properties") { UiModel* model = ui_model(win->ctx, UI_STRING, "Namespace", UI_STRING, "Name", UI_STRING, "Value", -1); model->getvalue = (ui_getvaluefunc) resourceviewer_proplist_getvalue; @@ -155,6 +183,18 @@ } void* resourceviewer_proplist_getvalue(DavPropertyList *property, int col) { + switch(col) { + case 0: { + return property->ns; + } + case 1: { + return property->name; + } + case 2: { + return property->value_simplified ? property->value_simplified : property->value_full; + } + } + return NULL; }