From 765db7cfd0a0aa7aea9f0f717a7762ad79e14ef9 Mon Sep 17 00:00:00 2001 From: Laurent Contzen Date: Sat, 4 Aug 2012 13:33:14 +0200 Subject: roster-model now catches notify::favourites-changed empathy-roster-model: catches notify::favourites-changed and emits favourites-changed empathy-roster-model-manager: implemented this empathy-roster-view: now catches favourites-changed from the model --- libempathy-gtk/empathy-roster-model.c | 19 +++++++++++++++++++ 1 file changed, 19 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 198c644c5..671f4b191 100644 --- a/libempathy-gtk/empathy-roster-model.c +++ b/libempathy-gtk/empathy-roster-model.c @@ -29,6 +29,7 @@ enum SIG_INDIVIDUAL_REMOVED, SIG_GROUPS_CHANGED, SIG_TOP_INDIVIDUALS_CHANGED, + SIG_FAVOURITES_CHANGED, LAST_SIGNAL }; @@ -69,6 +70,15 @@ empathy_roster_model_default_init (EmpathyRosterModelInterface *iface) G_SIGNAL_RUN_LAST, 0, NULL, NULL, NULL, G_TYPE_NONE, 0); + + signals[SIG_FAVOURITES_CHANGED] = + g_signal_new ("favourites-changed", + EMPATHY_TYPE_ROSTER_MODEL, + G_SIGNAL_RUN_LAST, + 0, NULL, NULL, NULL, + G_TYPE_NONE, 2, + FOLKS_TYPE_INDIVIDUAL, + G_TYPE_BOOLEAN); } /***** Restricted *****/ @@ -102,6 +112,15 @@ empathy_roster_model_fire_top_individuals_changed (EmpathyRosterModel *self) g_signal_emit (self, signals[SIG_TOP_INDIVIDUALS_CHANGED], 0); } +void +empathy_roster_model_fire_favourites_changed (EmpathyRosterModel *self, + FolksIndividual *individual, + gboolean favourite) +{ + g_signal_emit (self, signals[SIG_FAVOURITES_CHANGED], 0, individual, favourite); +} + + /***** Public *****/ /** -- cgit v1.2.3