application/application.c

changeset 7
905ac52c910f
parent 6
09ac07345656
child 8
726b24766437
equal deleted inserted replaced
6:09ac07345656 7:905ac52c910f
49 if (load_config(davctx)) { 49 if (load_config(davctx)) {
50 // TODO: error 50 // TODO: error
51 exit(-1); 51 exit(-1);
52 } 52 }
53 53
54 UiObject* win = window_create(); 54 UiObject *win = window_create();
55 55
56 DavApp* app = application_create_app_document(); 56 DavApp *app = application_create_app_document();
57 UiContext* global = ui_global_context(); 57 UiContext *global = ui_global_context();
58 ui_attach_document(global, app); 58 ui_attach_document(global, app);
59 59
60 ui_show(win); 60 ui_show(win);
61 } 61 }
62 62
66 66
67 // toolbar 67 // toolbar
68 ui_toolbar_item("Home", .icon = "Home"); 68 ui_toolbar_item("Home", .icon = "Home");
69 ui_toolbar_item("NewWindow", .icon = "NewWindow"); 69 ui_toolbar_item("NewWindow", .icon = "NewWindow");
70 ui_toolbar_menu("Repo", .label = "Repository") { 70 ui_toolbar_menu("Repo", .label = "Repository") {
71 ui_menu_itemlist(.varname = "repolist"); 71 ui_menu_itemlist(.varname = "repolist", .onselect = action_repo_selected);
72 } 72 }
73 ui_toolbar_item("Refresh", .icon = "Refresh"); 73 ui_toolbar_item("Refresh", .icon = "Refresh");
74 ui_toolbar_item("NewFolder", .icon = "NewFolder"); 74 ui_toolbar_item("NewFolder", .icon = "NewFolder");
75 ui_toolbar_item("NewFile", .icon = "Add"); 75 ui_toolbar_item("NewFile", .icon = "Add");
76 ui_toolbar_item("Upload", .label = "Upload", .icon = "Upload"); 76 ui_toolbar_item("Upload", .label = "Upload", .icon = "Upload");
77 ui_toolbar_item("Download", .icon = "SaveLocal"); 77 ui_toolbar_item("Download", .icon = "SaveLocal");
78 ui_toolbar_item("Remove", .icon = "Delete"); 78 ui_toolbar_item("Remove", .icon = "Delete");
79 ui_toolbar_item("LocalBrowser", .icon = "DockLeft", .label = "Local Browser"); 79 ui_toolbar_toggleitem("LocalBrowser", .icon = "DockLeft", .label = "Local Browser");
80 ui_toolbar_item("PreviewPane", .icon = "DockRight"); 80 ui_toolbar_toggleitem("PreviewPane", .icon = "DockRight");
81 81
82 ui_toolbar_appmenu() { 82 ui_toolbar_appmenu() {
83 ui_menuitem("TODO", NULL); 83 ui_menuitem("TODO", NULL);
84 } 84 }
85 85
99 } 99 }
100 100
101 101
102 102
103 DavApp* application_create_app_document(void) { 103 DavApp* application_create_app_document(void) {
104 DavApp* doc = ui_document_new(sizeof(DavApp)); 104 DavApp *doc = ui_document_new(sizeof(DavApp));
105 UiContext* ctx = ui_document_context(doc); 105 UiContext *ctx = ui_document_context(doc);
106 doc->repos = ui_list_new(ctx, "repolist"); 106 doc->repos = ui_list_new(ctx, "repolist");
107 107
108 // create repo list 108 // create repo list
109 application_update_repolist(doc); 109 application_update_repolist(doc);
110 110
111 return doc; 111 return doc;
112 } 112 }
113 113
114 void application_update_repolist(DavApp* app) { 114 void application_update_repolist(DavApp *app) {
115 DavConfig* config = get_config(); 115 DavConfig *config = get_config();
116 DavCfgRepository* repo = config->repositories; 116 DavCfgRepository *repo = config->repositories;
117
117 118
118 // TODO: free list content ptr 119 // TODO: free list content ptr
119 ui_list_clear(app->repos); 120 ui_list_clear(app->repos);
120 121
121 for (DavCfgRepository* repo = config->repositories; repo; repo = repo->next) { 122 for (DavCfgRepository *repo = config->repositories; repo; repo = repo->next) {
122 // TODO: copy repo name 123 // TODO: copy repo name
123 ui_list_append(app->repos, repo->name.value.ptr); 124 ui_list_append(app->repos, repo->name.value.ptr);
124 } 125 }
125 } 126 }
127
128
129 DavContext* application_dav_context(void) {
130 return davctx;
131 }
132
133
134 void action_repo_selected(UiEvent *event, void *data) {
135
136 }

mercurial