application/application.c

changeset 60
ee4e4742391e
parent 53
da05df77652e
--- a/application/application.c	Wed Oct 23 21:46:43 2024 +0200
+++ b/application/application.c	Sun Oct 27 18:24:37 2024 +0100
@@ -36,9 +36,12 @@
 #include "window.h"
 #include "config.h"
 #include "davcontroller.h"
+#include "settings.h"
 
 static DavContext* davctx;
 
+static DavApp *app;
+
 void application_init(void) {
     davctx = dav_context_new();
     dav_context_set_mtsafe(davctx, true);
@@ -46,6 +49,9 @@
     application_create_menu();
 }
 
+DavApp* get_application(void) {
+    return app;
+}
 
 void application_startup(UiEvent* event, void* data) {
     if (load_config(davctx)) {
@@ -56,7 +62,7 @@
     window_init();
 
     // create document for global settings (repolist, ...)
-    DavApp *app = application_create_app_document();
+    app = application_create_app_document();
     UiContext *global = ui_global_context();
     ui_attach_document(global, app);
 
@@ -135,13 +141,14 @@
 
 void application_update_repolist(DavApp *app) {
     DavConfig *config = get_config();
-    DavCfgRepository *repo = config->repositories;
 
     ui_list_clear(app->repos);
 
     for (DavCfgRepository *repo = config->repositories; repo; repo = repo->next) {
         ui_list_append(app->repos, repo);
     }
+    
+    ui_notify(app->repos->observers, NULL);
 }
 
 
@@ -307,7 +314,7 @@
 }
 
 void action_open_settings(UiEvent *event, void *data) {
-    
+    settings_window_open();
 }
 
 void action_open_properties(UiEvent *event, void *data) {

mercurial