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 } |