[frogr] Moved the logic to compare two groups to FrogrGroup, where it belongs



commit 36446e87a795b9e3240a3d1792c39e70e1bdaf85
Author: Mario Sanchez Prada <msanchez gnome org>
Date:   Tue Dec 29 17:14:47 2015 +0000

    Moved the logic to compare two groups to FrogrGroup, where it belongs

 src/frogr-group.c   |   17 +++++++++++++++++
 src/frogr-group.h   |    2 ++
 src/frogr-picture.c |   27 +--------------------------
 3 files changed, 20 insertions(+), 26 deletions(-)
---
diff --git a/src/frogr-group.c b/src/frogr-group.c
index 5d4c523..4cc0ed9 100644
--- a/src/frogr-group.c
+++ b/src/frogr-group.c
@@ -262,3 +262,20 @@ frogr_group_set_n_photos (FrogrGroup *self,
   self->n_photos = n;
 }
 
+gint
+frogr_group_compare (FrogrGroup *self, FrogrGroup *other)
+{
+  g_return_val_if_fail (FROGR_IS_GROUP (self), 1);
+  g_return_val_if_fail (FROGR_IS_GROUP (other), -1);
+
+  if (self == other)
+    return 0;
+
+  if (self->id != NULL && other->id != NULL)
+    return g_strcmp0 (self->id, other->id);
+
+  if (self->id != NULL)
+    return 1;
+  else
+    return -1;
+}
diff --git a/src/frogr-group.h b/src/frogr-group.h
index 7698350..3beb11a 100644
--- a/src/frogr-group.h
+++ b/src/frogr-group.h
@@ -52,6 +52,8 @@ void frogr_group_set_privacy (FrogrGroup *self, FspGroupPrivacy privacy);
 gint frogr_group_get_n_photos (FrogrGroup *self);
 void frogr_group_set_n_photos (FrogrGroup *self, gint n);
 
+gint frogr_group_compare (FrogrGroup *self, FrogrGroup *other);
+
 G_END_DECLS
 
 #endif
diff --git a/src/frogr-picture.c b/src/frogr-picture.c
index 38cf39e..d51c320 100644
--- a/src/frogr-picture.c
+++ b/src/frogr-picture.c
@@ -101,8 +101,6 @@ static void _add_tags_to_tags_list (FrogrPicture *self,
                                     const gchar *tags_string);
 static void _update_tags_string (FrogrPicture *self);
 
-static gint _compare_groups (FrogrGroup *group1, FrogrGroup *group2);
-
 static JsonNode *_serialize_list (GSList *objects_list, GType g_type);
 static gboolean _deserialize_list (JsonNode *node, GValue *value, GType g_type);
 
@@ -203,29 +201,6 @@ _update_tags_string (FrogrPicture *self)
     }
 }
 
-static gint
-_compare_groups (FrogrGroup *group1, FrogrGroup *group2)
-{
-  const gchar *id1 = NULL;
-  const gchar *id2 = NULL;
-
-  g_return_val_if_fail (FROGR_IS_GROUP (group1), 1);
-  g_return_val_if_fail (FROGR_IS_GROUP (group2), -1);
-
-  if (group1 == group2)
-    return 0;
-
-  id1 = frogr_group_get_id (group1);
-  id2 = frogr_group_get_id (group2);
-  if (id1 != NULL && id2 != NULL)
-    return g_strcmp0 (id1, id2);
-
-  if (id1 != NULL)
-    return 1;
-  else
-    return -1;
-}
-
 static JsonNode *
 _serialize_list (GSList *objects_list, GType g_type)
 {
@@ -1201,7 +1176,7 @@ frogr_picture_in_group (FrogrPicture *self, FrogrGroup *group)
   g_return_val_if_fail(FROGR_IS_PICTURE(self), FALSE);
 
   if (g_slist_find_custom (self->groups, group,
-                           (GCompareFunc)_compare_groups))
+                           (GCompareFunc)frogr_group_compare))
     return TRUE;
 
   return FALSE;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]