aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy-gtk/empathy-roster-view.c
diff options
context:
space:
mode:
authorLaurent Contzen <lcontzen@gmail.com>2012-08-04 21:29:46 +0800
committerLaurent Contzen <lcontzen@gmail.com>2012-08-06 17:02:19 +0800
commitaf7910a9af2984973be248b769d74f09e84822d4 (patch)
treecdabbe1f29bc2641e1344da5f13fb3cac7cab0f4 /libempathy-gtk/empathy-roster-view.c
parentb3c361fdca7f6a0bb2a63e676cd0a5d488261127 (diff)
downloadgsoc2013-empathy-af7910a9af2984973be248b769d74f09e84822d4.tar
gsoc2013-empathy-af7910a9af2984973be248b769d74f09e84822d4.tar.gz
gsoc2013-empathy-af7910a9af2984973be248b769d74f09e84822d4.tar.bz2
gsoc2013-empathy-af7910a9af2984973be248b769d74f09e84822d4.tar.lz
gsoc2013-empathy-af7910a9af2984973be248b769d74f09e84822d4.tar.xz
gsoc2013-empathy-af7910a9af2984973be248b769d74f09e84822d4.tar.zst
gsoc2013-empathy-af7910a9af2984973be248b769d74f09e84822d4.zip
Moved contact_in_top and contact_is_favourite from view to model
empathy-roster-model: new function _contact_in_top empathy-roster-model-manager: implemented _contact_in_top, new function contact_is_favourite empathy-roster-view: removed contact_in_top and contact_is_favourite functions, now calling model's _contact_in_top instead
Diffstat (limited to 'libempathy-gtk/empathy-roster-view.c')
-rw-r--r--libempathy-gtk/empathy-roster-view.c41
1 files changed, 6 insertions, 35 deletions
diff --git a/libempathy-gtk/empathy-roster-view.c b/libempathy-gtk/empathy-roster-view.c
index 06a4ebf94..84bd5d46a 100644
--- a/libempathy-gtk/empathy-roster-view.c
+++ b/libempathy-gtk/empathy-roster-view.c
@@ -510,37 +510,6 @@ compare_roster_contacts_by_alias (EmpathyRosterContact *a,
return g_ascii_strcasecmp (alias_a, alias_b);
}
-static gboolean
-contact_is_favourite (EmpathyRosterContact *contact)
-{
- FolksIndividual *individual;
-
- individual = empathy_roster_contact_get_individual (contact);
-
- return folks_favourite_details_get_is_favourite (
- FOLKS_FAVOURITE_DETAILS (individual));
-}
-
-static gboolean
-contact_in_top (EmpathyRosterView *self,
- EmpathyRosterContact *contact)
-{
- FolksIndividual *individual;
- GList *tops;
-
- if (contact_is_favourite (contact))
- return TRUE;
-
- individual = empathy_roster_contact_get_individual (contact);
-
- tops = empathy_roster_model_get_top_individuals (self->priv->model);
-
- if (g_list_index (tops, individual) != -1)
- return TRUE;
-
- return FALSE;
-}
-
static gint
compare_roster_contacts_no_group (EmpathyRosterView *self,
EmpathyRosterContact *a,
@@ -548,8 +517,8 @@ compare_roster_contacts_no_group (EmpathyRosterView *self,
{
gboolean top_a, top_b;
- top_a = contact_in_top (self, a);
- top_b = contact_in_top (self, b);
+ top_a = empathy_roster_model_contact_in_top (self->priv->model, a);
+ top_b = empathy_roster_model_contact_in_top (self->priv->model, b);
if (top_a == top_b)
/* Both contacts are in the top of the roster (or not). Sort them
@@ -772,7 +741,8 @@ contact_should_be_displayed (EmpathyRosterView *self,
if (self->priv->show_offline)
return TRUE;
- if (contact_is_favourite (contact))
+ if (empathy_roster_model_contact_in_top (self->priv->model,
+ contact))
{
const gchar *group_name;
@@ -968,7 +938,8 @@ update_top_contacts (EmpathyRosterView *self)
EmpathyRosterContact *contact = l->data;
FolksIndividual *individual;
- if (contact_is_favourite (contact))
+ if (empathy_roster_model_contact_in_top (self->priv->model,
+ contact))
continue;
individual = empathy_roster_contact_get_individual (contact);