aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy-gtk/empathy-roster-view.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libempathy-gtk/empathy-roster-view.c b/libempathy-gtk/empathy-roster-view.c
index 4ad2d16ef..00544fbb0 100644
--- a/libempathy-gtk/empathy-roster-view.c
+++ b/libempathy-gtk/empathy-roster-view.c
@@ -4,6 +4,8 @@
#include <glib/gi18n-lib.h>
+#include <libempathy/empathy-contact-groups.h>
+
#include <libempathy-gtk/empathy-roster-contact.h>
#include <libempathy-gtk/empathy-roster-group.h>
#include <libempathy-gtk/empathy-ui-utils.h>
@@ -200,6 +202,9 @@ group_expanded_cb (EmpathyRosterGroup *group,
}
g_list_free (widgets);
+
+ empathy_contact_group_set_expanded (empathy_roster_group_get_name (group),
+ gtk_expander_get_expanded (GTK_EXPANDER (group)));
}
static EmpathyRosterGroup *
@@ -226,6 +231,9 @@ ensure_roster_group (EmpathyRosterView *self,
else
roster_group = empathy_roster_group_new (group, NULL);
+ gtk_expander_set_expanded (GTK_EXPANDER (roster_group),
+ empathy_contact_group_get_expanded (group));
+
g_signal_connect (roster_group, "notify::expanded",
G_CALLBACK (group_expanded_cb), self);
@@ -932,6 +940,9 @@ empathy_roster_view_constructed (GObject *object)
g_assert (EMPATHY_IS_ROSTER_MODEL (self->priv->model));
+ /* Get saved group states. */
+ empathy_contact_groups_get_all ();
+
populate_view (self);
tp_g_signal_connect_object (self->priv->model, "individual-added",