[tracker] plugins/nautilus: Code clean up



commit 3a59f1db09b1f45cbebc2b4d2a348942a6f882b1
Author: Martyn Russell <martyn lanedo com>
Date:   Mon Dec 14 14:00:59 2009 +0000

    plugins/nautilus: Code clean up
    
    - Fixed memory leaks
    - Fixed coding style
    - Removed duplicate code

 src/plugins/nautilus/tracker-tags-add-dialog.c |  125 +++++-----
 src/plugins/nautilus/tracker-tags-add-dialog.h |   23 +-
 src/plugins/nautilus/tracker-tags-extension.c  |  299 +++++++++++++---------
 src/plugins/nautilus/tracker-tags-utils.c      |   31 ++-
 src/plugins/nautilus/tracker-tags-utils.h      |   16 +-
 src/plugins/nautilus/tracker-tags-view.c       |  331 ++++++++++++------------
 src/plugins/nautilus/tracker-tags-view.h       |   26 +-
 7 files changed, 465 insertions(+), 386 deletions(-)
---
diff --git a/src/plugins/nautilus/tracker-tags-add-dialog.c b/src/plugins/nautilus/tracker-tags-add-dialog.c
index 8af3daa..e8fde40 100644
--- a/src/plugins/nautilus/tracker-tags-add-dialog.c
+++ b/src/plugins/nautilus/tracker-tags-add-dialog.c
@@ -21,43 +21,19 @@
 
 #include "tracker-tags-add-dialog.h"
 
-struct _TrackerTagsAddDialogPrivate {
-	GtkWidget      *entry;
-};
-
-G_DEFINE_TYPE (TrackerTagsAddDialog, tracker_tags_add_dialog, GTK_TYPE_DIALOG)
-
 #define TRACKER_TAGS_ADD_DIALOG_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), TRACKER_TYPE_TAGS_ADD_DIALOG, TrackerTagsAddDialogPrivate))
 
-static void
-tracker_tags_add_dialog_entry_changed_cb (GtkEditable *editable, gpointer user_data)
-{
-	GtkDialog *const add_dialog = GTK_DIALOG (user_data);
-	GtkEntry *const entry = GTK_ENTRY (editable);
-
-	if (0 == gtk_entry_get_text_length (entry))
-		gtk_dialog_set_response_sensitive (add_dialog, GTK_RESPONSE_OK, FALSE);
-	else
-		gtk_dialog_set_response_sensitive (add_dialog, GTK_RESPONSE_OK, TRUE);
-}
-
-void
-tracker_tags_add_dialog_register_type (GTypeModule *module)
-{
-	tracker_tags_add_dialog_get_type ();
-}
+struct _TrackerTagsAddDialogPrivate {
+	GtkWidget *entry;
+};
 
-static void
-tracker_tags_add_dialog_finalize (GObject *object)
-{
-	G_OBJECT_CLASS (tracker_tags_add_dialog_parent_class)->finalize (object);
-}
+static void dialog_finalize         (GObject     *object);
+static void dialog_response         (GtkDialog   *dialog,
+                                     gint         response_id);
+static void dialog_entry_changed_cb (GtkEditable *editable,
+                                     gpointer     user_data);
 
-static void
-tracker_tags_add_dialog_response (GtkDialog *dialog, gint response_id)
-{
-	gtk_widget_destroy (GTK_WIDGET (dialog));
-}
+G_DEFINE_TYPE (TrackerTagsAddDialog, tracker_tags_add_dialog, GTK_TYPE_DIALOG)
 
 static void
 tracker_tags_add_dialog_class_init (TrackerTagsAddDialogClass *klass)
@@ -65,42 +41,40 @@ tracker_tags_add_dialog_class_init (TrackerTagsAddDialogClass *klass)
 	GObjectClass *const gobject_class = G_OBJECT_CLASS (klass);
 	GtkDialogClass *const dialog_class = GTK_DIALOG_CLASS (klass);
 
-	gobject_class->finalize = tracker_tags_add_dialog_finalize;
-	dialog_class->response = tracker_tags_add_dialog_response;
+	gobject_class->finalize = dialog_finalize;
+	dialog_class->response = dialog_response;
 
 	g_type_class_add_private (gobject_class, sizeof (TrackerTagsAddDialogPrivate));
 
-	tracker_tags_add_dialog_parent_class = g_type_class_peek_parent (klass);
+	/* tracker_tags_add_dialog_parent_class = g_type_class_peek_parent (klass); */
 }
 
 static void
-tracker_tags_add_dialog_init (TrackerTagsAddDialog *add_dialog)
+tracker_tags_add_dialog_init (TrackerTagsAddDialog *dialog)
 {
-	TrackerTagsAddDialogPrivate *const priv = TRACKER_TAGS_ADD_DIALOG_GET_PRIVATE (add_dialog);
 	GtkWidget *action_area;
-	GtkWidget *dialog;
 	GtkWidget *hbox;
 	GtkWidget *label;
 	GtkWidget *vbox;
 
-	add_dialog->priv = priv;
+	dialog->private = TRACKER_TAGS_ADD_DIALOG_GET_PRIVATE (dialog);
 
-	gtk_container_set_border_width (GTK_CONTAINER (add_dialog), 5);
-	gtk_window_set_destroy_with_parent (GTK_WINDOW (add_dialog), TRUE);
-	gtk_window_set_modal (GTK_WINDOW (add_dialog), TRUE);
-	gtk_window_set_title (GTK_WINDOW (add_dialog), N_("Add Tag"));
-	gtk_window_set_resizable (GTK_WINDOW (add_dialog), FALSE);
-	gtk_dialog_set_has_separator (GTK_DIALOG (add_dialog), FALSE);
-	gtk_dialog_add_button (GTK_DIALOG (add_dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
-	gtk_dialog_add_button (GTK_DIALOG (add_dialog), GTK_STOCK_OK, GTK_RESPONSE_OK);
-	gtk_dialog_set_default_response (GTK_DIALOG (add_dialog), GTK_RESPONSE_OK);
-	gtk_dialog_set_response_sensitive (GTK_DIALOG (add_dialog), GTK_RESPONSE_OK, FALSE);
+	gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
+	gtk_window_set_destroy_with_parent (GTK_WINDOW (dialog), TRUE);
+	gtk_window_set_modal (GTK_WINDOW (dialog), TRUE);
+	gtk_window_set_title (GTK_WINDOW (dialog), N_("Add Tag"));
+	gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
+	gtk_dialog_set_has_separator (GTK_DIALOG (dialog), FALSE);
+	gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL);
+	gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_OK, GTK_RESPONSE_OK);
+	gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK);
+	gtk_dialog_set_response_sensitive (GTK_DIALOG (dialog), GTK_RESPONSE_OK, FALSE);
 
-	action_area = gtk_dialog_get_action_area (GTK_DIALOG (add_dialog));
+	action_area = gtk_dialog_get_action_area (GTK_DIALOG (dialog));
 	gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
 	gtk_box_set_spacing (GTK_BOX (action_area), 6);
 
-	vbox = gtk_dialog_get_content_area (GTK_DIALOG (add_dialog));
+	vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 	gtk_box_set_spacing (GTK_BOX (vbox), 2);
 
 	hbox = gtk_hbox_new (FALSE, 12);
@@ -110,16 +84,49 @@ tracker_tags_add_dialog_init (TrackerTagsAddDialog *add_dialog)
 	gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
 	gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
 
-	add_dialog->priv->entry = gtk_entry_new ();
-	gtk_box_pack_start (GTK_BOX (hbox), add_dialog->priv->entry, TRUE, TRUE, 0);
-	g_signal_connect (add_dialog->priv->entry,
-                          "changed",
-                          G_CALLBACK (tracker_tags_add_dialog_entry_changed_cb),
-                          add_dialog);
+	dialog->private->entry = gtk_entry_new ();
+	gtk_entry_set_activates_default (GTK_ENTRY (dialog->private->entry), TRUE);
+	gtk_box_pack_start (GTK_BOX (hbox), dialog->private->entry, TRUE, TRUE, 0);
+	g_signal_connect (dialog->private->entry, "changed",
+                          G_CALLBACK (dialog_entry_changed_cb),
+                          dialog);
 
 	gtk_widget_show_all (vbox);
 }
 
+static void
+dialog_finalize (GObject *object)
+{
+	G_OBJECT_CLASS (tracker_tags_add_dialog_parent_class)->finalize (object);
+}
+
+static void
+dialog_response (GtkDialog *dialog,
+                 gint       response_id)
+{
+	gtk_widget_destroy (GTK_WIDGET (dialog));
+}
+
+static void
+dialog_entry_changed_cb (GtkEditable *editable,
+                         gpointer     user_data)
+{
+	GtkDialog *dialog = GTK_DIALOG (user_data);
+	GtkEntry *entry = GTK_ENTRY (editable);
+
+	if (gtk_entry_get_text_length (entry) < 1) {
+		gtk_dialog_set_response_sensitive (dialog, GTK_RESPONSE_OK, FALSE);
+	} else {
+		gtk_dialog_set_response_sensitive (dialog, GTK_RESPONSE_OK, TRUE);
+	}
+}
+
+void
+tracker_tags_add_dialog_register_type (GTypeModule *module)
+{
+	tracker_tags_add_dialog_get_type ();
+}
+
 GtkWidget *
 tracker_tags_add_dialog_new (void)
 {
@@ -129,5 +136,5 @@ tracker_tags_add_dialog_new (void)
 const gchar *
 tracker_tags_add_dialog_get_text (TrackerTagsAddDialog *add_dialog)
 {
-	return gtk_entry_get_text (GTK_ENTRY (add_dialog->priv->entry));
+	return gtk_entry_get_text (GTK_ENTRY (add_dialog->private->entry));
 }
diff --git a/src/plugins/nautilus/tracker-tags-add-dialog.h b/src/plugins/nautilus/tracker-tags-add-dialog.h
index 2743401..1d76018 100644
--- a/src/plugins/nautilus/tracker-tags-add-dialog.h
+++ b/src/plugins/nautilus/tracker-tags-add-dialog.h
@@ -17,11 +17,13 @@
  *
  */
 
-#ifndef TRACKER_TAGS_ADD_DIALOG_H
-#define TRACKER_TAGS_ADD_DIALOG_H
+#ifndef __TRACKER_TAGS_ADD_DIALOG_H__
+#define __TRACKER_TAGS_ADD_DIALOG_H__
 
 #include <gtk/gtk.h>
 
+G_BEGIN_DECLS
+
 #define TRACKER_TYPE_TAGS_ADD_DIALOG (tracker_tags_add_dialog_get_type ())
 #define TRACKER_TAGS_ADD_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_TYPE_TAGS_ADD_DIALOG, TrackerTagsAddDialog))
 #define TRACKER_TAGS_ADD_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_TYPE_TAGS_ADD_DIALOG, TrackerTagsAddDialogClass))
@@ -29,23 +31,24 @@
 #define TRACKER_IS_TAGS_ADD_DIALOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_TYPE_TAGS_ADD_DIALOG))
 
 typedef struct _TrackerTagsAddDialogPrivate    TrackerTagsAddDialogPrivate;
-
 typedef struct _TrackerTagsAddDialog           TrackerTagsAddDialog;
 typedef struct _TrackerTagsAddDialogClass      TrackerTagsAddDialogClass;
 
 struct _TrackerTagsAddDialog {
-	GtkDialog                   parent;
-	TrackerTagsAddDialogPrivate *priv;
+	GtkDialog parent;
+	TrackerTagsAddDialogPrivate *private;
 };
 
 struct _TrackerTagsAddDialogClass {
 	GtkDialogClass parent;
 };
 
-GType   tracker_tags_add_dialog_get_type        (void);
-void    tracker_tags_add_dialog_register_type   (GTypeModule *module);
+GType        tracker_tags_add_dialog_get_type      (void);
+void         tracker_tags_add_dialog_register_type (GTypeModule          *module);
+
+GtkWidget   *tracker_tags_add_dialog_new           (void);
+const gchar *tracker_tags_add_dialog_get_text      (TrackerTagsAddDialog *add_dialog);
 
-GtkWidget   *tracker_tags_add_dialog_new          (void);
-const gchar *tracker_tags_add_dialog_get_text     (TrackerTagsAddDialog *add_dialog);
+G_END_DECLS
 
-#endif /* TRACKER_TAGS_ADD_DIALOG_H */
+#endif /* __TRACKER_TAGS_ADD_DIALOG_H__ */
diff --git a/src/plugins/nautilus/tracker-tags-extension.c b/src/plugins/nautilus/tracker-tags-extension.c
index d55eec9..6b639f9 100644
--- a/src/plugins/nautilus/tracker-tags-extension.c
+++ b/src/plugins/nautilus/tracker-tags-extension.c
@@ -1,5 +1,6 @@
 /*
- * Copyright (C) 2009  Debarshi Ray <debarshir src gnome org>
+ * Copyright (C) 2009 Debarshi Ray <debarshir src gnome org>
+ * Copyright (C) 2009 Martyn Russell <martyn lanedo com>
  *
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public
@@ -17,10 +18,14 @@
  *
  */
 
+#include "config.h"
+
 #include <gtk/gtk.h>
+#include <glib/gi18n.h>
 
 #include <libnautilus-extension/nautilus-menu-provider.h>
 #include <libnautilus-extension/nautilus-property-page-provider.h>
+
 #include <libtracker-client/tracker.h>
 
 #include "tracker-tags-add-dialog.h"
@@ -30,17 +35,18 @@
 #define TRACKER_TYPE_TAGS_EXTENSION (tracker_tags_extension_get_type ())
 #define TRACKER_TAGS_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_TYPE_TAGS_EXTENSION, TrackerTagsExtension))
 #define TRACKER_TAGS_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_TYPE_TAGS_EXTENSION, TrackerTagsExtensionClass))
+#define TRACKER_TAGS_EXTENSION_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), TRACKER_TYPE_TAGS_EXTENSION, TrackerTagsExtensionPrivate))
+
 #define TRACKER_IS_TAGS_EXTENSION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_TYPE_TAGS_EXTENSION))
 #define TRACKER_IS_TAGS_EXTENSION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_TYPE_TAGS_EXTENSION))
 
-typedef struct _TrackerTagsExtensionPrivate    TrackerTagsExtensionPrivate;
-
-typedef struct _TrackerTagsExtension           TrackerTagsExtension;
-typedef struct _TrackerTagsExtensionClass      TrackerTagsExtensionClass;
+typedef struct _TrackerTagsExtensionPrivate TrackerTagsExtensionPrivate;
+typedef struct _TrackerTagsExtension TrackerTagsExtension;
+typedef struct _TrackerTagsExtensionClass TrackerTagsExtensionClass;
 
 struct _TrackerTagsExtension {
-	GObject                     parent;
-	TrackerTagsExtensionPrivate *priv;
+	GObject parent;
+	TrackerTagsExtensionPrivate *private;
 };
 
 struct _TrackerTagsExtensionClass {
@@ -51,8 +57,18 @@ struct _TrackerTagsExtensionPrivate {
 	TrackerClient *tracker_client;
 };
 
-static void tracker_tags_extension_menu_provider_iface_init (NautilusMenuProviderIface *iface);
-static void tracker_tags_extension_property_page_provider_iface_init (NautilusPropertyPageProviderIface *iface);
+typedef void (*MenuDataFreeFunc)(gpointer data);
+
+typedef struct {
+	gpointer data;
+	gboolean free_data;
+	GtkWidget *widget;
+} MenuData;
+
+static void  tracker_tags_extension_menu_provider_iface_init          (NautilusMenuProviderIface         *iface);
+static void  tracker_tags_extension_property_page_provider_iface_init (NautilusPropertyPageProviderIface *iface);
+static GType tracker_tags_extension_get_type                          (void);
+static void  tracker_tags_extension_finalize                          (GObject                           *object);
 
 G_DEFINE_DYNAMIC_TYPE_EXTENDED (TrackerTagsExtension, tracker_tags_extension, G_TYPE_OBJECT, 0,
                                 G_IMPLEMENT_INTERFACE (NAUTILUS_TYPE_MENU_PROVIDER,
@@ -60,15 +76,45 @@ G_DEFINE_DYNAMIC_TYPE_EXTENDED (TrackerTagsExtension, tracker_tags_extension, G_
                                 G_IMPLEMENT_INTERFACE (NAUTILUS_TYPE_PROPERTY_PAGE_PROVIDER,
                                                        tracker_tags_extension_property_page_provider_iface_init));
 
-#define TRACKER_TAGS_EXTENSION_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), TRACKER_TYPE_TAGS_EXTENSION, TrackerTagsExtensionPrivate))
+static MenuData *
+menu_data_new (gpointer   data,
+               gboolean   free_data,
+               GtkWidget *window)
+{
+	MenuData *md;
+
+	md = g_slice_new (MenuData);
+
+	md->data = data;
+	md->free_data = free_data;
+	md->widget = window;
+
+	return md;
+}
+
+static void
+menu_data_free (MenuData *md)
+{
+	if (md->free_data) {
+		g_list_free (md->data);
+	}
+
+	g_slice_free (MenuData, md);
+}
+
+static void
+menu_data_destroy (gpointer data,
+                   GClosure *closure)
+{
+	menu_data_free (data);
+}
 
 static void
-tracker_tags_extension_update_finished (GError *error, gpointer user_data)
+sparql_update_finished (GError   *error, 
+                        gpointer  user_data)
 {
-	if (NULL != error)
-	{
-		if (NULL != error->message)
-		{
+	if (error != NULL) {
+		if (error->message != NULL) {
 			GtkWidget *error_dialog;
 
 			error_dialog = gtk_message_dialog_new (NULL,
@@ -77,36 +123,39 @@ tracker_tags_extension_update_finished (GError *error, gpointer user_data)
                                                                GTK_BUTTONS_OK,
                                                                "%s",
                                                                error->message);
-			g_signal_connect (error_dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
+			g_signal_connect (error_dialog, "response", 
+			                  G_CALLBACK (gtk_widget_destroy), 
+			                  NULL);
 			gtk_dialog_run (GTK_DIALOG (error_dialog));
 		}
+
 		g_error_free (error);
 	}
 }
 
 static void
-tracker_tags_extension_add_dialog_response_cb (GtkDialog *dialog, gint response_id, gpointer user_data)
+dialog_response_cb (GtkDialog *dialog, 
+                    gint       response_id, 
+                    gpointer   user_data)
 {
-	TrackerTagsExtension *const extension = TRACKER_TAGS_EXTENSION (user_data);
+	TrackerTagsExtension *extension = TRACKER_TAGS_EXTENSION (user_data);
 
-	switch (response_id)
-	{
+	switch (response_id) {
 	case GTK_RESPONSE_CANCEL:
 	case GTK_RESPONSE_DELETE_EVENT:
 		break;
 
-	case GTK_RESPONSE_OK:
-	{
-		const gchar *query;
+	case GTK_RESPONSE_OK: {
+		gchar *query;
 		const gchar *tag_label;
 
 		tag_label = tracker_tags_add_dialog_get_text (TRACKER_TAGS_ADD_DIALOG (dialog));
-		query = tracker_tags_utils_add_query (tag_label);
-		tracker_resources_sparql_update_async (extension->priv->tracker_client,
+		query = tracker_tags_add_query (tag_label);
+		tracker_resources_sparql_update_async (extension->private->tracker_client,
                                                        query,
-                                                       tracker_tags_extension_update_finished,
+                                                       sparql_update_finished,
                                                        NULL);
-		g_free ((gpointer) query);
+		g_free (query);
 		break;
 	}
 
@@ -117,189 +166,199 @@ tracker_tags_extension_add_dialog_response_cb (GtkDialog *dialog, gint response_
 }
 
 static void
-tracker_tags_extension_add_activate_cb (NautilusMenuItem *menu_item, gpointer user_data)
+menu_create_tag_activate_cb (NautilusMenuItem *menu_item, 
+                             gpointer          user_data)
 {
-	void **const arg = user_data;
-	TrackerTagsExtension *const extension = TRACKER_TAGS_EXTENSION (arg[0]);
-	GtkWindow *const window = GTK_WINDOW (arg[1]);
-	GtkWidget *add_dialog;
-
-	/* g_free (arg); */
-
-	add_dialog = tracker_tags_add_dialog_new ();
-	gtk_window_set_transient_for (GTK_WINDOW (add_dialog), window);
-	g_signal_connect (add_dialog, "response", G_CALLBACK (tracker_tags_extension_add_dialog_response_cb), extension);
-	gtk_widget_show_all (add_dialog);
+	MenuData *md = user_data;
+	TrackerTagsExtension *extension = TRACKER_TAGS_EXTENSION (md->data);
+	GtkWindow *window = GTK_WINDOW (md->widget);
+	GtkWidget *dialog;
+
+	dialog = tracker_tags_add_dialog_new ();
+	gtk_window_set_transient_for (GTK_WINDOW (dialog), window);
+	g_signal_connect (dialog, "response", 
+	                  G_CALLBACK (dialog_response_cb), 
+	                  extension);
+	gtk_widget_show_all (dialog);
 }
 
 static void
-tracker_tags_extension_manage_activate_cb (NautilusMenuItem *menu_item, gpointer user_data)
+menu_manage_tags_activate_cb (NautilusMenuItem *menu_item, 
+                              gpointer          user_data)
 {
-	void **const arg = user_data;
-	GList *const files = arg[0];
-	GtkWindow *const window = GTK_WINDOW (arg[1]);
+	MenuData *md = user_data;
+	GList *files = md->data;
+	GtkWindow *window = GTK_WINDOW (md->widget);
 	GtkWidget *action_area;
-	GtkWidget *manage_dialog;
+	GtkWidget *dialog;
 	GtkWidget *vbox;
 	GtkWidget *view;
 
-	/* g_free (arg); */
-
-	manage_dialog = gtk_dialog_new_with_buttons (N_("Manage Tags"),
-                                                     window,
-                                                     GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
-                                                     GTK_STOCK_CLOSE,
-                                                     NULL);
-	gtk_container_set_border_width (GTK_CONTAINER (manage_dialog), 5);
-	gtk_window_set_default_size (GTK_WINDOW (manage_dialog), 250, 375);
-	gtk_window_set_resizable (GTK_WINDOW (manage_dialog), TRUE);
-	gtk_window_set_transient_for (GTK_WINDOW (manage_dialog), window);
-	g_signal_connect (manage_dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
-
-	action_area = gtk_dialog_get_action_area (GTK_DIALOG (manage_dialog));
+	dialog = gtk_dialog_new_with_buttons (N_("Manage Tags"),
+	                                      window,
+	                                      GTK_DIALOG_MODAL | 
+	                                      GTK_DIALOG_DESTROY_WITH_PARENT | 
+	                                      GTK_DIALOG_NO_SEPARATOR,
+	                                      GTK_STOCK_CLOSE,
+	                                      NULL);
+	gtk_container_set_border_width (GTK_CONTAINER (dialog), 5);
+	gtk_window_set_default_size (GTK_WINDOW (dialog), 250, 375);
+	gtk_window_set_resizable (GTK_WINDOW (dialog), TRUE);
+	gtk_window_set_transient_for (GTK_WINDOW (dialog), window);
+	g_signal_connect (dialog, "response", 
+	                  G_CALLBACK (gtk_widget_destroy), 
+	                  NULL);
+
+	action_area = gtk_dialog_get_action_area (GTK_DIALOG (dialog));
 	gtk_container_set_border_width (GTK_CONTAINER (action_area), 5);
 
-	vbox = gtk_dialog_get_content_area (GTK_DIALOG (manage_dialog));
+	vbox = gtk_dialog_get_content_area (GTK_DIALOG (dialog));
 	gtk_box_set_spacing (GTK_BOX (vbox), 2);
 
 	view = tracker_tags_view_new (files);
 	gtk_box_pack_start (GTK_BOX (vbox), view, TRUE, TRUE, 0);
 
-	gtk_widget_show_all (manage_dialog);
+	gtk_widget_show_all (dialog);
 }
 
 static GList *
-tracker_tags_extension_get_background_items (NautilusMenuProvider *provider,
-                                             GtkWidget            *window,
-                                             NautilusFileInfo     *current_folder)
+extension_get_background_items (NautilusMenuProvider *provider,
+                                GtkWidget            *window,
+                                NautilusFileInfo     *current_folder)
 {
 	GList *menu_items = NULL;
 	NautilusMenuItem *menu_item;
-	void **arg;
 
-	if (NULL == current_folder)
+	if (current_folder == NULL) {
 		return NULL;
+	}
 
 	menu_item = nautilus_menu_item_new ("tracker-tags-new",
-                                            N_("Create Tag..."),
-                                            N_("Create a new tag for this desktop"),
+                                            N_("Tag..."),
+                                            N_("Tag one or more files"),
                                             NULL);
 	menu_items = g_list_append (menu_items, menu_item);
-	arg = g_new (void *, 2);
-	arg[0] = provider;
-	arg[1] = window;
-	g_signal_connect (menu_item, "activate", G_CALLBACK (tracker_tags_extension_add_activate_cb), arg);
+
+	g_signal_connect_data (menu_item, "activate", 
+	                       G_CALLBACK (menu_create_tag_activate_cb), 
+	                       menu_data_new (provider, FALSE, window),
+	                       menu_data_destroy,
+	                       G_CONNECT_AFTER);
 
 	return menu_items;
 }
 
 static GList *
-tracker_tags_extension_get_file_items (NautilusMenuProvider *provider,
-                                       GtkWidget            *window,
-                                       GList                *files)
+extension_get_file_items (NautilusMenuProvider *provider,
+                          GtkWidget            *window,
+                          GList                *files)
 {
 	GList *menu_items = NULL;
 	NautilusMenuItem *menu_item;
-	void **arg;
 
-	if (NULL == files)
+	if (files == NULL) {
 		return NULL;
+	}
 
 	menu_item = nautilus_menu_item_new ("tracker-tags-new",
-                                            N_("Create Tag..."),
-                                            N_("Create a new tag for this desktop"),
+                                            N_("Tag..."),
+                                            N_("Tag one or more files"),
                                             NULL);
 	menu_items = g_list_append (menu_items, menu_item);
-	arg = g_new (void *, 2);
-	arg[0] = provider;
-	arg[1] = window;
-	g_signal_connect (menu_item, "activate", G_CALLBACK (tracker_tags_extension_add_activate_cb), arg);
+
+	g_signal_connect_data (menu_item, "activate", 
+	                       G_CALLBACK (menu_create_tag_activate_cb), 
+	                       menu_data_new (provider, FALSE, window),
+	                       menu_data_destroy,
+	                       G_CONNECT_AFTER);
 
 	menu_item = nautilus_menu_item_new ("tracker-tags-manage",
-                                            N_("Manage Tags..."),
-                                            N_("Change the tags attached to the selected objects"),
+                                            N_("Edit Tags..."),
+                                            N_("Manage all tags"),
                                             NULL);
 	menu_items = g_list_append (menu_items, menu_item);
-	arg = g_new (void *, 2);
-	arg[0] = g_list_copy (files);
-	arg[1] = window;
-	g_signal_connect (menu_item, "activate", G_CALLBACK (tracker_tags_extension_manage_activate_cb), arg);
+
+	g_signal_connect_data (menu_item, "activate", 
+	                       G_CALLBACK (menu_manage_tags_activate_cb), 
+	                       menu_data_new (g_list_copy (files), TRUE, window),
+	                       menu_data_destroy,
+	                       G_CONNECT_AFTER);
 
 	return menu_items;
 }
 
 static GList *
-tracker_tags_extension_get_pages (NautilusPropertyPageProvider *provider,
-                                  GList                        *files)
+extension_get_toolbar_items (NautilusMenuProvider *provider,
+                             GtkWidget            *window,
+                             NautilusFileInfo     *current_folder)
+{
+	return NULL;
+}
+
+static GList *
+extension_get_pages (NautilusPropertyPageProvider *provider,
+                     GList                        *files)
 {
 	GList *property_pages = NULL;
 	GtkWidget *label;
 	GtkWidget *view;
 	NautilusPropertyPage *property_page;
 
-	if (NULL == files)
+	if (files == NULL) {
 		return NULL;
+	}
 
 	label = gtk_label_new ("Tags");
 	view = tracker_tags_view_new (files);
 	property_page = nautilus_property_page_new ("tracker-tags", label, view);
-
 	property_pages = g_list_prepend (property_pages, property_page);
-	return property_pages;
-}
 
-static GList *
-tracker_tags_extension_get_toolbar_items (NautilusMenuProvider *provider,
-                                          GtkWidget            *window,
-                                          NautilusFileInfo     *current_folder)
-{
-	return NULL;
+	return property_pages;
 }
 
 static void
 tracker_tags_extension_menu_provider_iface_init (NautilusMenuProviderIface *iface)
 {
-        iface->get_file_items = tracker_tags_extension_get_file_items;
-        iface->get_background_items = tracker_tags_extension_get_background_items;
-        iface->get_toolbar_items = tracker_tags_extension_get_toolbar_items;
+        iface->get_file_items = extension_get_file_items;
+        iface->get_background_items = extension_get_background_items;
+        iface->get_toolbar_items = extension_get_toolbar_items;
 }
 
 static void
 tracker_tags_extension_property_page_provider_iface_init (NautilusPropertyPageProviderIface *iface)
 {
-	iface->get_pages = tracker_tags_extension_get_pages;
+	iface->get_pages = extension_get_pages;
 }
 
 static void
-tracker_tags_extension_class_finalize (TrackerTagsExtensionClass *klass)
+tracker_tags_extension_class_init (TrackerTagsExtensionClass *klass)
 {
+	GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+	gobject_class->finalize = tracker_tags_extension_finalize;
+	g_type_class_add_private (gobject_class, sizeof (TrackerTagsExtensionPrivate));
 }
 
 static void
-tracker_tags_extension_finalize (GObject *object)
+tracker_tags_extension_class_finalize (TrackerTagsExtensionClass *klass)
 {
-	TrackerTagsExtension *const extension = TRACKER_TAGS_EXTENSION (object);
-
-	tracker_disconnect (extension->priv->tracker_client);
-	G_OBJECT_CLASS (tracker_tags_extension_parent_class)->finalize (object);
 }
 
 static void
-tracker_tags_extension_class_init (TrackerTagsExtensionClass *klass)
+tracker_tags_extension_init (TrackerTagsExtension *self)
 {
-	GObjectClass *const gobject_class = G_OBJECT_CLASS (klass);
-
-	gobject_class->finalize = tracker_tags_extension_finalize;
-	g_type_class_add_private (gobject_class, sizeof (TrackerTagsExtensionPrivate));
+	self->private = TRACKER_TAGS_EXTENSION_GET_PRIVATE (self);
+	self->private->tracker_client = tracker_connect (TRUE, G_MAXINT);
 }
 
 static void
-tracker_tags_extension_init (TrackerTagsExtension *self)
+tracker_tags_extension_finalize (GObject *object)
 {
-	TrackerTagsExtensionPrivate *const priv = TRACKER_TAGS_EXTENSION_GET_PRIVATE (self);
+	TrackerTagsExtension *extension = TRACKER_TAGS_EXTENSION (object);
 
-	self->priv = priv;
-	self->priv->tracker_client = tracker_connect (TRUE, G_MAXINT);
+	tracker_disconnect (extension->private->tracker_client);
+
+	G_OBJECT_CLASS (tracker_tags_extension_parent_class)->finalize (object);
 }
 
 void
@@ -316,7 +375,7 @@ nautilus_module_shutdown (void)
 
 void
 nautilus_module_list_types (const GType **types,
-                            int          *num_types)
+                            gint         *num_types)
 {
 	static GType type_list[1];
 
diff --git a/src/plugins/nautilus/tracker-tags-utils.c b/src/plugins/nautilus/tracker-tags-utils.c
index 916a57c..25a780c 100644
--- a/src/plugins/nautilus/tracker-tags-utils.c
+++ b/src/plugins/nautilus/tracker-tags-utils.c
@@ -17,12 +17,15 @@
  *
  */
 
+#include "config.h"
+
 #include <string.h>
+
 #include "tracker-tags-utils.h"
 
 /* Copied from src/tracker-utils/tracker-tags.c */
-static const gchar *
-get_escaped_sparql_string (const gchar *str)
+gchar *
+tracker_tags_escape_sparql_string (const gchar *str)
 {
 	GString *sparql;
 
@@ -60,13 +63,13 @@ get_escaped_sparql_string (const gchar *str)
 	return g_string_free (sparql, FALSE);
 }
 
-const gchar *
-tracker_tags_utils_add_query (const gchar *tag_label)
+gchar *
+tracker_tags_add_query (const gchar *tag_label)
 {
-	const gchar *query;
-	const gchar *tag_label_escaped;
+	gchar *query;
+	gchar *tag_label_escaped;
 
-	tag_label_escaped = get_escaped_sparql_string (tag_label);
+	tag_label_escaped = tracker_tags_escape_sparql_string (tag_label);
 	query = g_strdup_printf ("INSERT { "
 				 "  _:tag a nao:Tag ;"
 				 "  nao:prefLabel %s ."
@@ -79,18 +82,18 @@ tracker_tags_utils_add_query (const gchar *tag_label)
 				 "  FILTER (!bound(?tag)) "
 				 "}",
 				 tag_label_escaped, tag_label_escaped);
+	g_free (tag_label_escaped);
 
-	g_free ((gpointer) tag_label_escaped);
 	return query;
 }
 
-const gchar *
-tracker_tags_utils_remove_query (const gchar *tag_label)
+gchar *
+tracker_tags_remove_query (const gchar *tag_label)
 {
-	const gchar *query;
-	const gchar *tag_label_escaped;
+	gchar *query;
+	gchar *tag_label_escaped;
 
-	tag_label_escaped = get_escaped_sparql_string (tag_label);
+	tag_label_escaped = tracker_tags_escape_sparql_string (tag_label);
 	query = g_strdup_printf ("DELETE { "
 				 "  ?tag a nao:Tag "
 				 "} "
@@ -98,7 +101,7 @@ tracker_tags_utils_remove_query (const gchar *tag_label)
 				 "  ?tag nao:prefLabel %s "
 				 "}",
 				 tag_label_escaped);
+	g_free (tag_label_escaped);
 
-	g_free ((gpointer) tag_label_escaped);
 	return query;
 }
diff --git a/src/plugins/nautilus/tracker-tags-utils.h b/src/plugins/nautilus/tracker-tags-utils.h
index 090d1ee..4d12113 100644
--- a/src/plugins/nautilus/tracker-tags-utils.h
+++ b/src/plugins/nautilus/tracker-tags-utils.h
@@ -17,12 +17,18 @@
  *
  */
 
-#ifndef TRACKER_TAGS_UTILS_H
-#define TRACKER_TAGS_UTILS_H
+#ifndef __TRACKER_TAGS_UTILS_H__
+#define __TRACKER_TAGS_UTILS_H__
 
 #include <glib.h>
 
-const gchar     *tracker_tags_utils_add_query    (const gchar *tag_label);
-const gchar     *tracker_tags_utils_remove_query (const gchar *tag_label);
+G_BEGIN_DECLS
 
-#endif /* TRACKER_TAGS_UTILS_H */
+gchar *tracker_tags_escape_sparql_string (const gchar *str);
+
+gchar *tracker_tags_add_query            (const gchar *tag_label);
+gchar *tracker_tags_remove_query         (const gchar *tag_label);
+
+G_END_DECLS
+
+#endif /* __TRACKER_TAGS_UTILS_H__ */
diff --git a/src/plugins/nautilus/tracker-tags-view.c b/src/plugins/nautilus/tracker-tags-view.c
index a8455d4..f832dcf 100644
--- a/src/plugins/nautilus/tracker-tags-view.c
+++ b/src/plugins/nautilus/tracker-tags-view.c
@@ -17,6 +17,8 @@
  *
  */
 
+#include "config.h"
+
 #include <string.h>
 
 #include <libnautilus-extension/nautilus-file-info.h>
@@ -26,72 +28,30 @@
 #include "tracker-tags-utils.h"
 #include "tracker-tags-view.h"
 
-enum
-{
+#define TRACKER_TAGS_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), TRACKER_TYPE_TAGS_VIEW, TrackerTagsViewPrivate))
+
+struct _TrackerTagsViewPrivate {
+	TrackerClient *tracker_client;
+	GList *files;
+	GtkListStore *list_store;
+	GtkWidget *remove_button;
+	gchar *selected_tag_label;
+};
+
+enum {
 	COLUMN_SELECTED,
 	COLUMN_TAG_NAME,
 	N_COLUMNS
 };
 
-enum
-{
+enum {
 	SELECTED_INCONSISTENT = -1,
 	SELECTED_FALSE = 0,
 	SELECTED_TRUE
 };
 
-struct _TrackerTagsViewPrivate {
-	TrackerClient   *tracker_client;
-	GList           *files;
-	GtkListStore    *list_store;
-	GtkWidget       *remove_button;
-	gchar           *selected_tag_label;
-};
-
 G_DEFINE_TYPE (TrackerTagsView, tracker_tags_view, GTK_TYPE_VBOX);
 
-#define TRACKER_TAGS_VIEW_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE((obj), TRACKER_TYPE_TAGS_VIEW, TrackerTagsViewPrivate))
-
-/* Copied from src/tracker-utils/tracker-tags.c */
-static gchar *
-get_escaped_sparql_string (const gchar *str)
-{
-	GString *sparql;
-
-	sparql = g_string_new ("");
-        g_string_append_c (sparql, '"');
-
-        while (*str != '\0') {
-                gsize len = strcspn (str, "\t\n\r\"\\");
-                g_string_append_len (sparql, str, len);
-                str += len;
-                switch (*str) {
-                case '\t':
-                        g_string_append (sparql, "\\t");
-                        break;
-                case '\n':
-                        g_string_append (sparql, "\\n");
-                        break;
-                case '\r':
-                        g_string_append (sparql, "\\r");
-                        break;
-                case '"':
-                        g_string_append (sparql, "\\\"");
-                        break;
-                case '\\':
-                        g_string_append (sparql, "\\\\");
-                        break;
-                default:
-                        continue;
-                }
-                str++;
-        }
-
-        g_string_append_c (sparql, '"');
-
-	return g_string_free (sparql, FALSE);
-}
-
 /* Copied from src/tracker-utils/tracker-tags.c */
 static gchar *
 get_filter_string (GStrv        files,
@@ -136,14 +96,14 @@ get_filter_string (GStrv        files,
 }
 
 static void
-tracker_tags_view_check_foreach (gpointer data, gpointer user_data)
+tracker_tags_view_check_foreach (gpointer data, 
+                                 gpointer user_data)
 {
 	const GStrv element = data;
-	TrackerTagsView *const view = TRACKER_TAGS_VIEW (user_data);
+	TrackerTagsView *view = TRACKER_TAGS_VIEW (user_data);
 	GList *node;
 
-	for (node = view->priv->files; NULL != node; node = g_list_next (node))
-	{
+	for (node = view->private->files; node; node = g_list_next (node)) {
 		gchar *uri;
 		gint cmp;
 
@@ -151,16 +111,17 @@ tracker_tags_view_check_foreach (gpointer data, gpointer user_data)
 		cmp = g_strcmp0 (element[0], uri);
 		g_free (uri);
 
-		if (0 == cmp)
-		{
-			view->priv->files = g_list_delete_link (view->priv->files, node);
+		if (cmp == 0) {
+			view->private->files = g_list_delete_link (view->private->files, node);
 			break;
 		}
 	}
 }
 
 static void
-tracker_tags_view_query_each_tag_finished (GPtrArray *result, GError *error, gpointer user_data)
+tracker_tags_view_query_each_tag_finished (GPtrArray *result, 
+                                           GError    *error, 
+                                           gpointer   user_data)
 {
 	void **const arg = user_data;
 	TrackerTagsView *const view = TRACKER_TAGS_VIEW (arg[0]);
@@ -171,56 +132,71 @@ tracker_tags_view_query_each_tag_finished (GPtrArray *result, GError *error, gpo
 
 	g_free (arg);
 
-	if (NULL != error)
-	{
-		if (NULL != error->message)
-		{
+	if (error != NULL) {
+		if (error->message != NULL) {
 			GtkWidget *error_dialog;
 
-			error_dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_NO_SEPARATOR, GTK_MESSAGE_ERROR, GTK_BUTTONS_OK, "%s", error->message);
-			g_signal_connect (error_dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
+			error_dialog = gtk_message_dialog_new (NULL, 
+			                                       GTK_DIALOG_NO_SEPARATOR, 
+			                                       GTK_MESSAGE_ERROR, 
+			                                       GTK_BUTTONS_OK, 
+			                                       "%s", 
+			                                       error->message);
+			g_signal_connect (error_dialog, "response", 
+			                  G_CALLBACK (gtk_widget_destroy), NULL);
 			gtk_dialog_run (GTK_DIALOG (error_dialog));
 		}
 		g_error_free (error);
 		goto end;
 	}
 
-	files = g_list_copy (view->priv->files);
+	files = g_list_copy (view->private->files);
 
-	pre_num = g_list_length (view->priv->files);
+	pre_num = g_list_length (view->private->files);
 	g_ptr_array_foreach (result, tracker_tags_view_check_foreach, view);
 	g_ptr_array_foreach (result, (GFunc) g_strfreev, NULL);
 	g_ptr_array_free (result, TRUE);
-	post_num = g_list_length (view->priv->files);
-
-	if (pre_num == post_num)
-		gtk_list_store_set (view->priv->list_store, iter, COLUMN_SELECTED, SELECTED_FALSE, -1);
-	else if (0 == post_num)
-		gtk_list_store_set (view->priv->list_store, iter, COLUMN_SELECTED, SELECTED_TRUE, -1);
-	else
-		gtk_list_store_set (view->priv->list_store, iter, COLUMN_SELECTED, SELECTED_INCONSISTENT, -1);
+	post_num = g_list_length (view->private->files);
+
+	if (pre_num == post_num) {
+		gtk_list_store_set (view->private->list_store, iter, 
+		                    COLUMN_SELECTED, SELECTED_FALSE, 
+		                    -1);
+	} else if (post_num == 0) {
+		gtk_list_store_set (view->private->list_store, iter, 
+		                    COLUMN_SELECTED, SELECTED_TRUE, 
+		                    -1);
+	} else {
+		gtk_list_store_set (view->private->list_store, iter, 
+		                    COLUMN_SELECTED, SELECTED_INCONSISTENT, 
+		                    -1);
+	}
 
-	g_list_free (view->priv->files);
-	view->priv->files = files;
+	g_list_free (view->private->files);
+	view->private->files = files;
 
 end:
 	gtk_tree_iter_free (iter);
 }
 
 static void
-tracker_tags_view_append_foreach (gpointer data, gpointer user_data)
+tracker_tags_view_append_foreach (gpointer data, 
+                                  gpointer user_data)
 {
 	const GStrv element = data;
-	TrackerTagsView *const view = TRACKER_TAGS_VIEW (user_data);
+	TrackerTagsView *view = TRACKER_TAGS_VIEW (user_data);
 	GtkTreeIter iter;
 	gchar *query;
 	gchar *tag_escaped;
 	void **arg;
 
-	gtk_list_store_append (view->priv->list_store, &iter);
-	gtk_list_store_set (view->priv->list_store, &iter, COLUMN_SELECTED, SELECTED_FALSE, COLUMN_TAG_NAME, element[1], -1);
+	gtk_list_store_append (view->private->list_store, &iter);
+	gtk_list_store_set (view->private->list_store, &iter, 
+	                    COLUMN_SELECTED, SELECTED_FALSE, 
+	                    COLUMN_TAG_NAME, element[1], 
+	                    -1);
 
-	tag_escaped = get_escaped_sparql_string (element[0]);
+	tag_escaped = tracker_tags_escape_sparql_string (element[0]);
 	query = g_strdup_printf ("SELECT ?f "
 				 "WHERE {"
 				 "  ?f a rdfs:Resource ;"
@@ -231,7 +207,7 @@ tracker_tags_view_append_foreach (gpointer data, gpointer user_data)
 	arg = g_new (void *, 2);
 	arg[0] = view;
 	arg[1] = gtk_tree_iter_copy (&iter);
-	tracker_resources_sparql_query_async (view->priv->tracker_client,
+	tracker_resources_sparql_query_async (view->private->tracker_client,
                                               query,
                                               tracker_tags_view_query_each_tag_finished,
                                               arg);
@@ -239,14 +215,14 @@ tracker_tags_view_append_foreach (gpointer data, gpointer user_data)
 }
 
 static void
-tracker_tags_view_query_all_tags_finished (GPtrArray *result, GError *error, gpointer user_data)
+tracker_tags_view_query_all_tags_finished (GPtrArray *result, 
+                                           GError    *error, 
+                                           gpointer   user_data)
 {
-	TrackerTagsView *const view = TRACKER_TAGS_VIEW (user_data);
+	TrackerTagsView *view = TRACKER_TAGS_VIEW (user_data);
 
-	if (NULL != error)
-	{
-		if (NULL != error->message)
-		{
+	if (error != NULL) {
+		if (error->message != NULL) {
 			GtkWidget *error_dialog;
 
 			error_dialog = gtk_message_dialog_new (NULL,
@@ -255,7 +231,8 @@ tracker_tags_view_query_all_tags_finished (GPtrArray *result, GError *error, gpo
                                                                GTK_BUTTONS_OK,
                                                                "%s",
                                                                error->message);
-			g_signal_connect (error_dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
+			g_signal_connect (error_dialog, "response", 
+			                  G_CALLBACK (gtk_widget_destroy), NULL);
 			gtk_dialog_run (GTK_DIALOG (error_dialog));
 		}
 		g_error_free (error);
@@ -268,17 +245,18 @@ tracker_tags_view_query_all_tags_finished (GPtrArray *result, GError *error, gpo
 }
 
 static void
-tracker_tags_view_toggle_cell_data_func (GtkTreeViewColumn	*column,
-					 GtkCellRenderer	*cell_renderer,
-					 GtkTreeModel		*tree_model,
-					 GtkTreeIter		*iter,
-					 gpointer		user_data)
+tracker_tags_view_toggle_cell_data_func (GtkTreeViewColumn *column,
+					 GtkCellRenderer   *cell_renderer,
+					 GtkTreeModel      *tree_model,
+					 GtkTreeIter       *iter,
+					 gpointer           user_data)
 {
 	GValue inconsistent = {0};
 	gint selected;
 
 	gtk_tree_model_get (tree_model, iter, COLUMN_SELECTED, &selected, -1);
-	gtk_cell_renderer_toggle_set_active (GTK_CELL_RENDERER_TOGGLE (cell_renderer), SELECTED_TRUE == selected);
+	gtk_cell_renderer_toggle_set_active (GTK_CELL_RENDERER_TOGGLE (cell_renderer), 
+	                                     SELECTED_TRUE == selected);
 
 	g_value_init (&inconsistent, G_TYPE_BOOLEAN);
 	g_value_set_boolean (&inconsistent, SELECTED_INCONSISTENT == selected);
@@ -286,12 +264,11 @@ tracker_tags_view_toggle_cell_data_func (GtkTreeViewColumn	*column,
 }
 
 static void
-tracker_tags_view_update_finished (GError *error, gpointer user_data)
+tracker_tags_view_update_finished (GError   *error, 
+                                   gpointer  user_data)
 {
-	if (NULL != error)
-	{
-		if (NULL != error->message)
-		{
+	if (error != NULL) {
+		if (error->message != NULL) {
 			GtkWidget *error_dialog;
 
 			error_dialog = gtk_message_dialog_new (NULL,
@@ -300,36 +277,38 @@ tracker_tags_view_update_finished (GError *error, gpointer user_data)
                                                                GTK_BUTTONS_OK,
                                                                "%s",
                                                                error->message);
-			g_signal_connect (error_dialog, "response", G_CALLBACK (gtk_widget_destroy), NULL);
+			g_signal_connect (error_dialog, "response", 
+			                  G_CALLBACK (gtk_widget_destroy), NULL);
 			gtk_dialog_run (GTK_DIALOG (error_dialog));
 		}
+
 		g_error_free (error);
 	}
 }
 
 static void
-tracker_tags_view_add_dialog_response_cb (GtkDialog *dialog, gint response_id, gpointer user_data)
+tracker_tags_view_add_dialog_response_cb (GtkDialog *dialog, 
+                                          gint       response_id, 
+                                          gpointer   user_data)
 {
-	TrackerTagsView *const view = TRACKER_TAGS_VIEW (user_data);
+	TrackerTagsView *view = TRACKER_TAGS_VIEW (user_data);
 
-	switch (response_id)
-	{
+	switch (response_id) {
 	case GTK_RESPONSE_CANCEL:
 	case GTK_RESPONSE_DELETE_EVENT:
 		break;
 
-	case GTK_RESPONSE_OK:
-	{
-		const gchar *query;
+	case GTK_RESPONSE_OK: {
+		gchar *query;
 		const gchar *tag_label;
 
 		tag_label = tracker_tags_add_dialog_get_text (TRACKER_TAGS_ADD_DIALOG (dialog));
-		query = tracker_tags_utils_add_query (tag_label);
-		tracker_resources_sparql_update_async (view->priv->tracker_client,
+		query = tracker_tags_add_query (tag_label);
+		tracker_resources_sparql_update_async (view->private->tracker_client,
                                                        query,
                                                        tracker_tags_view_update_finished,
                                                        NULL);
-		g_free ((gpointer) query);
+		g_free (query);
 		break;
 	}
 
@@ -340,21 +319,26 @@ tracker_tags_view_add_dialog_response_cb (GtkDialog *dialog, gint response_id, g
 }
 
 static void
-tracker_tags_view_add_clicked_cb (GtkButton *button, gpointer user_data)
+tracker_tags_view_add_clicked_cb (GtkButton *button, 
+                                  gpointer   user_data)
 {
-	TrackerTagsView *const view = TRACKER_TAGS_VIEW (user_data);
+	TrackerTagsView *view = TRACKER_TAGS_VIEW (user_data);
 	GtkWidget *add_dialog;
 
 	add_dialog = tracker_tags_add_dialog_new ();
-	gtk_window_set_screen (GTK_WINDOW (add_dialog), gtk_widget_get_screen (GTK_WIDGET (view)));
-	g_signal_connect (add_dialog, "response", G_CALLBACK (tracker_tags_view_add_dialog_response_cb), view);
+	gtk_window_set_screen (GTK_WINDOW (add_dialog), 
+	                       gtk_widget_get_screen (GTK_WIDGET (view)));
+	g_signal_connect (add_dialog, "response", 
+	                  G_CALLBACK (tracker_tags_view_add_dialog_response_cb), 
+	                  view);
 	gtk_widget_show_all (add_dialog);
 }
 
 static void
-tracker_tags_view_copy_uri_foreach (gpointer data, gpointer user_data)
+tracker_tags_view_copy_uri_foreach (gpointer data, 
+                                    gpointer user_data)
 {
-	NautilusFileInfo *const file_info = NAUTILUS_FILE_INFO (data);
+	NautilusFileInfo *file_info = NAUTILUS_FILE_INFO (data);
 	GStrv *const arg = user_data;
 	gchar *uri;
 
@@ -364,20 +348,26 @@ tracker_tags_view_copy_uri_foreach (gpointer data, gpointer user_data)
 }
 
 static void
-tracker_tags_view_remove_clicked_cb (GtkButton *button, gpointer user_data)
+tracker_tags_view_remove_clicked_cb (GtkButton *button, 
+                                     gpointer   user_data)
 {
-	TrackerTagsView *const view = TRACKER_TAGS_VIEW (user_data);
+	TrackerTagsView *view = TRACKER_TAGS_VIEW (user_data);
 	const gchar *query;
 
-	query = tracker_tags_utils_remove_query (view->priv->selected_tag_label);
-	tracker_resources_sparql_update_async (view->priv->tracker_client, query, tracker_tags_view_update_finished, NULL);
+	query = tracker_tags_remove_query (view->private->selected_tag_label);
+	tracker_resources_sparql_update_async (view->private->tracker_client, query, 
+	                                       tracker_tags_view_update_finished, 
+	                                       NULL);
 	g_free ((gpointer) query);
 }
 
 static void
-tracker_tags_view_row_activated_cb (GtkTreeView *tree_view, GtkTreePath *path, GtkTreeViewColumn *column, gpointer user_data)
+tracker_tags_view_row_activated_cb (GtkTreeView       *tree_view, 
+                                    GtkTreePath       *path, 
+                                    GtkTreeViewColumn *column, 
+                                    gpointer           user_data)
 {
-	TrackerTagsView *const view = TRACKER_TAGS_VIEW (user_data);
+	TrackerTagsView *view = TRACKER_TAGS_VIEW (user_data);
 	GStrv files;
 	GStrv arg;
 	GtkTreeIter iter;
@@ -389,29 +379,30 @@ tracker_tags_view_row_activated_cb (GtkTreeView *tree_view, GtkTreePath *path, G
 	guint num;
 
 	tree_model = gtk_tree_view_get_model (tree_view);
-	if (FALSE == gtk_tree_model_get_iter (tree_model, &iter, path))
+
+	if (gtk_tree_model_get_iter (tree_model, &iter, path) == FALSE) {
 		return;
+	}
 
 	gtk_tree_model_get (tree_model,
                             &iter,
                             COLUMN_SELECTED,
                             &selected,
                             COLUMN_TAG_NAME,
-                            &view->priv->selected_tag_label,
+                            &view->private->selected_tag_label,
                             -1);
-	selected = (SELECTED_FALSE == selected) ? SELECTED_TRUE : SELECTED_FALSE;
-	gtk_list_store_set (view->priv->list_store, &iter, COLUMN_SELECTED, selected, -1);
+	selected = selected == SELECTED_FALSE ? SELECTED_TRUE : SELECTED_FALSE;
+	gtk_list_store_set (view->private->list_store, &iter, COLUMN_SELECTED, selected, -1);
 
-	tag_label_escaped = get_escaped_sparql_string (view->priv->selected_tag_label);
+	tag_label_escaped = tracker_tags_escape_sparql_string (view->private->selected_tag_label);
 
-	num = g_list_length (view->priv->files);
+	num = g_list_length (view->private->files);
 	arg = files = g_new0 (gchar *, num + 1);
-	g_list_foreach (view->priv->files, tracker_tags_view_copy_uri_foreach, &arg);
+	g_list_foreach (view->private->files, tracker_tags_view_copy_uri_foreach, &arg);
 	filter = get_filter_string (files, NULL);
 	g_strfreev (files);
 
-	if (TRUE == selected)
-	{
+	if (selected == TRUE) {
 		query = g_strdup_printf ("INSERT { "
 					 "  ?urn nao:hasTag ?tag "
 					 "} "
@@ -421,9 +412,7 @@ tracker_tags_view_row_activated_cb (GtkTreeView *tree_view, GtkTreePath *path, G
 					 "  %s "
 					 "}",
 					 tag_label_escaped, filter);
-	}
-	else
-	{
+	} else {
 		query = g_strdup_printf ("DELETE { "
 					 "  ?urn nao:hasTag ?tag "
 					 "} "
@@ -437,24 +426,32 @@ tracker_tags_view_row_activated_cb (GtkTreeView *tree_view, GtkTreePath *path, G
 
 	g_free (filter);
 	g_free (tag_label_escaped);
-	tracker_resources_sparql_update_async (view->priv->tracker_client, query, tracker_tags_view_update_finished, NULL);
+	tracker_resources_sparql_update_async (view->private->tracker_client, 
+	                                       query, 
+	                                       tracker_tags_view_update_finished, 
+	                                       NULL);
 	g_free (query);
 }
 
 static void
-tracker_tags_view_selection_changed_cb (GtkTreeSelection *tree_selection, gpointer *user_data)
+tracker_tags_view_selection_changed_cb (GtkTreeSelection *tree_selection, 
+                                        gpointer         *user_data)
 {
-	TrackerTagsView *const view = TRACKER_TAGS_VIEW (user_data);
+	TrackerTagsView *view = TRACKER_TAGS_VIEW (user_data);
 	GtkTreeIter iter;
 	GtkTreeModel *tree_model;
 
-	gtk_widget_set_sensitive (GTK_WIDGET (view->priv->remove_button), FALSE);
-	view->priv->selected_tag_label = NULL;
-	if (!gtk_tree_selection_get_selected (tree_selection, &tree_model, &iter))
+	gtk_widget_set_sensitive (GTK_WIDGET (view->private->remove_button), FALSE);
+	view->private->selected_tag_label = NULL;
+
+	if (!gtk_tree_selection_get_selected (tree_selection, &tree_model, &iter)) {
 		return;
+	}
 
-	gtk_tree_model_get (tree_model, &iter, COLUMN_TAG_NAME, &view->priv->selected_tag_label, -1);
-	gtk_widget_set_sensitive (GTK_WIDGET (view->priv->remove_button), TRUE);
+	gtk_tree_model_get (tree_model, &iter, 
+	                    COLUMN_TAG_NAME, &view->private->selected_tag_label, 
+	                    -1);
+	gtk_widget_set_sensitive (GTK_WIDGET (view->private->remove_button), TRUE);
 }
 
 void
@@ -466,18 +463,20 @@ tracker_tags_view_register_type (GTypeModule *module)
 static void
 tracker_tags_view_finalize (GObject *object)
 {
-	TrackerTagsView *const view = TRACKER_TAGS_VIEW (object);
+	TrackerTagsView *view = TRACKER_TAGS_VIEW (object);
+
+	tracker_disconnect (view->private->tracker_client);
+
+	g_list_foreach (view->private->files, (GFunc) g_object_unref, NULL);
+	g_list_free (view->private->files);
 
-	tracker_disconnect (view->priv->tracker_client);
-	g_list_foreach (view->priv->files, g_object_unref, NULL);
-	g_list_free (view->priv->files);
 	G_OBJECT_CLASS (tracker_tags_view_parent_class)->finalize (object);
 }
 
 static void
 tracker_tags_view_class_init (TrackerTagsViewClass *klass)
 {
-	GObjectClass *const gobject_class = G_OBJECT_CLASS (klass);
+	GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
 	gobject_class->finalize = tracker_tags_view_finalize;
 	g_type_class_add_private (gobject_class, sizeof (TrackerTagsViewPrivate));
@@ -488,7 +487,6 @@ tracker_tags_view_class_init (TrackerTagsViewClass *klass)
 static void
 tracker_tags_view_init (TrackerTagsView *view)
 {
-	TrackerTagsViewPrivate *const priv = TRACKER_TAGS_VIEW_GET_PRIVATE (view);
 	GtkCellRenderer *cell_renderer;
 	GtkTreeSelection *tree_selection;
 	GtkTreeViewColumn *column;
@@ -497,10 +495,10 @@ tracker_tags_view_init (TrackerTagsView *view)
 	GtkWidget *scrolled_window;
 	GtkWidget *tree_view;
 
-	view->priv = priv;
-	view->priv->tracker_client = tracker_connect (TRUE, G_MAXINT);
-	view->priv->files = NULL;
-	view->priv->list_store = gtk_list_store_new (N_COLUMNS, G_TYPE_INT, G_TYPE_STRING);
+	view->private = TRACKER_TAGS_VIEW_GET_PRIVATE (view);
+	view->private->tracker_client = tracker_connect (TRUE, G_MAXINT);
+	view->private->files = NULL;
+	view->private->list_store = gtk_list_store_new (N_COLUMNS, G_TYPE_INT, G_TYPE_STRING);
 
 	gtk_container_set_border_width (GTK_CONTAINER (view), 6);
 	gtk_box_set_homogeneous (GTK_BOX (view), FALSE);
@@ -528,7 +526,7 @@ tracker_tags_view_init (TrackerTagsView *view)
 	gtk_tree_view_column_add_attribute(column, cell_renderer, "text", COLUMN_TAG_NAME);
 
 	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tree_view), FALSE);
-	gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (view->priv->list_store));
+	gtk_tree_view_set_model (GTK_TREE_VIEW (tree_view), GTK_TREE_MODEL (view->private->list_store));
 
 	tree_selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (tree_view));
 	gtk_tree_selection_set_mode (tree_selection, GTK_SELECTION_SINGLE);
@@ -545,14 +543,14 @@ tracker_tags_view_init (TrackerTagsView *view)
         gtk_box_pack_start (GTK_BOX (button_box), button, FALSE, FALSE, 0);
 	g_signal_connect (button, "clicked", G_CALLBACK (tracker_tags_view_add_clicked_cb), view);
 
-	view->priv->remove_button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
-        gtk_box_pack_start (GTK_BOX (button_box), view->priv->remove_button, FALSE, FALSE, 0);
-	gtk_widget_set_sensitive (GTK_WIDGET (view->priv->remove_button), FALSE);
-	g_signal_connect (view->priv->remove_button, "clicked", G_CALLBACK (tracker_tags_view_remove_clicked_cb), view);
+	view->private->remove_button = gtk_button_new_from_stock (GTK_STOCK_REMOVE);
+        gtk_box_pack_start (GTK_BOX (button_box), view->private->remove_button, FALSE, FALSE, 0);
+	gtk_widget_set_sensitive (GTK_WIDGET (view->private->remove_button), FALSE);
+	g_signal_connect (view->private->remove_button, "clicked", G_CALLBACK (tracker_tags_view_remove_clicked_cb), view);
 
-	view->priv->selected_tag_label = NULL;
+	view->private->selected_tag_label = NULL;
 
-	tracker_resources_sparql_query_async (view->priv->tracker_client,
+	tracker_resources_sparql_query_async (view->private->tracker_client,
 					      "SELECT ?u ?t "
 					      "WHERE {"
 					      "  ?u a nao:Tag ;"
@@ -569,7 +567,8 @@ tracker_tags_view_new (GList *files)
 	TrackerTagsView *self;
 
 	self = g_object_new (TRACKER_TYPE_TAGS_VIEW, NULL);
-	g_list_foreach (files, g_object_ref, NULL);
-	self->priv->files = g_list_copy (files);
+	g_list_foreach (files, (GFunc) g_object_ref, NULL);
+	self->private->files = g_list_copy (files);
+
 	return GTK_WIDGET (self);
 }
diff --git a/src/plugins/nautilus/tracker-tags-view.h b/src/plugins/nautilus/tracker-tags-view.h
index 150bf7f..756bfda 100644
--- a/src/plugins/nautilus/tracker-tags-view.h
+++ b/src/plugins/nautilus/tracker-tags-view.h
@@ -17,34 +17,36 @@
  *
  */
 
-#ifndef TRACKER_TAGS_VIEW_H
-#define TRACKER_TAGS_VIEW_H
+#ifndef __TRACKER_TAGS_VIEW_H__
+#define __TRACKER_TAGS_VIEW_H__
 
 #include <gtk/gtk.h>
 
+G_BEGIN_DECLS
+
 #define TRACKER_TYPE_TAGS_VIEW (tracker_tags_view_get_type ())
 #define TRACKER_TAGS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TRACKER_TYPE_TAGS_VIEW, TrackerTagsView))
 #define TRACKER_TAGS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TRACKER_TYPE_TAGS_VIEW, TrackerTagsViewClass))
 #define TRACKER_IS_TAGS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TRACKER_TYPE_TAGS_VIEW))
 #define TRACKER_IS_TAGS_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TRACKER_TYPE_TAGS_VIEW))
 
-typedef struct _TrackerTagsViewPrivate  TrackerTagsViewPrivate;
-
-typedef struct _TrackerTagsView         TrackerTagsView;
-typedef struct _TrackerTagsViewClass    TrackerTagsViewClass;
+typedef struct _TrackerTagsViewPrivate TrackerTagsViewPrivate;
+typedef struct _TrackerTagsView TrackerTagsView;
+typedef struct _TrackerTagsViewClass TrackerTagsViewClass;
 
 struct _TrackerTagsView {
-	GtkVBox                parent;
-	TrackerTagsViewPrivate *priv;
+	GtkVBox parent;
+	TrackerTagsViewPrivate *private;
 };
 
 struct _TrackerTagsViewClass {
 	GtkVBoxClass parent;
 };
 
-GType   tracker_tags_view_get_type      (void);
-void    tracker_tags_view_register_type (GTypeModule *module);
+GType      tracker_tags_view_get_type      (void);
+void       tracker_tags_view_register_type (GTypeModule *module);
+GtkWidget *tracker_tags_view_new           (GList       *files);
 
-GtkWidget *tracker_tags_view_new        (GList *files);
+G_END_DECLS
 
-#endif /* TRACKER_TAGS_VIEW_H */
+#endif /* __TRACKER_TAGS_VIEW_H__ */



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