summaryrefslogtreecommitdiff
path: root/src/nautilus-application.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nautilus-application.c')
-rw-r--r--src/nautilus-application.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/nautilus-application.c b/src/nautilus-application.c
index 77443f5f6..108319fc6 100644
--- a/src/nautilus-application.c
+++ b/src/nautilus-application.c
@@ -39,6 +39,7 @@
#include "nautilus-window.h"
#include "nautilus-window-slot.h"
#include "nautilus-preferences-window.h"
+#include "nautilus-tag-manager.h"
#include "nautilus-directory-private.h"
#include "nautilus-file-utilities.h"
@@ -80,6 +81,11 @@ typedef struct
GHashTable *notifications;
NautilusFileUndoManager *undo_manager;
+
+ NautilusTagManager *tag_manager;
+ GCancellable *tag_manager_tags_cancellable;
+ GCancellable *tag_manager_notifier_cancellable;
+ GCancellable *tag_manager_favorite_cancellable;
} NautilusApplicationPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (NautilusApplication, nautilus_application, GTK_TYPE_APPLICATION);
@@ -612,6 +618,17 @@ nautilus_application_finalize (GObject *object)
g_clear_object (&priv->undo_manager);
+ g_clear_object (&priv->tag_manager);
+
+ g_cancellable_cancel (priv->tag_manager_tags_cancellable);
+ g_clear_object (&priv->tag_manager_tags_cancellable);
+
+ g_cancellable_cancel (priv->tag_manager_notifier_cancellable);
+ g_clear_object (&priv->tag_manager_notifier_cancellable);
+
+ g_cancellable_cancel (priv->tag_manager_favorite_cancellable);
+ g_clear_object (&priv->tag_manager_favorite_cancellable);
+
G_OBJECT_CLASS (nautilus_application_parent_class)->finalize (object);
}
@@ -1077,6 +1094,14 @@ nautilus_application_init (NautilusApplication *self)
priv->undo_manager = nautilus_file_undo_manager_new ();
+ priv->tag_manager_tags_cancellable = g_cancellable_new ();
+ priv->tag_manager_notifier_cancellable = g_cancellable_new ();
+ priv->tag_manager_favorite_cancellable = g_cancellable_new ();
+
+ priv->tag_manager = nautilus_tag_manager_new (priv->tag_manager_tags_cancellable,
+ priv->tag_manager_notifier_cancellable,
+ priv->tag_manager_favorite_cancellable);
+
g_application_add_main_option_entries (G_APPLICATION (self), options);
nautilus_ensure_extension_points ();