From 5e102f002d353aceb687f92499635b86a0ba2d9b Mon Sep 17 00:00:00 2001 From: Laurent Contzen Date: Wed, 4 Jul 2012 14:59:48 +0200 Subject: empathy-roster-model, empathy-roster-model-manager: Now deals with groups-changed signal empathy-roster-view.c: now uses roster-model's groups-changed signal https://bugzilla.gnome.org/show_bug.cgi?id=680302 --- libempathy-gtk/empathy-roster-model.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'libempathy-gtk/empathy-roster-model.c') diff --git a/libempathy-gtk/empathy-roster-model.c b/libempathy-gtk/empathy-roster-model.c index ce86e58a6..eaceca5f7 100644 --- a/libempathy-gtk/empathy-roster-model.c +++ b/libempathy-gtk/empathy-roster-model.c @@ -27,6 +27,7 @@ enum { SIG_INDIVIDUAL_ADDED, SIG_INDIVIDUAL_REMOVED, + SIG_GROUPS_CHANGED, LAST_SIGNAL }; @@ -50,6 +51,16 @@ empathy_roster_model_default_init (EmpathyRosterModelInterface *iface) 0, NULL, NULL, NULL, G_TYPE_NONE, 1, FOLKS_TYPE_INDIVIDUAL); + + signals[SIG_GROUPS_CHANGED] = + g_signal_new ("groups-changed", + EMPATHY_TYPE_ROSTER_MODEL, + G_SIGNAL_RUN_LAST, + 0, NULL, NULL, NULL, + G_TYPE_NONE, 3, + FOLKS_TYPE_INDIVIDUAL, + G_TYPE_STRING, + G_TYPE_BOOLEAN); } /***** Restricted *****/ @@ -68,6 +79,15 @@ empathy_roster_model_fire_individual_removed (EmpathyRosterModel *self, g_signal_emit (self, signals[SIG_INDIVIDUAL_REMOVED], 0, individual); } +void +empathy_roster_model_fire_groups_changed (EmpathyRosterModel *self, + FolksIndividual *individual, + const gchar *group, + gboolean is_member) +{ + g_signal_emit (self, signals[SIG_GROUPS_CHANGED], 0, individual, group, is_member); +} + /***** Public *****/ GList * -- cgit v1.2.3