[gnome-todo] sidebar: Invalidate listboxes after adding and removing lists



commit b3a65da0fffacbefb3005d62ea5fc459b6b7e3a9
Author: Georges Basile Stavracas Neto <georges stavracas gmail com>
Date:   Sat Jun 29 21:35:27 2019 -0300

    sidebar: Invalidate listboxes after adding and removing lists
    
    Adding and removing task lists may not infer invalidating the
    filtering of provider rows. We need to forcefuly invalidate
    them.

 src/sidebar/gtd-sidebar.c | 17 +++++++++++++----
 1 file changed, 13 insertions(+), 4 deletions(-)
---
diff --git a/src/sidebar/gtd-sidebar.c b/src/sidebar/gtd-sidebar.c
index 48a725a..754e9df 100644
--- a/src/sidebar/gtd-sidebar.c
+++ b/src/sidebar/gtd-sidebar.c
@@ -105,9 +105,15 @@ add_task_list (GtdSidebar  *self,
   g_debug ("Adding task list '%s'", gtd_task_list_get_name (list));
 
   if (!gtd_task_list_get_archived (list))
-    gtk_list_box_prepend (self->listbox, gtd_sidebar_list_row_new (list));
+    {
+      gtk_list_box_prepend (self->listbox, gtd_sidebar_list_row_new (list));
+      gtk_list_box_invalidate_filter (self->listbox);
+    }
   else
-    gtk_list_box_prepend (self->archive_listbox, gtd_sidebar_list_row_new (list));
+    {
+      gtk_list_box_prepend (self->archive_listbox, gtd_sidebar_list_row_new (list));
+      gtk_list_box_invalidate_filter (self->archive_listbox);
+    }
 }
 
 static void
@@ -508,17 +514,20 @@ on_task_list_removed_cb (GtdManager  *manager,
                          GtdSidebar  *self)
 {
   GtkListBoxRow *row;
+  GtkListBox *listbox;
 
   g_debug ("Removing task list '%s'", gtd_task_list_get_name (list));
 
   if (!gtd_task_list_get_archived (list))
-    row = get_row_for_task_list (self, self->listbox, list);
+    listbox = self->listbox;
   else
-    row = get_row_for_task_list (self, self->archive_listbox, list);
+    listbox = self->archive_listbox;
 
+  row = get_row_for_task_list (self, listbox, list);
   g_assert (row != NULL);
 
   gtk_widget_destroy (GTK_WIDGET (row));
+  gtk_list_box_invalidate_filter (listbox);
 }
 
 static gboolean


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]