From adb934701975f6b0214475d1a8d0d1ce727b9d4d Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 16:32:59 +0200 Subject: Adding upstream version 3.38.1. Signed-off-by: Daniel Baumann --- .../gedit-file-browser-message-activation.c | 105 ++++++++++++ .../gedit-file-browser-message-activation.h | 69 ++++++++ .../gedit-file-browser-message-add-filter.c | 162 ++++++++++++++++++ .../gedit-file-browser-message-add-filter.h | 69 ++++++++ ...edit-file-browser-message-extend-context-menu.c | 128 ++++++++++++++ ...edit-file-browser-message-extend-context-menu.h | 70 ++++++++ .../messages/gedit-file-browser-message-get-root.c | 127 ++++++++++++++ .../messages/gedit-file-browser-message-get-root.h | 69 ++++++++ .../messages/gedit-file-browser-message-get-view.c | 127 ++++++++++++++ .../messages/gedit-file-browser-message-get-view.h | 69 ++++++++ .../gedit-file-browser-message-id-location.c | 190 +++++++++++++++++++++ .../gedit-file-browser-message-id-location.h | 70 ++++++++ .../messages/gedit-file-browser-message-id.c | 107 ++++++++++++ .../messages/gedit-file-browser-message-id.h | 69 ++++++++ .../gedit-file-browser-message-set-emblem.c | 142 +++++++++++++++ .../gedit-file-browser-message-set-emblem.h | 69 ++++++++ .../gedit-file-browser-message-set-markup.c | 143 ++++++++++++++++ .../gedit-file-browser-message-set-markup.h | 70 ++++++++ .../messages/gedit-file-browser-message-set-root.c | 149 ++++++++++++++++ .../messages/gedit-file-browser-message-set-root.h | 69 ++++++++ plugins/filebrowser/messages/meson.build | 25 +++ plugins/filebrowser/messages/messages.h | 16 ++ 22 files changed, 2114 insertions(+) create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-activation.c create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-activation.h create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-add-filter.c create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-add-filter.h create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-extend-context-menu.c create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-extend-context-menu.h create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-get-root.c create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-get-root.h create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-get-view.c create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-get-view.h create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-id-location.c create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-id-location.h create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-id.c create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-id.h create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-set-emblem.c create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-set-emblem.h create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-set-markup.c create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-set-markup.h create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-set-root.c create mode 100644 plugins/filebrowser/messages/gedit-file-browser-message-set-root.h create mode 100644 plugins/filebrowser/messages/meson.build create mode 100644 plugins/filebrowser/messages/messages.h (limited to 'plugins/filebrowser/messages') 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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 + +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 */ + -- cgit v1.2.3