84 } |
84 } |
85 application_update_repolist(get_application()); |
85 application_update_repolist(get_application()); |
86 ui_close(event->obj); |
86 ui_close(event->obj); |
87 } |
87 } |
88 |
88 |
89 void settings_cancel(UiEvent *event, void *userdata) { |
89 void settings_close(UiEvent *event, void *userdata) { |
90 SettingsWindow *settings = event->window; |
90 SettingsWindow *settings = event->window; |
91 if(settings->config_saved) { |
91 if(settings->config_saved) { |
92 // function was called as context closefunc by ui_close |
92 // function was called as context closefunc by ui_close |
93 // in settings_ok |
93 // in settings_ok |
94 // don't free anything |
94 // don't free anything |
95 return; |
95 return; |
96 } |
96 } |
97 dav_config_free(settings->config); |
97 dav_config_free(settings->config); |
98 if(userdata) { |
98 } |
99 ui_close(event->obj); |
99 |
100 } |
100 void settings_cancel(UiEvent *event, void *userdata) { |
|
101 SettingsWindow *settings = event->window; |
|
102 ui_close(event->obj); |
101 } |
103 } |
102 |
104 |
103 void settings_window_open() { |
105 void settings_window_open() { |
104 DavConfig *config = load_config_file(); |
106 DavConfig *config = load_config_file(); |
105 if(!config) { |
107 if(!config) { |
106 return; |
108 return; |
107 } |
109 } |
108 |
110 |
109 UiObject *obj = ui_simple_window("Settings", NULL); |
111 UiObject *obj = ui_simple_window("Settings", NULL); |
110 ui_context_closefunc(obj->ctx, settings_cancel, NULL); |
112 ui_context_closefunc(obj->ctx, settings_close, NULL); |
111 SettingsWindow *wdata = ui_malloc(obj->ctx, sizeof(SettingsWindow)); |
113 SettingsWindow *wdata = ui_malloc(obj->ctx, sizeof(SettingsWindow)); |
112 wdata->config = config; |
114 wdata->config = config; |
113 obj->window = wdata; |
115 obj->window = wdata; |
114 settings_init(obj, wdata); |
116 settings_init(obj, wdata); |
115 |
117 |
244 } |
246 } |
245 } |
247 } |
246 } |
248 } |
247 |
249 |
248 ui_hbox(obj, .fill = UI_OFF, .margin = 10) { |
250 ui_hbox(obj, .fill = UI_OFF, .margin = 10) { |
249 ui_button(obj, .label = "Cancel", .onclick = settings_cancel, .onclickdata = "close"); |
251 ui_button(obj, .label = "Cancel", .onclick = settings_cancel); |
250 ui_label(obj, .fill = UI_ON); |
252 ui_label(obj, .fill = UI_ON); |
251 ui_button(obj, .label = "Save", .onclick = settings_ok); |
253 ui_button(obj, .label = "Save", .onclick = settings_ok); |
252 } |
254 } |
253 |
255 |
254 |
256 |