summaryrefslogtreecommitdiffstats
path: root/plugins/filebrowser/messages
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/filebrowser/messages')
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-activation.c105
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-activation.h69
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-add-filter.c162
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-add-filter.h69
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-extend-context-menu.c128
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-extend-context-menu.h70
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-get-root.c127
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-get-root.h69
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-get-view.c127
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-get-view.h69
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-id-location.c190
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-id-location.h70
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-id.c107
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-id.h69
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-set-emblem.c142
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-set-emblem.h69
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-set-markup.c143
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-set-markup.h70
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-set-root.c149
-rw-r--r--plugins/filebrowser/messages/gedit-file-browser-message-set-root.h69
-rw-r--r--plugins/filebrowser/messages/meson.build25
-rw-r--r--plugins/filebrowser/messages/messages.h16
22 files changed, 2114 insertions, 0 deletions
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-activation.c b/plugins/filebrowser/messages/gedit-file-browser-message-activation.c
new file mode 100644
index 0000000..0138e0d
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-activation.c
@@ -0,0 +1,105 @@
+
+/*
+ * gedit-file-browser-message-activation.c
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "gedit-file-browser-message-activation.h"
+
+enum
+{
+ PROP_0,
+
+ PROP_ACTIVE,
+};
+
+struct _GeditFileBrowserMessageActivationPrivate
+{
+ gboolean active;
+};
+
+G_DEFINE_TYPE_EXTENDED (GeditFileBrowserMessageActivation,
+ gedit_file_browser_message_activation,
+ GEDIT_TYPE_MESSAGE,
+ 0,
+ G_ADD_PRIVATE (GeditFileBrowserMessageActivation))
+
+static void
+gedit_file_browser_message_activation_get_property (GObject *obj,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageActivation *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_ACTIVATION (obj);
+
+ switch (prop_id)
+ {
+ case PROP_ACTIVE:
+ g_value_set_boolean (value, msg->priv->active);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_activation_set_property (GObject *obj,
+ guint prop_id,
+ GValue const *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageActivation *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_ACTIVATION (obj);
+
+ switch (prop_id)
+ {
+ case PROP_ACTIVE:
+ msg->priv->active = g_value_get_boolean (value);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_activation_class_init (GeditFileBrowserMessageActivationClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->get_property = gedit_file_browser_message_activation_get_property;
+ object_class->set_property = gedit_file_browser_message_activation_set_property;
+
+ g_object_class_install_property (object_class,
+ PROP_ACTIVE,
+ g_param_spec_boolean ("active",
+ "Active",
+ "Active",
+ FALSE,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+}
+
+static void
+gedit_file_browser_message_activation_init (GeditFileBrowserMessageActivation *message)
+{
+ message->priv = gedit_file_browser_message_activation_get_instance_private (message);
+}
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-activation.h b/plugins/filebrowser/messages/gedit-file-browser-message-activation.h
new file mode 100644
index 0000000..bd3b1ed
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-activation.h
@@ -0,0 +1,69 @@
+
+/*
+ * gedit-file-browser-message-activation.h
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GEDIT_FILE_BROWSER_MESSAGE_ACTIVATION_H
+#define GEDIT_FILE_BROWSER_MESSAGE_ACTIVATION_H
+
+#include <gedit/gedit-message.h>
+
+G_BEGIN_DECLS
+
+#define GEDIT_TYPE_FILE_BROWSER_MESSAGE_ACTIVATION (gedit_file_browser_message_activation_get_type ())
+#define GEDIT_FILE_BROWSER_MESSAGE_ACTIVATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ACTIVATION,\
+ GeditFileBrowserMessageActivation))
+#define GEDIT_FILE_BROWSER_MESSAGE_ACTIVATION_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ACTIVATION,\
+ GeditFileBrowserMessageActivation const))
+#define GEDIT_FILE_BROWSER_MESSAGE_ACTIVATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ACTIVATION,\
+ GeditFileBrowserMessageActivationClass))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_ACTIVATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ACTIVATION))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_ACTIVATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ACTIVATION))
+#define GEDIT_FILE_BROWSER_MESSAGE_ACTIVATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ACTIVATION,\
+ GeditFileBrowserMessageActivationClass))
+
+typedef struct _GeditFileBrowserMessageActivation GeditFileBrowserMessageActivation;
+typedef struct _GeditFileBrowserMessageActivationClass GeditFileBrowserMessageActivationClass;
+typedef struct _GeditFileBrowserMessageActivationPrivate GeditFileBrowserMessageActivationPrivate;
+
+struct _GeditFileBrowserMessageActivation
+{
+ GeditMessage parent;
+
+ GeditFileBrowserMessageActivationPrivate *priv;
+};
+
+struct _GeditFileBrowserMessageActivationClass
+{
+ GeditMessageClass parent_class;
+};
+
+GType gedit_file_browser_message_activation_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* GEDIT_FILE_BROWSER_MESSAGE_ACTIVATION_H */
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-add-filter.c b/plugins/filebrowser/messages/gedit-file-browser-message-add-filter.c
new file mode 100644
index 0000000..f66a32d
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-add-filter.c
@@ -0,0 +1,162 @@
+
+/*
+ * gedit-file-browser-message-add-filter.c
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "gedit-file-browser-message-add-filter.h"
+
+enum
+{
+ PROP_0,
+
+ PROP_OBJECT_PATH,
+ PROP_METHOD,
+ PROP_ID,
+};
+
+struct _GeditFileBrowserMessageAddFilterPrivate
+{
+ gchar *object_path;
+ gchar *method;
+ guint id;
+};
+
+G_DEFINE_TYPE_EXTENDED (GeditFileBrowserMessageAddFilter,
+ gedit_file_browser_message_add_filter,
+ GEDIT_TYPE_MESSAGE,
+ 0,
+ G_ADD_PRIVATE (GeditFileBrowserMessageAddFilter))
+
+static void
+gedit_file_browser_message_add_filter_finalize (GObject *obj)
+{
+ GeditFileBrowserMessageAddFilter *msg = GEDIT_FILE_BROWSER_MESSAGE_ADD_FILTER (obj);
+
+ g_free (msg->priv->object_path);
+ g_free (msg->priv->method);
+
+ G_OBJECT_CLASS (gedit_file_browser_message_add_filter_parent_class)->finalize (obj);
+}
+
+static void
+gedit_file_browser_message_add_filter_get_property (GObject *obj,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageAddFilter *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_ADD_FILTER (obj);
+
+ switch (prop_id)
+ {
+ case PROP_OBJECT_PATH:
+ g_value_set_string (value, msg->priv->object_path);
+ break;
+ case PROP_METHOD:
+ g_value_set_string (value, msg->priv->method);
+ break;
+ case PROP_ID:
+ g_value_set_uint (value, msg->priv->id);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_add_filter_set_property (GObject *obj,
+ guint prop_id,
+ GValue const *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageAddFilter *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_ADD_FILTER (obj);
+
+ switch (prop_id)
+ {
+ case PROP_OBJECT_PATH:
+ {
+ g_free (msg->priv->object_path);
+ msg->priv->object_path = g_value_dup_string (value);
+ break;
+ }
+ case PROP_METHOD:
+ {
+ g_free (msg->priv->method);
+ msg->priv->method = g_value_dup_string (value);
+ break;
+ }
+ case PROP_ID:
+ msg->priv->id = g_value_get_uint (value);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_add_filter_class_init (GeditFileBrowserMessageAddFilterClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->finalize = gedit_file_browser_message_add_filter_finalize;
+
+ object_class->get_property = gedit_file_browser_message_add_filter_get_property;
+ object_class->set_property = gedit_file_browser_message_add_filter_set_property;
+
+ g_object_class_install_property (object_class,
+ PROP_OBJECT_PATH,
+ g_param_spec_string ("object-path",
+ "Object Path",
+ "Object Path",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (object_class,
+ PROP_METHOD,
+ g_param_spec_string ("method",
+ "Method",
+ "Method",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (object_class,
+ PROP_ID,
+ g_param_spec_uint ("id",
+ "Id",
+ "Id",
+ 0,
+ G_MAXUINT,
+ 0,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+}
+
+static void
+gedit_file_browser_message_add_filter_init (GeditFileBrowserMessageAddFilter *message)
+{
+ message->priv = gedit_file_browser_message_add_filter_get_instance_private (message);
+}
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-add-filter.h b/plugins/filebrowser/messages/gedit-file-browser-message-add-filter.h
new file mode 100644
index 0000000..4a5b35c
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-add-filter.h
@@ -0,0 +1,69 @@
+
+/*
+ * gedit-file-browser-message-add-filter.h
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GEDIT_FILE_BROWSER_MESSAGE_ADD_FILTER_H
+#define GEDIT_FILE_BROWSER_MESSAGE_ADD_FILTER_H
+
+#include <gedit/gedit-message.h>
+
+G_BEGIN_DECLS
+
+#define GEDIT_TYPE_FILE_BROWSER_MESSAGE_ADD_FILTER (gedit_file_browser_message_add_filter_get_type ())
+#define GEDIT_FILE_BROWSER_MESSAGE_ADD_FILTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ADD_FILTER,\
+ GeditFileBrowserMessageAddFilter))
+#define GEDIT_FILE_BROWSER_MESSAGE_ADD_FILTER_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ADD_FILTER,\
+ GeditFileBrowserMessageAddFilter const))
+#define GEDIT_FILE_BROWSER_MESSAGE_ADD_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ADD_FILTER,\
+ GeditFileBrowserMessageAddFilterClass))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_ADD_FILTER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ADD_FILTER))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_ADD_FILTER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ADD_FILTER))
+#define GEDIT_FILE_BROWSER_MESSAGE_ADD_FILTER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ADD_FILTER,\
+ GeditFileBrowserMessageAddFilterClass))
+
+typedef struct _GeditFileBrowserMessageAddFilter GeditFileBrowserMessageAddFilter;
+typedef struct _GeditFileBrowserMessageAddFilterClass GeditFileBrowserMessageAddFilterClass;
+typedef struct _GeditFileBrowserMessageAddFilterPrivate GeditFileBrowserMessageAddFilterPrivate;
+
+struct _GeditFileBrowserMessageAddFilter
+{
+ GeditMessage parent;
+
+ GeditFileBrowserMessageAddFilterPrivate *priv;
+};
+
+struct _GeditFileBrowserMessageAddFilterClass
+{
+ GeditMessageClass parent_class;
+};
+
+GType gedit_file_browser_message_add_filter_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* GEDIT_FILE_BROWSER_MESSAGE_ADD_FILTER_H */
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-extend-context-menu.c b/plugins/filebrowser/messages/gedit-file-browser-message-extend-context-menu.c
new file mode 100644
index 0000000..4bb8682
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-extend-context-menu.c
@@ -0,0 +1,128 @@
+
+/*
+ * gedit-file-browser-message-extend-context-menu.c
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Paolo Borelli
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "gedit-file-browser-message-extend-context-menu.h"
+#include <gedit/gedit-menu-extension.h>
+
+enum
+{
+ PROP_0,
+
+ PROP_EXTENSION,
+};
+
+struct _GeditFileBrowserMessageExtendContextMenuPrivate
+{
+ GeditMenuExtension *extension;
+};
+
+G_DEFINE_TYPE_EXTENDED (GeditFileBrowserMessageExtendContextMenu,
+ gedit_file_browser_message_extend_context_menu,
+ GEDIT_TYPE_MESSAGE,
+ 0,
+ G_ADD_PRIVATE (GeditFileBrowserMessageExtendContextMenu))
+
+static void
+gedit_file_browser_message_extend_context_menu_finalize (GObject *obj)
+{
+ GeditFileBrowserMessageExtendContextMenu *msg = GEDIT_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU (obj);
+
+ if (msg->priv->extension)
+ {
+ g_object_unref (msg->priv->extension);
+ }
+
+ G_OBJECT_CLASS (gedit_file_browser_message_extend_context_menu_parent_class)->finalize (obj);
+}
+
+static void
+gedit_file_browser_message_extend_context_menu_get_property (GObject *obj,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageExtendContextMenu *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU (obj);
+
+ switch (prop_id)
+ {
+ case PROP_EXTENSION:
+ g_value_set_object (value, msg->priv->extension);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_extend_context_menu_set_property (GObject *obj,
+ guint prop_id,
+ GValue const *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageExtendContextMenu *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU (obj);
+
+ switch (prop_id)
+ {
+ case PROP_EXTENSION:
+ {
+ if (msg->priv->extension)
+ {
+ g_object_unref (msg->priv->extension);
+ }
+ msg->priv->extension = g_value_dup_object (value);
+ break;
+ }
+ }
+}
+
+static void
+gedit_file_browser_message_extend_context_menu_class_init (GeditFileBrowserMessageExtendContextMenuClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->finalize = gedit_file_browser_message_extend_context_menu_finalize;
+
+ object_class->get_property = gedit_file_browser_message_extend_context_menu_get_property;
+ object_class->set_property = gedit_file_browser_message_extend_context_menu_set_property;
+
+ g_object_class_install_property (object_class,
+ PROP_EXTENSION,
+ g_param_spec_object ("extension",
+ "Extension",
+ "Extension",
+ GEDIT_TYPE_MENU_EXTENSION,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+}
+
+static void
+gedit_file_browser_message_extend_context_menu_init (GeditFileBrowserMessageExtendContextMenu *message)
+{
+ message->priv = gedit_file_browser_message_extend_context_menu_get_instance_private (message);
+}
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-extend-context-menu.h b/plugins/filebrowser/messages/gedit-file-browser-message-extend-context-menu.h
new file mode 100644
index 0000000..643485d
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-extend-context-menu.h
@@ -0,0 +1,70 @@
+
+/*
+ * gedit-file-browser-message-extend-context-menu.h
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Paolo Borelli
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GEDIT_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU_H
+#define GEDIT_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU_H
+
+#include <gedit/gedit-message.h>
+
+G_BEGIN_DECLS
+
+#define GEDIT_TYPE_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU (gedit_file_browser_message_extend_context_menu_get_type ())
+#define GEDIT_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU,\
+ GeditFileBrowserMessageExtendContextMenu))
+#define GEDIT_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU,\
+ GeditFileBrowserMessageExtendContextMenu const))
+#define GEDIT_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU,\
+ GeditFileBrowserMessageExtendContextMenuClass))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU))
+#define GEDIT_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU,\
+ GeditFileBrowserMessageExtendContextMenuClass))
+
+typedef struct _GeditFileBrowserMessageExtendContextMenu GeditFileBrowserMessageExtendContextMenu;
+typedef struct _GeditFileBrowserMessageExtendContextMenuClass GeditFileBrowserMessageExtendContextMenuClass;
+typedef struct _GeditFileBrowserMessageExtendContextMenuPrivate GeditFileBrowserMessageExtendContextMenuPrivate;
+
+struct _GeditFileBrowserMessageExtendContextMenu
+{
+ GeditMessage parent;
+
+ GeditFileBrowserMessageExtendContextMenuPrivate *priv;
+};
+
+struct _GeditFileBrowserMessageExtendContextMenuClass
+{
+ GeditMessageClass parent_class;
+};
+
+GType gedit_file_browser_message_extend_context_menu_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* GEDIT_FILE_BROWSER_MESSAGE_EXTEND_CONTEXT_MENU_H */
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-get-root.c b/plugins/filebrowser/messages/gedit-file-browser-message-get-root.c
new file mode 100644
index 0000000..b766ac1
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-get-root.c
@@ -0,0 +1,127 @@
+
+/*
+ * gedit-file-browser-message-get-root.c
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "gedit-file-browser-message-get-root.h"
+#include "gio/gio.h"
+
+enum
+{
+ PROP_0,
+
+ PROP_LOCATION,
+};
+
+struct _GeditFileBrowserMessageGetRootPrivate
+{
+ GFile *location;
+};
+
+G_DEFINE_TYPE_EXTENDED (GeditFileBrowserMessageGetRoot,
+ gedit_file_browser_message_get_root,
+ GEDIT_TYPE_MESSAGE,
+ 0,
+ G_ADD_PRIVATE (GeditFileBrowserMessageGetRoot))
+
+static void
+gedit_file_browser_message_get_root_finalize (GObject *obj)
+{
+ GeditFileBrowserMessageGetRoot *msg = GEDIT_FILE_BROWSER_MESSAGE_GET_ROOT (obj);
+
+ if (msg->priv->location)
+ {
+ g_object_unref (msg->priv->location);
+ }
+
+ G_OBJECT_CLASS (gedit_file_browser_message_get_root_parent_class)->finalize (obj);
+}
+
+static void
+gedit_file_browser_message_get_root_get_property (GObject *obj,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageGetRoot *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_GET_ROOT (obj);
+
+ switch (prop_id)
+ {
+ case PROP_LOCATION:
+ g_value_set_object (value, msg->priv->location);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_get_root_set_property (GObject *obj,
+ guint prop_id,
+ GValue const *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageGetRoot *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_GET_ROOT (obj);
+
+ switch (prop_id)
+ {
+ case PROP_LOCATION:
+ {
+ if (msg->priv->location)
+ {
+ g_object_unref (msg->priv->location);
+ }
+ msg->priv->location = g_value_dup_object (value);
+ break;
+ }
+ }
+}
+
+static void
+gedit_file_browser_message_get_root_class_init (GeditFileBrowserMessageGetRootClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->finalize = gedit_file_browser_message_get_root_finalize;
+
+ object_class->get_property = gedit_file_browser_message_get_root_get_property;
+ object_class->set_property = gedit_file_browser_message_get_root_set_property;
+
+ g_object_class_install_property (object_class,
+ PROP_LOCATION,
+ g_param_spec_object ("location",
+ "Location",
+ "Location",
+ G_TYPE_FILE,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+}
+
+static void
+gedit_file_browser_message_get_root_init (GeditFileBrowserMessageGetRoot *message)
+{
+ message->priv = gedit_file_browser_message_get_root_get_instance_private (message);
+}
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-get-root.h b/plugins/filebrowser/messages/gedit-file-browser-message-get-root.h
new file mode 100644
index 0000000..8cc114d
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-get-root.h
@@ -0,0 +1,69 @@
+
+/*
+ * gedit-file-browser-message-get-root.h
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GEDIT_FILE_BROWSER_MESSAGE_GET_ROOT_H
+#define GEDIT_FILE_BROWSER_MESSAGE_GET_ROOT_H
+
+#include <gedit/gedit-message.h>
+
+G_BEGIN_DECLS
+
+#define GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_ROOT (gedit_file_browser_message_get_root_get_type ())
+#define GEDIT_FILE_BROWSER_MESSAGE_GET_ROOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_ROOT,\
+ GeditFileBrowserMessageGetRoot))
+#define GEDIT_FILE_BROWSER_MESSAGE_GET_ROOT_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_ROOT,\
+ GeditFileBrowserMessageGetRoot const))
+#define GEDIT_FILE_BROWSER_MESSAGE_GET_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_ROOT,\
+ GeditFileBrowserMessageGetRootClass))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_GET_ROOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_ROOT))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_GET_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_ROOT))
+#define GEDIT_FILE_BROWSER_MESSAGE_GET_ROOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_ROOT,\
+ GeditFileBrowserMessageGetRootClass))
+
+typedef struct _GeditFileBrowserMessageGetRoot GeditFileBrowserMessageGetRoot;
+typedef struct _GeditFileBrowserMessageGetRootClass GeditFileBrowserMessageGetRootClass;
+typedef struct _GeditFileBrowserMessageGetRootPrivate GeditFileBrowserMessageGetRootPrivate;
+
+struct _GeditFileBrowserMessageGetRoot
+{
+ GeditMessage parent;
+
+ GeditFileBrowserMessageGetRootPrivate *priv;
+};
+
+struct _GeditFileBrowserMessageGetRootClass
+{
+ GeditMessageClass parent_class;
+};
+
+GType gedit_file_browser_message_get_root_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* GEDIT_FILE_BROWSER_MESSAGE_GET_ROOT_H */
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-get-view.c b/plugins/filebrowser/messages/gedit-file-browser-message-get-view.c
new file mode 100644
index 0000000..17fe757
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-get-view.c
@@ -0,0 +1,127 @@
+
+/*
+ * gedit-file-browser-message-get-view.c
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "gedit-file-browser-message-get-view.h"
+#include "plugins/filebrowser/gedit-file-browser-view.h"
+
+enum
+{
+ PROP_0,
+
+ PROP_VIEW,
+};
+
+struct _GeditFileBrowserMessageGetViewPrivate
+{
+ GeditFileBrowserView *view;
+};
+
+G_DEFINE_TYPE_EXTENDED (GeditFileBrowserMessageGetView,
+ gedit_file_browser_message_get_view,
+ GEDIT_TYPE_MESSAGE,
+ 0,
+ G_ADD_PRIVATE (GeditFileBrowserMessageGetView))
+
+static void
+gedit_file_browser_message_get_view_finalize (GObject *obj)
+{
+ GeditFileBrowserMessageGetView *msg = GEDIT_FILE_BROWSER_MESSAGE_GET_VIEW (obj);
+
+ if (msg->priv->view)
+ {
+ g_object_unref (msg->priv->view);
+ }
+
+ G_OBJECT_CLASS (gedit_file_browser_message_get_view_parent_class)->finalize (obj);
+}
+
+static void
+gedit_file_browser_message_get_view_get_property (GObject *obj,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageGetView *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_GET_VIEW (obj);
+
+ switch (prop_id)
+ {
+ case PROP_VIEW:
+ g_value_set_object (value, msg->priv->view);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_get_view_set_property (GObject *obj,
+ guint prop_id,
+ GValue const *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageGetView *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_GET_VIEW (obj);
+
+ switch (prop_id)
+ {
+ case PROP_VIEW:
+ {
+ if (msg->priv->view)
+ {
+ g_object_unref (msg->priv->view);
+ }
+ msg->priv->view = g_value_dup_object (value);
+ break;
+ }
+ }
+}
+
+static void
+gedit_file_browser_message_get_view_class_init (GeditFileBrowserMessageGetViewClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->finalize = gedit_file_browser_message_get_view_finalize;
+
+ object_class->get_property = gedit_file_browser_message_get_view_get_property;
+ object_class->set_property = gedit_file_browser_message_get_view_set_property;
+
+ g_object_class_install_property (object_class,
+ PROP_VIEW,
+ g_param_spec_object ("view",
+ "View",
+ "View",
+ GEDIT_TYPE_FILE_BROWSER_VIEW,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+}
+
+static void
+gedit_file_browser_message_get_view_init (GeditFileBrowserMessageGetView *message)
+{
+ message->priv = gedit_file_browser_message_get_view_get_instance_private (message);
+}
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-get-view.h b/plugins/filebrowser/messages/gedit-file-browser-message-get-view.h
new file mode 100644
index 0000000..452abbc
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-get-view.h
@@ -0,0 +1,69 @@
+
+/*
+ * gedit-file-browser-message-get-view.h
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GEDIT_FILE_BROWSER_MESSAGE_GET_VIEW_H
+#define GEDIT_FILE_BROWSER_MESSAGE_GET_VIEW_H
+
+#include <gedit/gedit-message.h>
+
+G_BEGIN_DECLS
+
+#define GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_VIEW (gedit_file_browser_message_get_view_get_type ())
+#define GEDIT_FILE_BROWSER_MESSAGE_GET_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_VIEW,\
+ GeditFileBrowserMessageGetView))
+#define GEDIT_FILE_BROWSER_MESSAGE_GET_VIEW_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_VIEW,\
+ GeditFileBrowserMessageGetView const))
+#define GEDIT_FILE_BROWSER_MESSAGE_GET_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_VIEW,\
+ GeditFileBrowserMessageGetViewClass))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_GET_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_VIEW))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_GET_VIEW_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_VIEW))
+#define GEDIT_FILE_BROWSER_MESSAGE_GET_VIEW_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_GET_VIEW,\
+ GeditFileBrowserMessageGetViewClass))
+
+typedef struct _GeditFileBrowserMessageGetView GeditFileBrowserMessageGetView;
+typedef struct _GeditFileBrowserMessageGetViewClass GeditFileBrowserMessageGetViewClass;
+typedef struct _GeditFileBrowserMessageGetViewPrivate GeditFileBrowserMessageGetViewPrivate;
+
+struct _GeditFileBrowserMessageGetView
+{
+ GeditMessage parent;
+
+ GeditFileBrowserMessageGetViewPrivate *priv;
+};
+
+struct _GeditFileBrowserMessageGetViewClass
+{
+ GeditMessageClass parent_class;
+};
+
+GType gedit_file_browser_message_get_view_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* GEDIT_FILE_BROWSER_MESSAGE_GET_VIEW_H */
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-id-location.c b/plugins/filebrowser/messages/gedit-file-browser-message-id-location.c
new file mode 100644
index 0000000..36c33c5
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-id-location.c
@@ -0,0 +1,190 @@
+
+/*
+ * gedit-file-browser-message-id-location.c
+ * This file is part of gedit
+ *
+ * Copyright (C) 2013 - Garrett Regier
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "gedit-file-browser-message-id-location.h"
+#include "gio/gio.h"
+
+enum
+{
+ PROP_0,
+
+ PROP_ID,
+ PROP_NAME,
+ PROP_LOCATION,
+ PROP_IS_DIRECTORY,
+};
+
+struct _GeditFileBrowserMessageIdLocationPrivate
+{
+ gchar *id;
+ gchar *name;
+ GFile *location;
+ gboolean is_directory;
+};
+
+G_DEFINE_TYPE_EXTENDED (GeditFileBrowserMessageIdLocation,
+ gedit_file_browser_message_id_location,
+ GEDIT_TYPE_MESSAGE,
+ 0,
+ G_ADD_PRIVATE (GeditFileBrowserMessageIdLocation))
+
+static void
+gedit_file_browser_message_id_location_finalize (GObject *obj)
+{
+ GeditFileBrowserMessageIdLocation *msg = GEDIT_FILE_BROWSER_MESSAGE_ID_LOCATION (obj);
+
+ g_free (msg->priv->id);
+ g_free (msg->priv->name);
+ if (msg->priv->location)
+ {
+ g_object_unref (msg->priv->location);
+ }
+
+ G_OBJECT_CLASS (gedit_file_browser_message_id_location_parent_class)->finalize (obj);
+}
+
+static void
+gedit_file_browser_message_id_location_get_property (GObject *obj,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageIdLocation *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_ID_LOCATION (obj);
+
+ switch (prop_id)
+ {
+ case PROP_ID:
+ g_value_set_string (value, msg->priv->id);
+ break;
+ case PROP_NAME:
+ g_value_set_string (value, msg->priv->name);
+ break;
+ case PROP_LOCATION:
+ g_value_set_object (value, msg->priv->location);
+ break;
+ case PROP_IS_DIRECTORY:
+ g_value_set_boolean (value, msg->priv->is_directory);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_id_location_set_property (GObject *obj,
+ guint prop_id,
+ GValue const *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageIdLocation *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_ID_LOCATION (obj);
+
+ switch (prop_id)
+ {
+ case PROP_ID:
+ {
+ g_free (msg->priv->id);
+ msg->priv->id = g_value_dup_string (value);
+ break;
+ }
+ case PROP_NAME:
+ {
+ g_free (msg->priv->name);
+ msg->priv->name = g_value_dup_string (value);
+ break;
+ }
+ case PROP_LOCATION:
+ {
+ if (msg->priv->location)
+ {
+ g_object_unref (msg->priv->location);
+ }
+ msg->priv->location = g_value_dup_object (value);
+ break;
+ }
+ case PROP_IS_DIRECTORY:
+ msg->priv->is_directory = g_value_get_boolean (value);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_id_location_class_init (GeditFileBrowserMessageIdLocationClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->finalize = gedit_file_browser_message_id_location_finalize;
+
+ object_class->get_property = gedit_file_browser_message_id_location_get_property;
+ object_class->set_property = gedit_file_browser_message_id_location_set_property;
+
+ g_object_class_install_property (object_class,
+ PROP_ID,
+ g_param_spec_string ("id",
+ "Id",
+ "Id",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (object_class,
+ PROP_NAME,
+ g_param_spec_string ("name",
+ "Name",
+ "Name",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (object_class,
+ PROP_LOCATION,
+ g_param_spec_object ("location",
+ "Location",
+ "Location",
+ G_TYPE_FILE,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (object_class,
+ PROP_IS_DIRECTORY,
+ g_param_spec_boolean ("is-directory",
+ "Is Directory",
+ "Is Directory",
+ FALSE,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+}
+
+static void
+gedit_file_browser_message_id_location_init (GeditFileBrowserMessageIdLocation *message)
+{
+ message->priv = gedit_file_browser_message_id_location_get_instance_private (message);
+}
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-id-location.h b/plugins/filebrowser/messages/gedit-file-browser-message-id-location.h
new file mode 100644
index 0000000..0af4c77
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-id-location.h
@@ -0,0 +1,70 @@
+
+/*
+ * gedit-file-browser-message-id-location.h
+ * This file is part of gedit
+ *
+ * Copyright (C) 2013 - Garrett Regier
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GEDIT_FILE_BROWSER_MESSAGE_ID_LOCATION_H
+#define GEDIT_FILE_BROWSER_MESSAGE_ID_LOCATION_H
+
+#include <gedit/gedit-message.h>
+
+G_BEGIN_DECLS
+
+#define GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID_LOCATION (gedit_file_browser_message_id_location_get_type ())
+#define GEDIT_FILE_BROWSER_MESSAGE_ID_LOCATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID_LOCATION,\
+ GeditFileBrowserMessageIdLocation))
+#define GEDIT_FILE_BROWSER_MESSAGE_ID_LOCATION_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID_LOCATION,\
+ GeditFileBrowserMessageIdLocation const))
+#define GEDIT_FILE_BROWSER_MESSAGE_ID_LOCATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID_LOCATION,\
+ GeditFileBrowserMessageIdLocationClass))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_ID_LOCATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID_LOCATION))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_ID_LOCATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID_LOCATION))
+#define GEDIT_FILE_BROWSER_MESSAGE_ID_LOCATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID_LOCATION,\
+ GeditFileBrowserMessageIdLocationClass))
+
+typedef struct _GeditFileBrowserMessageIdLocation GeditFileBrowserMessageIdLocation;
+typedef struct _GeditFileBrowserMessageIdLocationClass GeditFileBrowserMessageIdLocationClass;
+typedef struct _GeditFileBrowserMessageIdLocationPrivate GeditFileBrowserMessageIdLocationPrivate;
+
+struct _GeditFileBrowserMessageIdLocation
+{
+ GeditMessage parent;
+
+ GeditFileBrowserMessageIdLocationPrivate *priv;
+};
+
+struct _GeditFileBrowserMessageIdLocationClass
+{
+ GeditMessageClass parent_class;
+};
+
+GType gedit_file_browser_message_id_location_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* GEDIT_FILE_BROWSER_MESSAGE_ID_LOCATION_H */
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-id.c b/plugins/filebrowser/messages/gedit-file-browser-message-id.c
new file mode 100644
index 0000000..fec490f
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-id.c
@@ -0,0 +1,107 @@
+
+/*
+ * gedit-file-browser-message-id.c
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "gedit-file-browser-message-id.h"
+
+enum
+{
+ PROP_0,
+
+ PROP_ID,
+};
+
+struct _GeditFileBrowserMessageIdPrivate
+{
+ guint id;
+};
+
+G_DEFINE_TYPE_EXTENDED (GeditFileBrowserMessageId,
+ gedit_file_browser_message_id,
+ GEDIT_TYPE_MESSAGE,
+ 0,
+ G_ADD_PRIVATE (GeditFileBrowserMessageId))
+
+static void
+gedit_file_browser_message_id_get_property (GObject *obj,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageId *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_ID (obj);
+
+ switch (prop_id)
+ {
+ case PROP_ID:
+ g_value_set_uint (value, msg->priv->id);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_id_set_property (GObject *obj,
+ guint prop_id,
+ GValue const *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageId *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_ID (obj);
+
+ switch (prop_id)
+ {
+ case PROP_ID:
+ msg->priv->id = g_value_get_uint (value);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_id_class_init (GeditFileBrowserMessageIdClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->get_property = gedit_file_browser_message_id_get_property;
+ object_class->set_property = gedit_file_browser_message_id_set_property;
+
+ g_object_class_install_property (object_class,
+ PROP_ID,
+ g_param_spec_uint ("id",
+ "Id",
+ "Id",
+ 0,
+ G_MAXUINT,
+ 0,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+}
+
+static void
+gedit_file_browser_message_id_init (GeditFileBrowserMessageId *message)
+{
+ message->priv = gedit_file_browser_message_id_get_instance_private (message);
+}
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-id.h b/plugins/filebrowser/messages/gedit-file-browser-message-id.h
new file mode 100644
index 0000000..8351c3b
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-id.h
@@ -0,0 +1,69 @@
+
+/*
+ * gedit-file-browser-message-id.h
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GEDIT_FILE_BROWSER_MESSAGE_ID_H
+#define GEDIT_FILE_BROWSER_MESSAGE_ID_H
+
+#include <gedit/gedit-message.h>
+
+G_BEGIN_DECLS
+
+#define GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID (gedit_file_browser_message_id_get_type ())
+#define GEDIT_FILE_BROWSER_MESSAGE_ID(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID,\
+ GeditFileBrowserMessageId))
+#define GEDIT_FILE_BROWSER_MESSAGE_ID_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID,\
+ GeditFileBrowserMessageId const))
+#define GEDIT_FILE_BROWSER_MESSAGE_ID_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID,\
+ GeditFileBrowserMessageIdClass))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_ID(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_ID_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID))
+#define GEDIT_FILE_BROWSER_MESSAGE_ID_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_ID,\
+ GeditFileBrowserMessageIdClass))
+
+typedef struct _GeditFileBrowserMessageId GeditFileBrowserMessageId;
+typedef struct _GeditFileBrowserMessageIdClass GeditFileBrowserMessageIdClass;
+typedef struct _GeditFileBrowserMessageIdPrivate GeditFileBrowserMessageIdPrivate;
+
+struct _GeditFileBrowserMessageId
+{
+ GeditMessage parent;
+
+ GeditFileBrowserMessageIdPrivate *priv;
+};
+
+struct _GeditFileBrowserMessageIdClass
+{
+ GeditMessageClass parent_class;
+};
+
+GType gedit_file_browser_message_id_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* GEDIT_FILE_BROWSER_MESSAGE_ID_H */
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-set-emblem.c b/plugins/filebrowser/messages/gedit-file-browser-message-set-emblem.c
new file mode 100644
index 0000000..8e63042
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-set-emblem.c
@@ -0,0 +1,142 @@
+
+/*
+ * gedit-file-browser-message-set-emblem.c
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "gedit-file-browser-message-set-emblem.h"
+
+enum
+{
+ PROP_0,
+
+ PROP_ID,
+ PROP_EMBLEM,
+};
+
+struct _GeditFileBrowserMessageSetEmblemPrivate
+{
+ gchar *id;
+ gchar *emblem;
+};
+
+G_DEFINE_TYPE_EXTENDED (GeditFileBrowserMessageSetEmblem,
+ gedit_file_browser_message_set_emblem,
+ GEDIT_TYPE_MESSAGE,
+ 0,
+ G_ADD_PRIVATE (GeditFileBrowserMessageSetEmblem))
+
+static void
+gedit_file_browser_message_set_emblem_finalize (GObject *obj)
+{
+ GeditFileBrowserMessageSetEmblem *msg = GEDIT_FILE_BROWSER_MESSAGE_SET_EMBLEM (obj);
+
+ g_free (msg->priv->id);
+ g_free (msg->priv->emblem);
+
+ G_OBJECT_CLASS (gedit_file_browser_message_set_emblem_parent_class)->finalize (obj);
+}
+
+static void
+gedit_file_browser_message_set_emblem_get_property (GObject *obj,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageSetEmblem *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_SET_EMBLEM (obj);
+
+ switch (prop_id)
+ {
+ case PROP_ID:
+ g_value_set_string (value, msg->priv->id);
+ break;
+ case PROP_EMBLEM:
+ g_value_set_string (value, msg->priv->emblem);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_set_emblem_set_property (GObject *obj,
+ guint prop_id,
+ GValue const *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageSetEmblem *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_SET_EMBLEM (obj);
+
+ switch (prop_id)
+ {
+ case PROP_ID:
+ {
+ g_free (msg->priv->id);
+ msg->priv->id = g_value_dup_string (value);
+ break;
+ }
+ case PROP_EMBLEM:
+ {
+ g_free (msg->priv->emblem);
+ msg->priv->emblem = g_value_dup_string (value);
+ break;
+ }
+ }
+}
+
+static void
+gedit_file_browser_message_set_emblem_class_init (GeditFileBrowserMessageSetEmblemClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->finalize = gedit_file_browser_message_set_emblem_finalize;
+
+ object_class->get_property = gedit_file_browser_message_set_emblem_get_property;
+ object_class->set_property = gedit_file_browser_message_set_emblem_set_property;
+
+ g_object_class_install_property (object_class,
+ PROP_ID,
+ g_param_spec_string ("id",
+ "Id",
+ "Id",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (object_class,
+ PROP_EMBLEM,
+ g_param_spec_string ("emblem",
+ "Emblem",
+ "Emblem",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+}
+
+static void
+gedit_file_browser_message_set_emblem_init (GeditFileBrowserMessageSetEmblem *message)
+{
+ message->priv = gedit_file_browser_message_set_emblem_get_instance_private (message);
+}
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-set-emblem.h b/plugins/filebrowser/messages/gedit-file-browser-message-set-emblem.h
new file mode 100644
index 0000000..6daa795
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-set-emblem.h
@@ -0,0 +1,69 @@
+
+/*
+ * gedit-file-browser-message-set-emblem.h
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GEDIT_FILE_BROWSER_MESSAGE_SET_EMBLEM_H
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_EMBLEM_H
+
+#include <gedit/gedit-message.h>
+
+G_BEGIN_DECLS
+
+#define GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_EMBLEM (gedit_file_browser_message_set_emblem_get_type ())
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_EMBLEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_EMBLEM,\
+ GeditFileBrowserMessageSetEmblem))
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_EMBLEM_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_EMBLEM,\
+ GeditFileBrowserMessageSetEmblem const))
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_EMBLEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_EMBLEM,\
+ GeditFileBrowserMessageSetEmblemClass))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_SET_EMBLEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_EMBLEM))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_SET_EMBLEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_EMBLEM))
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_EMBLEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_EMBLEM,\
+ GeditFileBrowserMessageSetEmblemClass))
+
+typedef struct _GeditFileBrowserMessageSetEmblem GeditFileBrowserMessageSetEmblem;
+typedef struct _GeditFileBrowserMessageSetEmblemClass GeditFileBrowserMessageSetEmblemClass;
+typedef struct _GeditFileBrowserMessageSetEmblemPrivate GeditFileBrowserMessageSetEmblemPrivate;
+
+struct _GeditFileBrowserMessageSetEmblem
+{
+ GeditMessage parent;
+
+ GeditFileBrowserMessageSetEmblemPrivate *priv;
+};
+
+struct _GeditFileBrowserMessageSetEmblemClass
+{
+ GeditMessageClass parent_class;
+};
+
+GType gedit_file_browser_message_set_emblem_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* GEDIT_FILE_BROWSER_MESSAGE_SET_EMBLEM_H */
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-set-markup.c b/plugins/filebrowser/messages/gedit-file-browser-message-set-markup.c
new file mode 100644
index 0000000..3b14d16
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-set-markup.c
@@ -0,0 +1,143 @@
+
+/*
+ * gedit-file-browser-message-set-markup.c
+ * This file is part of gedit
+ *
+ * Copyright (C) 2013 - Garrett Regier
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "gedit-file-browser-message-set-markup.h"
+
+enum
+{
+ PROP_0,
+
+ PROP_ID,
+ PROP_MARKUP,
+};
+
+struct _GeditFileBrowserMessageSetMarkupPrivate
+{
+ gchar *id;
+ gchar *markup;
+};
+
+G_DEFINE_TYPE_EXTENDED (GeditFileBrowserMessageSetMarkup,
+ gedit_file_browser_message_set_markup,
+ GEDIT_TYPE_MESSAGE,
+ 0,
+ G_ADD_PRIVATE (GeditFileBrowserMessageSetMarkup))
+
+static void
+gedit_file_browser_message_set_markup_finalize (GObject *obj)
+{
+ GeditFileBrowserMessageSetMarkup *msg = GEDIT_FILE_BROWSER_MESSAGE_SET_MARKUP (obj);
+
+ g_free (msg->priv->id);
+ g_free (msg->priv->markup);
+
+ G_OBJECT_CLASS (gedit_file_browser_message_set_markup_parent_class)->finalize (obj);
+}
+
+static void
+gedit_file_browser_message_set_markup_get_property (GObject *obj,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageSetMarkup *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_SET_MARKUP (obj);
+
+ switch (prop_id)
+ {
+ case PROP_ID:
+ g_value_set_string (value, msg->priv->id);
+ break;
+ case PROP_MARKUP:
+ g_value_set_string (value, msg->priv->markup);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_set_markup_set_property (GObject *obj,
+ guint prop_id,
+ GValue const *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageSetMarkup *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_SET_MARKUP (obj);
+
+ switch (prop_id)
+ {
+ case PROP_ID:
+ {
+ g_free (msg->priv->id);
+ msg->priv->id = g_value_dup_string (value);
+ break;
+ }
+ case PROP_MARKUP:
+ {
+ g_free (msg->priv->markup);
+ msg->priv->markup = g_value_dup_string (value);
+ break;
+ }
+ }
+}
+
+static void
+gedit_file_browser_message_set_markup_class_init (GeditFileBrowserMessageSetMarkupClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->finalize = gedit_file_browser_message_set_markup_finalize;
+
+ object_class->get_property = gedit_file_browser_message_set_markup_get_property;
+ object_class->set_property = gedit_file_browser_message_set_markup_set_property;
+
+ g_object_class_install_property (object_class,
+ PROP_ID,
+ g_param_spec_string ("id",
+ "Id",
+ "Id",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (object_class,
+ PROP_MARKUP,
+ g_param_spec_string ("markup",
+ "Markup",
+ "Markup",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+}
+
+static void
+gedit_file_browser_message_set_markup_init (GeditFileBrowserMessageSetMarkup *message)
+{
+ message->priv = gedit_file_browser_message_set_markup_get_instance_private (message);
+}
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-set-markup.h b/plugins/filebrowser/messages/gedit-file-browser-message-set-markup.h
new file mode 100644
index 0000000..ab9a1dc
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-set-markup.h
@@ -0,0 +1,70 @@
+
+/*
+ * gedit-file-browser-message-set-markup.h
+ * This file is part of gedit
+ *
+ * Copyright (C) 2013 - Garrett Regier
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GEDIT_FILE_BROWSER_MESSAGE_SET_MARKUP_H
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_MARKUP_H
+
+#include <gedit/gedit-message.h>
+
+G_BEGIN_DECLS
+
+#define GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_MARKUP (gedit_file_browser_message_set_markup_get_type ())
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_MARKUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_MARKUP,\
+ GeditFileBrowserMessageSetMarkup))
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_MARKUP_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_MARKUP,\
+ GeditFileBrowserMessageSetMarkup const))
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_MARKUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_MARKUP,\
+ GeditFileBrowserMessageSetMarkupClass))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_SET_MARKUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_MARKUP))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_SET_MARKUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_MARKUP))
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_MARKUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_MARKUP,\
+ GeditFileBrowserMessageSetMarkupClass))
+
+typedef struct _GeditFileBrowserMessageSetMarkup GeditFileBrowserMessageSetMarkup;
+typedef struct _GeditFileBrowserMessageSetMarkupClass GeditFileBrowserMessageSetMarkupClass;
+typedef struct _GeditFileBrowserMessageSetMarkupPrivate GeditFileBrowserMessageSetMarkupPrivate;
+
+struct _GeditFileBrowserMessageSetMarkup
+{
+ GeditMessage parent;
+
+ GeditFileBrowserMessageSetMarkupPrivate *priv;
+};
+
+struct _GeditFileBrowserMessageSetMarkupClass
+{
+ GeditMessageClass parent_class;
+};
+
+GType gedit_file_browser_message_set_markup_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* GEDIT_FILE_BROWSER_MESSAGE_SET_MARKUP_H */
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-set-root.c b/plugins/filebrowser/messages/gedit-file-browser-message-set-root.c
new file mode 100644
index 0000000..cb3891b
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-set-root.c
@@ -0,0 +1,149 @@
+
+/*
+ * gedit-file-browser-message-set-root.c
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#include "config.h"
+
+#include "gedit-file-browser-message-set-root.h"
+#include "gio/gio.h"
+
+enum
+{
+ PROP_0,
+
+ PROP_LOCATION,
+ PROP_VIRTUAL,
+};
+
+struct _GeditFileBrowserMessageSetRootPrivate
+{
+ GFile *location;
+ gchar *virtual;
+};
+
+G_DEFINE_TYPE_EXTENDED (GeditFileBrowserMessageSetRoot,
+ gedit_file_browser_message_set_root,
+ GEDIT_TYPE_MESSAGE,
+ 0,
+ G_ADD_PRIVATE (GeditFileBrowserMessageSetRoot))
+
+static void
+gedit_file_browser_message_set_root_finalize (GObject *obj)
+{
+ GeditFileBrowserMessageSetRoot *msg = GEDIT_FILE_BROWSER_MESSAGE_SET_ROOT (obj);
+
+ if (msg->priv->location)
+ {
+ g_object_unref (msg->priv->location);
+ }
+ g_free (msg->priv->virtual);
+
+ G_OBJECT_CLASS (gedit_file_browser_message_set_root_parent_class)->finalize (obj);
+}
+
+static void
+gedit_file_browser_message_set_root_get_property (GObject *obj,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageSetRoot *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_SET_ROOT (obj);
+
+ switch (prop_id)
+ {
+ case PROP_LOCATION:
+ g_value_set_object (value, msg->priv->location);
+ break;
+ case PROP_VIRTUAL:
+ g_value_set_string (value, msg->priv->virtual);
+ break;
+ }
+}
+
+static void
+gedit_file_browser_message_set_root_set_property (GObject *obj,
+ guint prop_id,
+ GValue const *value,
+ GParamSpec *pspec)
+{
+ GeditFileBrowserMessageSetRoot *msg;
+
+ msg = GEDIT_FILE_BROWSER_MESSAGE_SET_ROOT (obj);
+
+ switch (prop_id)
+ {
+ case PROP_LOCATION:
+ {
+ if (msg->priv->location)
+ {
+ g_object_unref (msg->priv->location);
+ }
+ msg->priv->location = g_value_dup_object (value);
+ break;
+ }
+ case PROP_VIRTUAL:
+ {
+ g_free (msg->priv->virtual);
+ msg->priv->virtual = g_value_dup_string (value);
+ break;
+ }
+ }
+}
+
+static void
+gedit_file_browser_message_set_root_class_init (GeditFileBrowserMessageSetRootClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS(klass);
+
+ object_class->finalize = gedit_file_browser_message_set_root_finalize;
+
+ object_class->get_property = gedit_file_browser_message_set_root_get_property;
+ object_class->set_property = gedit_file_browser_message_set_root_set_property;
+
+ g_object_class_install_property (object_class,
+ PROP_LOCATION,
+ g_param_spec_object ("location",
+ "Location",
+ "Location",
+ G_TYPE_FILE,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+
+ g_object_class_install_property (object_class,
+ PROP_VIRTUAL,
+ g_param_spec_string ("virtual",
+ "Virtual",
+ "Virtual",
+ NULL,
+ G_PARAM_READWRITE |
+ G_PARAM_CONSTRUCT |
+ G_PARAM_STATIC_STRINGS));
+}
+
+static void
+gedit_file_browser_message_set_root_init (GeditFileBrowserMessageSetRoot *message)
+{
+ message->priv = gedit_file_browser_message_set_root_get_instance_private (message);
+}
diff --git a/plugins/filebrowser/messages/gedit-file-browser-message-set-root.h b/plugins/filebrowser/messages/gedit-file-browser-message-set-root.h
new file mode 100644
index 0000000..8b61c50
--- /dev/null
+++ b/plugins/filebrowser/messages/gedit-file-browser-message-set-root.h
@@ -0,0 +1,69 @@
+
+/*
+ * gedit-file-browser-message-set-root.h
+ * This file is part of gedit
+ *
+ * Copyright (C) 2014 - Jesse van den Kieboom
+ *
+ * gedit is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * gedit is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with gedit; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301 USA
+ */
+
+#ifndef GEDIT_FILE_BROWSER_MESSAGE_SET_ROOT_H
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_ROOT_H
+
+#include <gedit/gedit-message.h>
+
+G_BEGIN_DECLS
+
+#define GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_ROOT (gedit_file_browser_message_set_root_get_type ())
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_ROOT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_ROOT,\
+ GeditFileBrowserMessageSetRoot))
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_ROOT_CONST(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_ROOT,\
+ GeditFileBrowserMessageSetRoot const))
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_ROOT,\
+ GeditFileBrowserMessageSetRootClass))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_SET_ROOT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_ROOT))
+#define GEDIT_IS_FILE_BROWSER_MESSAGE_SET_ROOT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_ROOT))
+#define GEDIT_FILE_BROWSER_MESSAGE_SET_ROOT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj),\
+ GEDIT_TYPE_FILE_BROWSER_MESSAGE_SET_ROOT,\
+ GeditFileBrowserMessageSetRootClass))
+
+typedef struct _GeditFileBrowserMessageSetRoot GeditFileBrowserMessageSetRoot;
+typedef struct _GeditFileBrowserMessageSetRootClass GeditFileBrowserMessageSetRootClass;
+typedef struct _GeditFileBrowserMessageSetRootPrivate GeditFileBrowserMessageSetRootPrivate;
+
+struct _GeditFileBrowserMessageSetRoot
+{
+ GeditMessage parent;
+
+ GeditFileBrowserMessageSetRootPrivate *priv;
+};
+
+struct _GeditFileBrowserMessageSetRootClass
+{
+ GeditMessageClass parent_class;
+};
+
+GType gedit_file_browser_message_set_root_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* GEDIT_FILE_BROWSER_MESSAGE_SET_ROOT_H */
diff --git a/plugins/filebrowser/messages/meson.build b/plugins/filebrowser/messages/meson.build
new file mode 100644
index 0000000..ec4fb84
--- /dev/null
+++ b/plugins/filebrowser/messages/meson.build
@@ -0,0 +1,25 @@
+libfilebrowser_public_h += files(
+ 'gedit-file-browser-message-activation.h',
+ 'gedit-file-browser-message-add-filter.h',
+ 'gedit-file-browser-message-extend-context-menu.h',
+ 'gedit-file-browser-message-get-root.h',
+ 'gedit-file-browser-message-get-view.h',
+ 'gedit-file-browser-message-id.h',
+ 'gedit-file-browser-message-id-location.h',
+ 'gedit-file-browser-message-set-emblem.h',
+ 'gedit-file-browser-message-set-markup.h',
+ 'gedit-file-browser-message-set-root.h',
+)
+
+libfilebrowser_sources += files(
+ 'gedit-file-browser-message-activation.c',
+ 'gedit-file-browser-message-add-filter.c',
+ 'gedit-file-browser-message-extend-context-menu.c',
+ 'gedit-file-browser-message-get-root.c',
+ 'gedit-file-browser-message-get-view.c',
+ 'gedit-file-browser-message-id.c',
+ 'gedit-file-browser-message-id-location.c',
+ 'gedit-file-browser-message-set-emblem.c',
+ 'gedit-file-browser-message-set-markup.c',
+ 'gedit-file-browser-message-set-root.c',
+)
diff --git a/plugins/filebrowser/messages/messages.h b/plugins/filebrowser/messages/messages.h
new file mode 100644
index 0000000..4dc0f51
--- /dev/null
+++ b/plugins/filebrowser/messages/messages.h
@@ -0,0 +1,16 @@
+#ifndef GEDIT_FILE_BROWER_MESSAGES_MESSAGES_H
+#define GEDIT_FILE_BROWER_MESSAGES_MESSAGES_H
+
+#include "gedit-file-browser-message-activation.h"
+#include "gedit-file-browser-message-add-filter.h"
+#include "gedit-file-browser-message-extend-context-menu.h"
+#include "gedit-file-browser-message-get-root.h"
+#include "gedit-file-browser-message-get-view.h"
+#include "gedit-file-browser-message-id.h"
+#include "gedit-file-browser-message-id-location.h"
+#include "gedit-file-browser-message-set-emblem.h"
+#include "gedit-file-browser-message-set-markup.h"
+#include "gedit-file-browser-message-set-root.h"
+
+#endif /* GEDIT_FILE_BROWER_MESSAGES_MESSAGES_H */
+