diff options
author | Lars Uebernickel <lars@uebernic.de> | 2015-02-14 19:41:45 +0100 |
---|---|---|
committer | Lars Uebernickel <lars@uebernic.de> | 2015-02-16 07:54:14 +0100 |
commit | 8b94d22435fca4490cda24facf62362334964f26 (patch) | |
tree | 7d7d916a4b9bf95e3d2ce724c281f3defea449e2 | |
parent | 4fd7673e5070efb67748998d5760cfd6839db92a (diff) | |
download | gnome-logs-8b94d22435fca4490cda24facf62362334964f26.tar.gz |
eventviewlist: remove stack
We're creating a new list box anyway each time we select a new filter.
No need in keeping old ones around just to replace them later.
-rw-r--r-- | data/gl-eventviewlist.ui | 2 | ||||
-rw-r--r-- | src/gl-eventviewlist.c | 27 |
2 files changed, 8 insertions, 21 deletions
diff --git a/data/gl-eventviewlist.ui b/data/gl-eventviewlist.ui index 1f7a9af..78a4699 100644 --- a/data/gl-eventviewlist.ui +++ b/data/gl-eventviewlist.ui @@ -34,7 +34,7 @@ </object> </child> <child> - <object class="GtkStack" id="event_stack"> + <object class="GtkScrolledWindow" id="event_scrolled"> <property name="visible">True</property> <property name="expand">True</property> </object> diff --git a/src/gl-eventviewlist.c b/src/gl-eventviewlist.c index 51f71c6..8b6bbe8 100644 --- a/src/gl-eventviewlist.c +++ b/src/gl-eventviewlist.c @@ -39,7 +39,7 @@ typedef struct GtkListBox *active_listbox; GtkWidget *categories; GtkWidget *event_search; - GtkWidget *event_stack; + GtkWidget *event_scrolled; GtkWidget *search_entry; gchar *search_text; @@ -758,63 +758,50 @@ on_notify_category (GlCategoryList *list, { GlCategoryListFilter filter; GlEventViewList *view; - GtkWidget *scrolled; GlEventViewListPrivate *priv; - GtkStack *stack; GSettings *settings; gint sort_order; - const gchar *stack_child_name; view = GL_EVENT_VIEW_LIST (user_data); priv = gl_event_view_list_get_instance_private (view); - stack = GTK_STACK (priv->event_stack); filter = gl_category_list_get_category (list); if (priv->active_listbox) - { + { GtkWidget *child; - child = gtk_stack_get_visible_child (stack); + child = gtk_bin_get_child (GTK_BIN (priv->event_scrolled)); gtk_widget_destroy (child); - } + } priv->active_listbox = GTK_LIST_BOX (gl_event_view_list_box_new (view)); - scrolled = gtk_scrolled_window_new (NULL, NULL); - gtk_container_add (GTK_CONTAINER (scrolled), GTK_WIDGET (priv->active_listbox)); + gtk_container_add (GTK_CONTAINER (priv->event_scrolled), GTK_WIDGET (priv->active_listbox)); switch (filter) { case GL_CATEGORY_LIST_FILTER_IMPORTANT: gl_event_view_list_add_listbox_important (view); - stack_child_name = "listbox-important"; break; case GL_CATEGORY_LIST_FILTER_ALL: gl_event_view_list_add_listbox_all (view); - stack_child_name = "listbox-all"; break; case GL_CATEGORY_LIST_FILTER_APPLICATIONS: gl_event_view_list_add_listbox_applications (view); - stack_child_name = "listbox-applications"; break; case GL_CATEGORY_LIST_FILTER_SYSTEM: gl_event_view_list_add_listbox_system (view); - stack_child_name = "listbox-system"; break; case GL_CATEGORY_LIST_FILTER_HARDWARE: gl_event_view_list_add_listbox_hardware (view); - stack_child_name = "listbox-hardware"; break; case GL_CATEGORY_LIST_FILTER_SECURITY: gl_event_view_list_add_listbox_security (view); - stack_child_name = "listbox-security"; break; default: g_assert_not_reached (); } - gtk_stack_add_named (GTK_STACK (priv->event_stack), scrolled, stack_child_name); - gtk_stack_set_visible_child_name (stack, stack_child_name); - gtk_widget_show_all (scrolled); + gtk_widget_show_all (GTK_WIDGET (priv->active_listbox)); settings = g_settings_new (SETTINGS_SCHEMA); sort_order = g_settings_get_enum (settings, SORT_ORDER); @@ -977,7 +964,7 @@ gl_event_view_list_class_init (GlEventViewListClass *klass) gtk_widget_class_bind_template_child_private (widget_class, GlEventViewList, event_search); gtk_widget_class_bind_template_child_private (widget_class, GlEventViewList, - event_stack); + event_scrolled); gtk_widget_class_bind_template_child_private (widget_class, GlEventViewList, search_entry); |