return NULL;
}
+static void* repolist_get_value(void *data, int col) {
+ Repository *repo = data;
+ return repo->name;
+}
+
void nbconfig_update_lists(NotebookConfigDialog *wdata) {
ui_list_clear(wdata->tab1_groups);
ui_list_clear(wdata->tab2_groups);
+ ui_list_clear(wdata->tab3_repositories);
CxIterator i = cxListIterator(wdata->groups);
cx_foreach(Resource *, res, i) {
ui_list_append(wdata->tab1_groups, res);
}
i = cxListIterator(wdata->repositories);
- //
+ cx_foreach(Repository *, repo, i) {
+ ui_list_append(wdata->tab3_repositories, repo);
+ }
ui_list_update(wdata->tab1_groups);
ui_list_update(wdata->tab1_repositories);
ui_list_update(wdata->tab2_groups);
ui_list_update(wdata->tab2_notebooks);
ui_list_update(wdata->tab2_repositories);
+ ui_list_update(wdata->tab3_repositories);
}
static void nbconfig_tab1_load_group(NotebookConfigDialog *wdata, Resource *res) {
}
+static void nbconfig_repolist_add(UiEvent *event, void *userdata) {
+
+}
+
+static void nbconfig_repolist_delete(UiEvent *event, void *userdata) {
+
+}
+
+static void nbconfig_repolist_move_up(UiEvent *event, void *userdata) {
+
+}
+
+static void nbconfig_repolist_move_down(UiEvent *event, void *userdata) {
+
+}
+
void notebook_config_dialog(void) {
NoteStore *store = note_store_get();
// TODO: check store->root and show different dialog, when root is missing
wdata->tab2_notebook_name = ui_string_new(obj->ctx, NULL);
wdata->tab2_types = ui_list_new(obj->ctx, NULL);
wdata->tab2_repositories = ui_list_new(obj->ctx, NULL);
+ wdata->tab3_repositories = ui_list_new(obj->ctx, NULL);
+ wdata->tab3_repo_name = ui_string_new(obj->ctx, NULL);
+ wdata->tab3_repo_local_path = ui_string_new(obj->ctx, NULL);
+ wdata->tab3_repo_url = ui_string_new(obj->ctx, NULL);
+ wdata->tab3_repo_encryption_key = ui_list_new(obj->ctx, NULL);
+ wdata->tab3_repo_isencrypted = ui_int_new(obj->ctx, NULL);
wdata->repositories = cxArrayListCreate(a, NULL, CX_STORE_POINTERS, 32);
wdata->groups = cxArrayListCreate(a, NULL, CX_STORE_POINTERS, 32);
}
}
ui_tab(obj, "Repositories") {
-
+ ui_hbox(obj, .margin = 10, .spacing = 10, .fill = TRUE) {
+ ui_vbox(obj) {
+ ui_listview(obj, .list = wdata->tab3_repositories, .getvalue = repolist_get_value, .fill = TRUE, .onactivate = NULL);
+ ui_hbox(obj) {
+ ui_button(obj, .icon = UI_ICON_NEW_FOLDER, .onclick = nbconfig_repolist_add);
+ ui_button(obj, .icon = UI_ICON_DELETE, .onclick = nbconfig_repolist_delete);
+ ui_button(obj, .icon = UI_ICON_GO_UP, .onclick = nbconfig_repolist_move_up);
+ ui_button(obj, .icon = UI_ICON_GO_DOWN, .onclick = nbconfig_repolist_move_down);
+ }
+ }
+
+ ui_grid(obj, .columnspacing = 10, .rowspacing = 10, .fill = TRUE, .def_vfill = TRUE) {
+ ui_rlabel(obj, .label = "Name");
+ ui_textfield(obj, .value = wdata->tab3_repo_name);
+ ui_newline(obj);
+
+ ui_rlabel(obj, .label = "Local Path");
+ ui_textfield(obj, .value = wdata->tab3_repo_local_path);
+ ui_newline(obj);
+
+ ui_rlabel(obj, .label = "URL");
+ ui_textfield(obj, .value = wdata->tab3_repo_url);
+ ui_newline(obj);
+
+ ui_checkbox(obj, .label = "Encryption", .colspan = 2);
+ ui_newline(obj);
+
+ ui_rlabel(obj, .label = "Encryption Key");
+ ui_combobox(obj, .list = wdata->tab3_repo_encryption_key);
+
+ }
+ }
}
}
}
typedef struct NotebookConfigDialog {
MainWindow *parent;
- CxList *repositories;
- CxList *groups;
- CxList *notebooks;
- CxMap *notebook_parents;
+ CxList *repositories;
+ CxList *groups;
+ CxList *notebooks;
+ CxMap *notebook_parents;
- UiList *tab1_groups;
- UiString *tab1_group_name;
- UiList *tab1_types;
- UiList *tab1_repositories;
- UiList *tab2_notebooks;
- UiList *tab2_groups;
- UiString *tab2_notebook_name;
- UiList *tab2_types;
- UiList *tab2_repositories;
+ UiList *tab1_groups;
+ UiString *tab1_group_name;
+ UiList *tab1_types;
+ UiList *tab1_repositories;
+ UiList *tab2_notebooks;
+ UiList *tab2_groups;
+ UiString *tab2_notebook_name;
+ UiList *tab2_types;
+ UiList *tab2_repositories;
+ UiList *tab3_repositories;
+ UiString *tab3_repo_name;
+ UiString *tab3_repo_url;
+ UiString *tab3_repo_local_path;
+ UiList *tab3_repo_encryption_key;
+ UiInteger *tab3_repo_isencrypted;
Resource *new_group;
Resource *new_notebook;