ui/gtk/list.c

changeset 861
34b07b18b3e1
parent 860
7f2287ae2b78
child 862
670b2c03413f
--- a/ui/gtk/list.c	Sat Oct 18 09:43:05 2025 +0200
+++ b/ui/gtk/list.c	Sat Oct 18 10:17:59 2025 +0200
@@ -2063,6 +2063,18 @@
 
 /* ------------------------------ Source List ------------------------------ */
 
+static ui_sourcelist_update_func sourcelist_update_finished_callback;
+
+void ui_sourcelist_set_update_callback(ui_sourcelist_update_func cb) {
+    sourcelist_update_finished_callback = cb;
+}
+
+static void ui_sourcelist_update_finished(void) {
+    if(sourcelist_update_finished_callback) {
+        sourcelist_update_finished_callback();
+    }
+}
+
 static void ui_destroy_sourcelist(GtkWidget *w, UiListBox *v) {
     cxListFree(v->sublists);
     free(v);
@@ -2299,6 +2311,8 @@
         ui_listbox_update_sublist(listbox, sublist, pos);
         pos += sublist->numitems;
     }
+    
+    ui_sourcelist_update_finished();
 }
 
 static void listbox_button_clicked(GtkWidget *button, UiEventDataExt *data) {
@@ -2623,6 +2637,8 @@
     } else {
         update_sublist_item(sublist->listbox, sublist, i);
     }
+    
+    ui_sourcelist_update_finished();
 }
 
 void ui_listbox_row_activate(GtkListBox *self, GtkListBoxRow *row, gpointer user_data) {

mercurial