application/settings.c

changeset 61
eb63af2f2bdd
parent 60
ee4e4742391e
child 62
dbde5e038ea9
equal deleted inserted replaced
60:ee4e4742391e 61:eb63af2f2bdd
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

mercurial