application/settings.c

changeset 115
e57ca2747782
parent 109
c3dfcb8f0be7
--- a/application/settings.c	Sun Dec 07 20:00:33 2025 +0100
+++ b/application/settings.c	Sat Dec 13 15:58:58 2025 +0100
@@ -54,10 +54,10 @@
     UiListSelection *selection = event->eventdata;
     SettingsWindow *settings = event->window;
     if(selection->count > 0) {
-        ui_set_group(event->obj->ctx, SETTINGS_STATE_REPOLIST_SELECTED);
+        ui_set_state(event->obj->ctx, SETTINGS_STATE_REPOLIST_SELECTED);
         settings->selected_repo = selection->rows[0];
     } else {
-        ui_unset_group(event->obj->ctx, SETTINGS_STATE_REPOLIST_SELECTED);
+        ui_unset_state(event->obj->ctx, SETTINGS_STATE_REPOLIST_SELECTED);
     }
 }
 
@@ -87,7 +87,7 @@
     dav_repository_remove_and_free(settings->config, repo);
     settings_update_repolist(settings);
     settings->selected_repo = -1;
-    ui_unset_group(event->obj->ctx, SETTINGS_STATE_REPOLIST_SELECTED);
+    ui_unset_state(event->obj->ctx, SETTINGS_STATE_REPOLIST_SELECTED);
 }
 
 static void editrepo_go_back(UiEvent *event, void *userdata) {
@@ -341,10 +341,10 @@
     UiListSelection *sel = event->eventdata;
     if(sel->count > 0) {
         settings->credentials_location_selected_index = sel->rows[0];
-        ui_set_group(event->obj->ctx, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED);
+        ui_set_state(event->obj->ctx, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED);
     } else {
         settings->credentials_location_selected_index = -1;
-        ui_unset_group(event->obj->ctx, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED);
+        ui_unset_state(event->obj->ctx, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED);
     }
 }
 
@@ -516,13 +516,13 @@
         ui_newline(dialog);
         
         ui_llabel(dialog, .label = "Type");
-        ui_combobox(dialog, .list = wdata->type, .groups = UI_GROUPS(ADDKEY_DIALOG_STATE_NO_IMPORT));
+        ui_dropdown(dialog, .list = wdata->type, .states = UI_GROUPS(ADDKEY_DIALOG_STATE_NO_IMPORT));
         ui_newline(dialog);
         
         ui_llabel(dialog, .value = wdata->message, .colspan = 2);
     }
     
-    ui_set_group(dialog->ctx, ADDKEY_DIALOG_STATE_NO_IMPORT);
+    ui_set_state(dialog->ctx, ADDKEY_DIALOG_STATE_NO_IMPORT);
     ui_list_setselection(wdata->type, 0);
     
     ui_show(dialog);
@@ -547,12 +547,12 @@
         DavCfgKey *key = ui_list_get(settings->keys_list, sel->rows[0]);
         if(key) {
             settings_edit_key(settings, key);
-            ui_set_group(event->obj->ctx, SETTINGS_STATE_KEYS_SELECTED);
+            ui_set_state(event->obj->ctx, SETTINGS_STATE_KEYS_SELECTED);
         }
     } else {
         settings->keys_selected_index = -1;
         settings_clear_key(settings);
-        ui_unset_group(event->obj->ctx, SETTINGS_STATE_KEYS_SELECTED);
+        ui_unset_state(event->obj->ctx, SETTINGS_STATE_KEYS_SELECTED);
     }
 }
 
@@ -626,7 +626,7 @@
     PwdStore *pwdstore = get_pwdstore();
     pwdstore = pwdstore ? pwdstore_clone(pwdstore) : pwdstore_new();
     
-    UiObject *obj = ui_simple_window("Settings", NULL);
+    UiObject *obj = ui_simple_window("Settings");
     ui_context_closefunc(obj->ctx, settings_close, NULL);
     SettingsWindow *wdata = ui_malloc(obj->ctx, sizeof(SettingsWindow));
     memset(wdata, 0, sizeof(SettingsWindow));
@@ -650,8 +650,8 @@
                     ui_grid(obj, .margin = 16, .columnspacing = 10, .rowspacing = 10, .fill = TRUE) {
                         ui_hbox(obj, .spacing = 4) {
                             ui_button(obj, .label = "Add", .onclick = repolist_add);
-                            ui_button(obj, .label = "Edit", .onclick = repolist_edit, .groups = UI_GROUPS(SETTINGS_STATE_REPOLIST_SELECTED));
-                            ui_button(obj, .label = "Remove", .onclick = repolist_remove, .groups = UI_GROUPS(SETTINGS_STATE_REPOLIST_SELECTED));
+                            ui_button(obj, .label = "Edit", .onclick = repolist_edit, .states = UI_GROUPS(SETTINGS_STATE_REPOLIST_SELECTED));
+                            ui_button(obj, .label = "Remove", .onclick = repolist_remove, .states = UI_GROUPS(SETTINGS_STATE_REPOLIST_SELECTED));
                         }
                         ui_newline(obj);
                         
@@ -687,7 +687,7 @@
                                 ui_llabel(obj, .label = "Credentials", .style = UI_LABEL_STYLE_TITLE, .colspan = 2);
                                 ui_newline(obj);
                                 ui_hbox(obj, .spacing = 4, .colspan = 2) {
-                                    ui_combobox(obj, .list = wdata->repo_credentials);
+                                    ui_dropdown(obj, .list = wdata->repo_credentials);
                                     ui_button(obj, .label = "New Credentials", .onclick = credentials_new);
                                 }
                                 ui_newline(obj);
@@ -707,12 +707,12 @@
                                 ui_llabel(obj, .label = "Encryption", .style = UI_LABEL_STYLE_TITLE, .colspan = 2);
                                 ui_newline(obj);
                                 
-                                ui_checkbox(obj, .label = "Enable client-side encryption", .value = wdata->repo_encryption, .colspan = 2, .enable_group = SETTINGS_STATE_REPO_ENCRYPTION);
+                                ui_checkbox(obj, .label = "Enable client-side encryption", .value = wdata->repo_encryption, .colspan = 2, .enable_state = SETTINGS_STATE_REPO_ENCRYPTION);
                                 ui_newline(obj);
                                 ui_llabel(obj, .label = "Default key");
                                 ui_hbox(obj, .spacing = 4) {
-                                    ui_combobox(obj, .list = wdata->repo_keys, .groups = UI_GROUPS(SETTINGS_STATE_REPO_ENCRYPTION));
-                                    ui_button(obj, .label = "Generate Key", .onclick = keys_add, .onclickdata = "repo", .groups = UI_GROUPS(SETTINGS_STATE_REPO_ENCRYPTION));
+                                    ui_dropdown(obj, .list = wdata->repo_keys, .states = UI_GROUPS(SETTINGS_STATE_REPO_ENCRYPTION));
+                                    ui_button(obj, .label = "Generate Key", .onclick = keys_add, .onclickdata = "repo", .states = UI_GROUPS(SETTINGS_STATE_REPO_ENCRYPTION));
                                 }
                                 ui_newline(obj);
                                 
@@ -727,7 +727,7 @@
                                 
                                 ui_llabel(obj, .label = "TLS Version");
                                 ui_hbox0(obj) {
-                                    ui_combobox(obj, .list = wdata->repo_tls_versions);
+                                    ui_dropdown(obj, .list = wdata->repo_tls_versions);
                                 }
                                 ui_newline(obj);
                                 ui_checkbox(obj, .label = "Disable TLS verification", .value = wdata->repo_disable_verification, .colspan = 2);
@@ -751,22 +751,22 @@
                 ui_vbox(obj, .spacing = 4) {
                     ui_hbox(obj, .spacing = 4) {
                         ui_button(obj, .label = "Add", .onclick = credentials_add);
-                        ui_button(obj, .label = "Remove", .onclick = credentials_remove, .groups = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
+                        ui_button(obj, .label = "Remove", .onclick = credentials_remove, .states = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
                     }
                     ui_listview(obj, .list = wdata->credentials_users, .fill = TRUE, .onselection = credentials_onselect);
                 }
                 
                 ui_grid(obj, .columnspacing = 30, .rowspacing = 10) {
                     ui_llabel(obj, .label = "Identifier");
-                    ui_textfield(obj, .value = wdata->credentials_id, .hexpand = TRUE, .groups = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
+                    ui_textfield(obj, .value = wdata->credentials_id, .hexpand = TRUE, .states = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
                     ui_newline(obj);
                     
                     ui_llabel(obj, .label = "User");
-                    ui_textfield(obj, .value = wdata->credentials_user, .hexpand = TRUE, .groups = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
+                    ui_textfield(obj, .value = wdata->credentials_user, .hexpand = TRUE, .states = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
                     ui_newline(obj);
                     
                     ui_llabel(obj, .label = "Password");
-                    ui_passwordfield(obj, .value = wdata->credentials_password, .hexpand = TRUE, .groups = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
+                    ui_passwordfield(obj, .value = wdata->credentials_password, .hexpand = TRUE, .states = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
                     ui_newline(obj);
                     
                     
@@ -784,13 +784,13 @@
 #else
                         ui_callback credentials_activate_callback = NULL;
 #endif
-                        ui_listview(obj, .list = wdata->credentials_locations, .onactivate = credentials_activate_callback, .onselection = credentials_location_onselect, .colspan = 2, .fill = TRUE, .groups = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
+                        ui_listview(obj, .list = wdata->credentials_locations, .onactivate = credentials_activate_callback, .onselection = credentials_location_onselect, .colspan = 2, .fill = TRUE, .states = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
                         ui_vbox(obj, .spacing = 4) {
-                            ui_button(obj, .label = "Add", .onclick = credentials_location_add, .groups = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
-                            ui_button(obj, .label = "Edit", .onclick = credentials_location_edit, .groups = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED));
-                            ui_button(obj, .label = "Remove", .onclick = credentials_location_remove, .groups = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED));
-                            ui_button(obj, .label = "Move Up", .onclick = credentials_location_up, .groups = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED));
-                            ui_button(obj, .label = "Move Down", .onclick = credentials_location_down, .groups = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED));
+                            ui_button(obj, .label = "Add", .onclick = credentials_location_add, .states = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED));
+                            ui_button(obj, .label = "Edit", .onclick = credentials_location_edit, .states = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED));
+                            ui_button(obj, .label = "Remove", .onclick = credentials_location_remove, .states = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED));
+                            ui_button(obj, .label = "Move Up", .onclick = credentials_location_up, .states = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED));
+                            ui_button(obj, .label = "Move Down", .onclick = credentials_location_down, .states = UI_GROUPS(SETTINGS_STATE_CREDENTIALS_SELECTED, SETTINGS_STATE_CREDENTIALS_LOCATION_SELECTED));
                         }
                     }
                 }
@@ -802,20 +802,20 @@
                 ui_vbox(obj, .spacing = 4) {
                     ui_hbox(obj, .spacing = 4) {
                         ui_button(obj, .label = "Add", .onclick = keys_add);
-                        ui_button(obj, .label = "Remove", .onclick = keys_remove, .groups = UI_GROUPS(SETTINGS_STATE_KEYS_SELECTED));
+                        ui_button(obj, .label = "Remove", .onclick = keys_remove, .states = UI_GROUPS(SETTINGS_STATE_KEYS_SELECTED));
                     }
                     ui_listview(obj, .list = wdata->keys_list, .fill = TRUE, .onselection = keys_onselect, .getvalue = keylist_getvalue);
                 }
                 
                 ui_grid(obj, .columnspacing = 30, .rowspacing = 10) {
                     ui_llabel(obj, .label = "Identifier");
-                    ui_textfield(obj, .value = wdata->key_name, .groups = UI_GROUPS(SETTINGS_STATE_KEYS_SELECTED));
+                    ui_textfield(obj, .value = wdata->key_name, .states = UI_GROUPS(SETTINGS_STATE_KEYS_SELECTED));
                     ui_newline(obj);
                     ui_llabel(obj, .label = "Type");
-                    ui_textfield(obj, .value = wdata->key_type, .groups = UI_GROUPS(SETTINGS_STATE_DISABLED));
+                    ui_textfield(obj, .value = wdata->key_type, .states = UI_GROUPS(SETTINGS_STATE_DISABLED));
                     ui_newline(obj);
                     ui_llabel(obj, .label = "File");
-                    ui_textfield(obj, .value = wdata->key_file, .groups = UI_GROUPS(SETTINGS_STATE_KEYS_SELECTED));
+                    ui_textfield(obj, .value = wdata->key_file, .states = UI_GROUPS(SETTINGS_STATE_KEYS_SELECTED));
                 }
             }
         }
@@ -1273,7 +1273,7 @@
     
     ui_list_update(settings->credentials_locations);
     
-    ui_set_group(settings->obj->ctx, SETTINGS_STATE_CREDENTIALS_SELECTED);
+    ui_set_state(settings->obj->ctx, SETTINGS_STATE_CREDENTIALS_SELECTED);
 }
 
 void settings_credentials_clear(SettingsWindow *settings) {
@@ -1287,7 +1287,7 @@
     ui_list_clear(settings->credentials_locations);
     ui_list_update(settings->credentials_locations);
     
-    ui_unset_group(settings->obj->ctx, SETTINGS_STATE_CREDENTIALS_SELECTED);
+    ui_unset_state(settings->obj->ctx, SETTINGS_STATE_CREDENTIALS_SELECTED);
 }
 
 int settings_credentials_save(SettingsWindow *settings) {

mercurial