--- a/application/window.c Sun Dec 07 20:00:33 2025 +0100 +++ b/application/window.c Sat Dec 13 15:58:58 2025 +0100 @@ -52,25 +52,25 @@ // initialize the browser context menu ui_contextmenu(&contextmenu) { - ui_menuitem(.label = "New Folder", .onclick = action_mkcol, .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION)); - ui_menuitem(.label = "New File", .onclick = action_newfile, .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION)); + ui_menuitem(.label = "New Folder", .onclick = action_mkcol, .states = UI_GROUPS(APP_STATE_BROWSER_SESSION)); + ui_menuitem(.label = "New File", .onclick = action_newfile, .states = UI_GROUPS(APP_STATE_BROWSER_SESSION)); ui_menuseparator(); - //ui_menuitem(.label = "Cut", .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); - //ui_menuitem(.label = "Copy", .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); - //ui_menuitem(.label = "Paste", .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); - ui_menuitem(.label = "Download", .onclick = action_download, .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); - ui_menuitem(.label = "Delete", .onclick = action_delete, .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION)); - ui_menuitem(.label = "Select All", .onclick = action_selectall, .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION)); + //ui_menuitem(.label = "Cut", .states = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); + //ui_menuitem(.label = "Copy", .states = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); + //ui_menuitem(.label = "Paste", .states = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); + ui_menuitem(.label = "Download", .onclick = action_download, .states = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); + ui_menuitem(.label = "Delete", .onclick = action_delete, .states = UI_GROUPS(APP_STATE_BROWSER_SESSION)); + ui_menuitem(.label = "Select All", .onclick = action_selectall, .states = UI_GROUPS(APP_STATE_BROWSER_SESSION)); ui_menuseparator(); - ui_menuitem(.label = "Rename", .onclick = action_rename, .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); + ui_menuitem(.label = "Rename", .onclick = action_rename, .states = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); ui_menuseparator(); - ui_menuitem("Open Properties", .onclick = action_open_properties, .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); - ui_menuitem("Open as Text File", .onclick = action_open_properties, .onclickdata = "text/plain", .groups = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); + ui_menuitem("Open Properties", .onclick = action_open_properties, .states = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); + ui_menuitem("Open as Text File", .onclick = action_open_properties, .onclickdata = "text/plain", .states = UI_GROUPS(APP_STATE_BROWSER_SESSION, APP_STATE_BROWSER_SELECTION)); } } UiObject* window_create(void) { - UiObject* obj = ui_window("iDAV", NULL); + UiObject* obj = ui_window("iDAV"); ui_window_size(obj, 900, 700); MainWindow* wdata = ui_malloc(obj->ctx, sizeof (MainWindow)); @@ -186,12 +186,12 @@ void resourceviewer_new(DavBrowser *browser, const char *path, DavResourceViewType type) { const char *name = util_resource_name(path); - UiObject *win = ui_simple_window(name, NULL); + UiObject *win = ui_simple_window(name); ui_window_size(win, 600, 600); ui_headerbar(win, .showtitle = TRUE) { ui_headerbar_start(win) { - ui_button(win, .label = "Save", .onclick = action_resourceviewer_save, .groups = UI_GROUPS(RESOURCEVIEWER_STATE_MODIFIED)); + ui_button(win, .label = "Save", .onclick = action_resourceviewer_save, .states = UI_GROUPS(RESOURCEVIEWER_STATE_MODIFIED)); } } @@ -264,8 +264,8 @@ .onactivate = action_resourceviewer_property_activate); ui_hbox(win, .margin = 4, .spacing = 4) { ui_button(win, .label = "Add", .onclick = action_resourceviewer_property_add); - ui_button(win, .label = "Edit", .onclick = action_resourceviewer_property_edit, .groups = UI_GROUPS(RESOURCEVIEWER_STATE_PROP_SELECTED)); - ui_button(win, .label = "Remove", .onclick = action_resourceviewer_property_remove, .groups = UI_GROUPS(RESOURCEVIEWER_STATE_PROP_SELECTED)); + ui_button(win, .label = "Edit", .onclick = action_resourceviewer_property_edit, .states = UI_GROUPS(RESOURCEVIEWER_STATE_PROP_SELECTED)); + ui_button(win, .label = "Remove", .onclick = action_resourceviewer_property_remove, .states = UI_GROUPS(RESOURCEVIEWER_STATE_PROP_SELECTED)); } } } @@ -485,9 +485,9 @@ void action_list_selection(UiEvent *event, void *data) { UiListSelection *selection = event->eventdata; if (selection->count > 0) { - ui_set_group(event->obj->ctx, APP_STATE_BROWSER_SELECTION); + ui_set_state(event->obj->ctx, APP_STATE_BROWSER_SELECTION); } else { - ui_unset_group(event->obj->ctx, APP_STATE_BROWSER_SELECTION); + ui_unset_state(event->obj->ctx, APP_STATE_BROWSER_SELECTION); } } @@ -548,7 +548,7 @@ void action_resourceviewer_text_modified(UiEvent *event, void *data) { DavResourceViewer *doc = event->document; if(doc->loaded) { - ui_set_group(event->obj->ctx, RESOURCEVIEWER_STATE_MODIFIED); + ui_set_state(event->obj->ctx, RESOURCEVIEWER_STATE_MODIFIED); } } @@ -561,10 +561,10 @@ DavResourceViewer *doc = event->document; UiListSelection *selection = event->eventdata; if(selection->count == 1) { - ui_set_group(event->obj->ctx, RESOURCEVIEWER_STATE_PROP_SELECTED); + ui_set_state(event->obj->ctx, RESOURCEVIEWER_STATE_PROP_SELECTED); doc->selected_property = ui_list_get(doc->properties, selection->rows[0]); } else { - ui_unset_group(event->obj->ctx, RESOURCEVIEWER_STATE_PROP_SELECTED); + ui_unset_state(event->obj->ctx, RESOURCEVIEWER_STATE_PROP_SELECTED); doc->selected_property = NULL; } } @@ -641,11 +641,11 @@ DavResourceViewer *res = data; switch(ui_get(res->property_type)) { case 0: { - ui_unset_group(event->obj->ctx, RESOURCEVIEWER_STATE_PROP_XML); + ui_unset_state(event->obj->ctx, RESOURCEVIEWER_STATE_PROP_XML); break; } case 1: { - ui_set_group(event->obj->ctx, RESOURCEVIEWER_STATE_PROP_XML); + ui_set_state(event->obj->ctx, RESOURCEVIEWER_STATE_PROP_XML); char *ns = ui_get(res->property_ns); char *nsdef = ui_get(res->property_nsdef); if(strlen(nsdef) == 0) { @@ -690,7 +690,7 @@ ui_newline(obj); ui_llabel(obj, .label = "Namespace Declarations"); - ui_textfield(obj, .hexpand = TRUE, .value = res->property_nsdef, .groups = UI_GROUPS(RESOURCEVIEWER_STATE_PROP_XML)); + ui_textfield(obj, .hexpand = TRUE, .value = res->property_nsdef, .states = UI_GROUPS(RESOURCEVIEWER_STATE_PROP_XML)); ui_newline(obj); ui_textarea(obj, .value = res->property_value, .hexpand = TRUE, .vexpand = TRUE, .colspan = 2); @@ -706,7 +706,7 @@ ui_set(res->property_type, 0); ui_set(res->property_nsdef, ""); ui_set(res->property_value, prop->value_full); - ui_unset_group(obj->ctx, RESOURCEVIEWER_STATE_PROP_XML); + ui_unset_state(obj->ctx, RESOURCEVIEWER_STATE_PROP_XML); } else if(prop->xml) { ui_set(res->property_type, 1); cxmutstr xml; @@ -716,7 +716,7 @@ ui_set(res->property_value, xml.ptr); free(xml.ptr); free(nsdef.ptr); - ui_set_group(obj->ctx, RESOURCEVIEWER_STATE_PROP_XML); + ui_set_state(obj->ctx, RESOURCEVIEWER_STATE_PROP_XML); } } else { ui_set(res->property_ns, "");