[bijiben] Trash: load trash bin at startup. Use biji_manager_get_items
- From: Pierre-Yves Luyten <pyluyten src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [bijiben] Trash: load trash bin at startup. Use biji_manager_get_items
- Date: Sun, 2 Mar 2014 22:30:43 +0000 (UTC)
commit 3cc5e10df159614282a1105a98d4754bdac9d501
Author: Pierre-Yves Luyten <py luyten fr>
Date: Sun Mar 2 22:15:17 2014 +0100
Trash: load trash bin at startup. Use biji_manager_get_items
We should not parse Trash folder everytime trash bin is visited. Load at startup and follow-up note
beeing trashed. Some work needed on this.
src/bjb-controller.c | 6 ++++--
src/libbiji/biji-manager.c | 15 +++++++++++++--
src/libbiji/provider/biji-local-provider.c | 6 ++++++
3 files changed, 23 insertions(+), 4 deletions(-)
---
diff --git a/src/bjb-controller.c b/src/bjb-controller.c
index 625efb9..0dabb63 100644
--- a/src/bjb-controller.c
+++ b/src/bjb-controller.c
@@ -857,8 +857,10 @@ bjb_controller_set_group (BjbController *self,
}
- /* Archives : ping the manager */
- biji_manager_load_archives (self->priv->manager);
+ else /* Archives */
+ {
+ bjb_controller_apply_needle (self);
+ }
}
diff --git a/src/libbiji/biji-manager.c b/src/libbiji/biji-manager.c
index 3262657..8b18c4e 100644
--- a/src/libbiji/biji-manager.c
+++ b/src/libbiji/biji-manager.c
@@ -96,7 +96,7 @@ biji_manager_init (BijiManager *self)
priv->items = g_hash_table_new_full (g_str_hash,
g_str_equal,
NULL,
- g_object_unref);
+ NULL);
priv->archives = g_hash_table_new_full (g_str_hash,
g_str_equal,
@@ -298,6 +298,12 @@ on_item_deleted_cb (BijiItem *item, BijiManager *manager)
}
+static void
+on_item_restored_cb (BijiItem *item, BijiManager *manager)
+{
+}
+
+
void
manager_on_note_changed_cb (BijiNoteObj *note, BijiManager *manager)
{
@@ -360,7 +366,10 @@ biji_manager_add_item (BijiManager *manager,
(gpointer) biji_item_get_uuid (item), item);
/* Connect */
- g_signal_connect (item, "deleted", G_CALLBACK (on_item_deleted_cb), manager);
+ g_signal_connect (item, "deleted",
+ G_CALLBACK (on_item_deleted_cb), manager);
+ g_signal_connect (item, "restored",
+ G_CALLBACK (on_item_restored_cb), manager);
if (BIJI_IS_NOTE_OBJ (item))
{
@@ -591,6 +600,8 @@ biji_manager_remove_item (BijiManager *manager, BijiItem *item)
* fully available for signal receiver. */
biji_manager_notify_changed (manager, BIJI_LIVING_ITEMS, BIJI_MANAGER_ITEM_TRASHED, to_delete);
biji_item_trash (item);
+ g_hash_table_insert (manager->priv->archives,
+ (gpointer) biji_item_get_uuid (item), item);
g_hash_table_remove (manager->priv->items, path);
retval = TRUE;
diff --git a/src/libbiji/provider/biji-local-provider.c b/src/libbiji/provider/biji-local-provider.c
index b725396..6d8ad1c 100644
--- a/src/libbiji/provider/biji-local-provider.c
+++ b/src/libbiji/provider/biji-local-provider.c
@@ -68,6 +68,8 @@ static GParamSpec *properties[BIJI_LOCAL_PROP] = { NULL, };
#define ATTRIBUTES_FOR_LOCATION "standard::content-type,standard::name"
+static void local_prov_load_archives (BijiProvider *prov);
+
static void
load_location_error (GFile *location,
GError *error)
@@ -152,6 +154,10 @@ local_provider_finish (GHashTable *notebooks,
BIJI_PROVIDER_GET_CLASS (self)->notify_loaded (BIJI_PROVIDER (self), list, helper->group);
g_list_free (list);
+
+ /* Now if we just loaded items, load the trash */
+ if (helper->group == BIJI_LIVING_ITEMS)
+ local_prov_load_archives (BIJI_PROVIDER (self));
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]