From: Olaf Wintermann Date: Wed, 28 May 2025 17:20:21 +0000 (+0200) Subject: add UI for notebooks tab in the notebooks config dialog X-Git-Url: https://uap-core.de/gitweb/?a=commitdiff_plain;h=771b7d9f7eb7f59a58b67c0c32cff75920cbb33a;p=note.git add UI for notebooks tab in the notebooks config dialog --- diff --git a/application/window.c b/application/window.c index 756f610..4dc52be 100644 --- a/application/window.c +++ b/application/window.c @@ -365,16 +365,20 @@ void action_notebook_config(UiEvent *event, void *userdata) { UiObject *obj = ui_simple_window("Notebooks", NULL); NotebookConfigDialog *wdata = ui_malloc(obj->ctx, sizeof(NotebookConfigDialog)); - wdata->groups = ui_list_new(obj->ctx, NULL); - wdata->types = ui_list_new(obj->ctx, NULL); - wdata->repositories = ui_list_new(obj->ctx, NULL); + wdata->tab1_groups = ui_list_new(obj->ctx, NULL); + wdata->tab1_types = ui_list_new(obj->ctx, NULL); + wdata->tab1_repositories = ui_list_new(obj->ctx, NULL); + wdata->tab2_notebooks = ui_list_new(obj->ctx, NULL); + wdata->tab2_groups = ui_list_new(obj->ctx, NULL); + wdata->tab2_types = ui_list_new(obj->ctx, NULL); + wdata->tab2_repositories = ui_list_new(obj->ctx, NULL); ui_grid(obj, .margin = 10, .columnspacing = 10, .rowspacing = 10, .fill = UI_ON) { ui_tabview(obj, .hfill = TRUE, .hexpand = TRUE, .vfill = TRUE, .vexpand = TRUE) { ui_tab(obj, "Groups") { ui_hbox(obj, .margin = 10, .spacing = 10, .fill = UI_ON) { ui_vbox(obj, .fill = UI_OFF) { - ui_listview(obj, .list = wdata->groups, .fill = UI_ON); + ui_listview(obj, .list = wdata->tab1_groups, .fill = UI_ON); ui_hbox(obj, .fill = UI_OFF) { ui_button(obj, .icon = UI_ICON_NEW_FOLDER); ui_button(obj, .icon = UI_ICON_DELETE); @@ -389,17 +393,45 @@ void action_notebook_config(UiEvent *event, void *userdata) { ui_newline(obj); ui_rlabel(obj, .label = "Type"); - ui_combobox(obj, .list = wdata->types); + ui_combobox(obj, .list = wdata->tab1_types); ui_newline(obj); ui_rlabel(obj, .label = "Repository"); - ui_combobox(obj, .list = wdata->repositories); + ui_combobox(obj, .list = wdata->tab1_repositories); ui_newline(obj); } } } ui_tab(obj, "Notebooks") { - + ui_hbox(obj, .margin = 10, .spacing = 10, .fill = UI_ON) { + ui_vbox(obj, .fill = UI_OFF) { + ui_listview(obj, .list = wdata->tab2_groups, .fill = UI_ON); + ui_hbox(obj, .fill = UI_OFF) { + ui_button(obj, .icon = UI_ICON_NEW_FOLDER); + ui_button(obj, .icon = UI_ICON_DELETE); + ui_button(obj, .icon = "go-up"); + ui_button(obj, .icon = "go-down"); + } + } + + ui_grid(obj, .columnspacing = 10, .rowspacing = 10, .fill = UI_ON, .def_vfill = TRUE) { + ui_rlabel(obj, .label = "Group"); + ui_combobox(obj, .list = wdata->tab2_groups); + ui_newline(obj); + + ui_rlabel(obj, .label = "Name"); + ui_textfield(obj, .varname = "todo1"); + ui_newline(obj); + + ui_rlabel(obj, .label = "Type"); + ui_combobox(obj, .list = wdata->tab2_types); + ui_newline(obj); + + ui_rlabel(obj, .label = "Repository"); + ui_combobox(obj, .list = wdata->tab1_repositories); + ui_newline(obj); + } + } } ui_tab(obj, "Repositories") { diff --git a/application/window.h b/application/window.h index 97f810c..83d4332 100644 --- a/application/window.h +++ b/application/window.h @@ -50,9 +50,13 @@ typedef struct NewNotebookDialog { typedef struct NotebookConfigDialog { MainWindow *parent; - UiList *groups; - UiList *types; - UiList *repositories; + UiList *tab1_groups; + UiList *tab1_types; + UiList *tab1_repositories; + UiList *tab2_notebooks; + UiList *tab2_groups; + UiList *tab2_types; + UiList *tab2_repositories; } NotebookConfigDialog; void window_create();