[bijiben] Manager: clean-up _add_item code



commit 4811d99e73097d48753bb9fb63473a33e5b388cd
Author: Pierre-Yves Luyten <py luyten fr>
Date:   Sun Nov 3 17:46:47 2013 +0100

    Manager: clean-up _add_item code

 src/libbiji/biji-manager.c |   95 +++++++++++++++++---------------------------
 1 files changed, 37 insertions(+), 58 deletions(-)
---
diff --git a/src/libbiji/biji-manager.c b/src/libbiji/biji-manager.c
index b3b3629..f021219 100644
--- a/src/libbiji/biji-manager.c
+++ b/src/libbiji/biji-manager.c
@@ -279,14 +279,6 @@ biji_manager_notify_changed (BijiManager            *manager,
 }
 
 
-/* TODO : use the same for note, put everything there
- * rather calling a func */
-static void
-on_item_deleted_cb (BijiItem *item, BijiManager *manager)
-{
-  biji_manager_remove_item (manager, item);
-}
-
 
 void
 manager_on_note_changed_cb (BijiNoteObj *note, BijiManager *manager)
@@ -300,32 +292,52 @@ manager_on_item_icon_changed_cb (BijiNoteObj *note, BijiManager *manager)
   biji_manager_notify_changed (manager, BIJI_MANAGER_ITEM_ICON_CHANGED, BIJI_ITEM (note));
 }
 
-static void
-_biji_manager_add_one_item (BijiManager *manager, BijiItem *item)
+
+gboolean
+biji_manager_add_item (BijiManager *manager, BijiItem *item, gboolean notify)
 {
-  g_return_if_fail (BIJI_IS_ITEM (item));
+  const gchar *uid;
+  gboolean retval;
 
+  g_return_val_if_fail (BIJI_IS_MANAGER (manager), FALSE);
+  g_return_val_if_fail (BIJI_IS_ITEM (item), FALSE);
 
-  /* Add it to the list */
-  g_hash_table_insert (manager->priv->items,
-                       (gpointer) biji_item_get_uuid (item), item);
+  retval = TRUE;
+  uid = biji_item_get_uuid (item);
 
-  /* Notify */
-  if (BIJI_IS_NOTE_OBJ (item))
-  {
-    g_signal_connect (item, "changed", G_CALLBACK (manager_on_note_changed_cb), manager);
-    g_signal_connect (item, "renamed", G_CALLBACK (manager_on_note_changed_cb), manager);
-    g_signal_connect (item, "color-changed", G_CALLBACK (manager_on_item_icon_changed_cb), manager);
-  }
+  if (uid != NULL &&
+      g_hash_table_lookup (manager->priv->items, uid))
+    retval = FALSE;
 
-  else if (BIJI_IS_NOTEBOOK (item))
+
+  else
   {
-    g_signal_connect (item, "deleted", G_CALLBACK (on_item_deleted_cb), manager);
-    g_signal_connect (item , "icon-changed", G_CALLBACK (manager_on_item_icon_changed_cb), manager);
+    g_hash_table_insert (manager->priv->items,
+                         (gpointer) biji_item_get_uuid (item), item);
+
+
+    if (BIJI_IS_NOTE_OBJ (item))
+    {
+      g_signal_connect (item, "changed", G_CALLBACK (manager_on_note_changed_cb), manager);
+      g_signal_connect (item, "renamed", G_CALLBACK (manager_on_note_changed_cb), manager);
+      g_signal_connect (item, "color-changed", G_CALLBACK (manager_on_item_icon_changed_cb), manager);
+    }
+
+    else if (BIJI_IS_NOTEBOOK (item))
+    {
+      g_signal_connect (item , "icon-changed", G_CALLBACK (manager_on_item_icon_changed_cb), manager);
+    }
   }
+
+  if (retval && notify)
+    biji_manager_notify_changed (manager, BIJI_MANAGER_ITEM_ADDED, item);
+
+  return retval;
 }
 
 
+
+
 static void
 on_provider_loaded_cb (BijiProvider *provider,
                        GList *items,
@@ -340,7 +352,7 @@ on_provider_loaded_cb (BijiProvider *provider,
   {
     if (BIJI_IS_ITEM (l->data))
     {
-      _biji_manager_add_one_item (manager, l->data);
+      biji_manager_add_item (manager, l->data, FALSE);
       i++;
     }
   }
@@ -532,39 +544,6 @@ biji_manager_remove_item (BijiManager *manager, BijiItem *item)
   return retval;
 }
 
-gboolean
-biji_manager_add_item (BijiManager *manager, BijiItem *item, gboolean notify)
-{
-  g_return_val_if_fail (BIJI_IS_MANAGER (manager), FALSE);
-  g_return_val_if_fail (BIJI_IS_ITEM (item), FALSE);
-
-  const gchar *uid;
-  gboolean retval = TRUE;
-
-  uid = biji_item_get_uuid (item);
-
-  if (uid != NULL &&
-      g_hash_table_lookup (manager->priv->items, uid))
-    retval = FALSE;
-
-  else if (BIJI_IS_NOTE_OBJ (item))
-    _biji_manager_add_one_item (manager, item);
-
-  else if (BIJI_IS_NOTEBOOK (item))
-  {
-    g_hash_table_insert (manager->priv->items,
-                         (gpointer) biji_item_get_uuid (item),
-                         item);
-
-    g_signal_connect (item, "deleted",
-                      G_CALLBACK (on_item_deleted_cb), manager);
-  }
-
-  if (retval && notify)
-    biji_manager_notify_changed (manager, BIJI_MANAGER_ITEM_ADDED, item);
-
-  return retval;
-}
 
 GList *
 biji_manager_get_items (BijiManager *manager)


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