aboutsummaryrefslogtreecommitdiffstats
path: root/e-util
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@redhat.com>2013-03-31 21:58:52 +0800
committerMatthew Barnes <mbarnes@redhat.com>2013-04-01 00:10:54 +0800
commit0494d4c3c67403293c496d0ab6ce498b954a8a06 (patch)
tree845fb73df494c60b39132fc6bbb1c1358f46ba54 /e-util
parent0125093ff7f0883fd8b97176a18cac5e798a37b9 (diff)
downloadgsoc2013-evolution-0494d4c3c67403293c496d0ab6ce498b954a8a06.tar
gsoc2013-evolution-0494d4c3c67403293c496d0ab6ce498b954a8a06.tar.gz
gsoc2013-evolution-0494d4c3c67403293c496d0ab6ce498b954a8a06.tar.bz2
gsoc2013-evolution-0494d4c3c67403293c496d0ab6ce498b954a8a06.tar.lz
gsoc2013-evolution-0494d4c3c67403293c496d0ab6ce498b954a8a06.tar.xz
gsoc2013-evolution-0494d4c3c67403293c496d0ab6ce498b954a8a06.tar.zst
gsoc2013-evolution-0494d4c3c67403293c496d0ab6ce498b954a8a06.zip
Remove EUIManager.
No longer needed. Use GtkUIManager directly.
Diffstat (limited to 'e-util')
-rw-r--r--e-util/Makefile.am2
-rw-r--r--e-util/e-attachment-view.c3
-rw-r--r--e-util/e-plugin-ui.c10
-rw-r--r--e-util/e-ui-manager.c323
-rw-r--r--e-util/e-ui-manager.h78
-rw-r--r--e-util/e-util.h1
6 files changed, 3 insertions, 414 deletions
diff --git a/e-util/Makefile.am b/e-util/Makefile.am
index 9fa1877396..5e974f20bc 100644
--- a/e-util/Makefile.am
+++ b/e-util/Makefile.am
@@ -294,7 +294,6 @@ eutilinclude_HEADERS = \
e-tree-sorted.h \
e-tree-table-adapter.h \
e-tree.h \
- e-ui-manager.h \
e-unicode.h \
e-url-entry.h \
e-util-enums.h \
@@ -539,7 +538,6 @@ libeutil_la_SOURCES = \
e-tree-sorted.c \
e-tree-table-adapter.c \
e-tree.c \
- e-ui-manager.c \
e-unicode.c \
e-url-entry.c \
e-util-enumtypes.c \
diff --git a/e-util/e-attachment-view.c b/e-util/e-attachment-view.c
index b1abda1e47..d078bd4b26 100644
--- a/e-util/e-attachment-view.c
+++ b/e-util/e-attachment-view.c
@@ -33,7 +33,6 @@
#include "e-attachment-handler-sendto.h"
#include "e-misc-utils.h"
#include "e-selection.h"
-#include "e-ui-manager.h"
enum {
UPDATE_ACTIONS,
@@ -882,7 +881,7 @@ e_attachment_view_init (EAttachmentView *view)
priv = e_attachment_view_get_private (view);
- ui_manager = e_ui_manager_new ();
+ ui_manager = gtk_ui_manager_new ();
priv->merge_id = gtk_ui_manager_new_merge_id (ui_manager);
priv->ui_manager = ui_manager;
diff --git a/e-util/e-plugin-ui.c b/e-util/e-plugin-ui.c
index 3ef863c2a3..a8d0368e3e 100644
--- a/e-util/e-plugin-ui.c
+++ b/e-util/e-plugin-ui.c
@@ -21,8 +21,6 @@
#include "e-plugin-ui.h"
-#include "e-ui-manager.h"
-
#include <string.h>
#define E_PLUGIN_UI_HOOK_GET_PRIVATE(obj) \
@@ -247,12 +245,8 @@ plugin_ui_hook_merge_ui (EPluginUIHook *hook,
ui_definition = g_hash_table_lookup (hash_table, id);
g_return_val_if_fail (ui_definition != NULL, 0);
- if (E_IS_UI_MANAGER (ui_manager))
- merge_id = e_ui_manager_add_ui_from_string (
- E_UI_MANAGER (ui_manager), ui_definition, &error);
- else
- merge_id = gtk_ui_manager_add_ui_from_string (
- ui_manager, ui_definition, -1, &error);
+ merge_id = gtk_ui_manager_add_ui_from_string (
+ ui_manager, ui_definition, -1, &error);
if (error != NULL) {
g_warning ("%s", error->message);
diff --git a/e-util/e-ui-manager.c b/e-util/e-ui-manager.c
deleted file mode 100644
index 4661cbc7cb..0000000000
--- a/e-util/e-ui-manager.c
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * e-ui-manager.c
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) version 3.
- *
- * This program 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with the program; if not, see <http://www.gnu.org/licenses/>
- *
- */
-
-/**
- * SECTION: e-ui-manager
- * @short_description: construct menus and toolbars from a UI definition
- * @include: e-util/e-util.h
- *
- * This is a #GtkUIManager with support for Evolution's "express" mode,
- * which influences the parsing of UI definitions.
- **/
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-#include "e-ui-manager.h"
-#include "e-util-private.h"
-
-#include <string.h>
-
-#define E_UI_MANAGER_GET_PRIVATE(obj) \
- (G_TYPE_INSTANCE_GET_PRIVATE \
- ((obj), E_TYPE_UI_MANAGER, EUIManagerPrivate))
-
-/*
- * --- NOTE TO SELF ---
- *
- * While creating this class I was tempted to add an "id" property which
- * EPluginUI could extract from a given EUIManager instead of having the
- * public EPluginUI functions take a separate "id" argument. Seemed like
- * a nice cleanup until I remembered that an EUIManager instance can have
- * multiple IDs ("aliases"), as in the case of EShellWindow's UI manager.
- * So the UI Manager ID and the instance still need to be kept separate.
- *
- * Mentioning it here in case I forget why I didn't go through with it.
- */
-
-struct _EUIManagerPrivate {
- guint express_mode : 1;
-};
-
-enum {
- PROP_0,
- PROP_EXPRESS_MODE
-};
-
-G_DEFINE_TYPE (
- EUIManager,
- e_ui_manager,
- GTK_TYPE_UI_MANAGER)
-
-static void
-ui_manager_set_property (GObject *object,
- guint property_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- switch (property_id) {
- case PROP_EXPRESS_MODE:
- e_ui_manager_set_express_mode (
- E_UI_MANAGER (object),
- g_value_get_boolean (value));
- return;
- }
-
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-}
-
-static void
-ui_manager_get_property (GObject *object,
- guint property_id,
- GValue *value,
- GParamSpec *pspec)
-{
- switch (property_id) {
- case PROP_EXPRESS_MODE:
- g_value_set_boolean (
- value, e_ui_manager_get_express_mode (
- E_UI_MANAGER (object)));
- return;
- }
-
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
-}
-
-static gchar *
-ui_manager_filter_ui (EUIManager *ui_manager,
- const gchar *ui_definition)
-{
- gchar **lines;
- gchar *filtered;
- gboolean express_mode;
- gboolean include = TRUE;
- gint ii;
-
- express_mode = e_ui_manager_get_express_mode (ui_manager);
-
- /*
- * Very simple C style pre-processing in-line in the XML:
- * #if [!]EXPRESS\n ... \n#endif\n
- */
- lines = g_strsplit (ui_definition, "\n", -1);
-
- for (ii = 0; lines[ii] != NULL; ii++) {
- if (lines[ii][0] == '#') {
- if (!strncmp (lines[ii], "#if ", 4)) {
- gboolean not_express = lines[ii][4] == '!';
- include = express_mode ^ not_express;
- lines[ii][0] = '\0';
- } else if (!strncmp (lines[ii], "#endif", 6)) {
- lines[ii][0] = '\0';
- include = TRUE;
- }
- }
- if (!include)
- lines[ii][0] = '\0';
- }
-
- filtered = g_strjoinv ("\n", lines);
-
- g_strfreev (lines);
-
- return filtered;
-}
-
-static void
-e_ui_manager_class_init (EUIManagerClass *class)
-{
- GObjectClass *object_class;
-
- g_type_class_add_private (class, sizeof (EUIManagerPrivate));
-
- object_class = G_OBJECT_CLASS (class);
- object_class->set_property = ui_manager_set_property;
- object_class->get_property = ui_manager_get_property;
-
- class->filter_ui = ui_manager_filter_ui;
-
- g_object_class_install_property (
- object_class,
- PROP_EXPRESS_MODE,
- g_param_spec_boolean (
- "express-mode",
- "Express Mode",
- NULL,
- FALSE,
- G_PARAM_READWRITE |
- G_PARAM_CONSTRUCT));
-}
-
-static void
-e_ui_manager_init (EUIManager *ui_manager)
-{
- ui_manager->priv = E_UI_MANAGER_GET_PRIVATE (ui_manager);
-}
-
-/**
- * e_ui_manager_new:
- *
- * Returns a new #EUIManager instance.
- *
- * Returns: a new #EUIManager instance
- **/
-GtkUIManager *
-e_ui_manager_new (void)
-{
- return g_object_new (E_TYPE_UI_MANAGER, NULL);
-}
-
-/**
- * e_ui_manager_get_express_mode:
- * @ui_manager: an #EUIManager
- *
- * Returns the "express mode" flag in @ui_manager.
- *
- * Returns: %TRUE if @ui_manager is set to express mode
- **/
-gboolean
-e_ui_manager_get_express_mode (EUIManager *ui_manager)
-{
- g_return_val_if_fail (E_IS_UI_MANAGER (ui_manager), FALSE);
-
- return ui_manager->priv->express_mode;
-}
-
-/**
- * e_ui_manager_set_express_mode:
- * @ui_manager: an #EUIManager
- * @express_mode: express mode flag
- *
- * Sets the "express mode" flag in @ui_manager, which influences how
- * UI definitions are loaded.
- **/
-void
-e_ui_manager_set_express_mode (EUIManager *ui_manager,
- gboolean express_mode)
-{
- g_return_if_fail (E_IS_UI_MANAGER (ui_manager));
-
- if (ui_manager->priv->express_mode == express_mode)
- return;
-
- ui_manager->priv->express_mode = express_mode;
-
- g_object_notify (G_OBJECT (ui_manager), "express-mode");
-}
-
-/**
- * e_ui_manager_add_ui_from_file:
- * @ui_manager: an #EUIManager
- * @basename: basename of the UI definition file
- *
- * Loads a UI definition into @ui_manager from Evolution's UI directory.
- * If the EUIManager:express-mode property is %TRUE, a simplified version
- * of the UI may be presented.
- *
- * Failure here is fatal, since the application can't function without
- * its core UI definitions.
- *
- * Returns: The merge ID for the merged UI. The merge ID can be used to
- * unmerge the UI with gtk_ui_manager_remove_ui().
- **/
-guint
-e_ui_manager_add_ui_from_file (EUIManager *ui_manager,
- const gchar *basename)
-{
- EUIManagerClass *class;
- gchar *filename;
- gchar *contents;
- guint merge_id = 0;
- GError *error = NULL;
-
- g_return_val_if_fail (E_IS_UI_MANAGER (ui_manager), 0);
- g_return_val_if_fail (basename != NULL, 0);
-
- class = E_UI_MANAGER_GET_CLASS (ui_manager);
- g_return_val_if_fail (class->filter_ui != NULL, 0);
-
- filename = g_build_filename (EVOLUTION_UIDIR, basename, NULL);
-
- if (g_file_get_contents (filename, &contents, NULL, &error)) {
- gchar *filtered;
-
- /* We could call e_ui_manager_add_ui_from_string() here,
- * but if an error occurs we'd like to include the file
- * name in the error message. */
-
- filtered = class->filter_ui (ui_manager, contents);
-
- merge_id = gtk_ui_manager_add_ui_from_string (
- GTK_UI_MANAGER (ui_manager), filtered, -1, &error);
-
- g_free (filtered);
- g_free (contents);
- }
-
- g_free (filename);
-
- if (error != NULL) {
- g_error ("%s: %s", basename, error->message);
- g_assert_not_reached ();
- }
-
- return merge_id;
-}
-
-/**
- * e_ui_manager_add_ui_from_string:
- * @ui_manager: an #EUIManager
- * @ui_definition: the UI XML in NULL terminated string form
- * @error: return location for a #GError, or %NULL
- *
- * Loads the given UI definition into @ui_manager. If the
- * EUIManager:express-mode property is %TRUE, a simplified version of
- * the UI may be presented.
- *
- * Failure here is <emphasis>not</emphasis> fatal, since the function is
- * primarily used to load UI definitions for plugins, which we can get by
- * without.
- *
- * Returns: The merge ID for the merged UI. The merge ID can be used to
- * unmerge the UI with gtk_ui_manager_remove_ui().
- **/
-guint
-e_ui_manager_add_ui_from_string (EUIManager *ui_manager,
- const gchar *ui_definition,
- GError **error)
-{
- EUIManagerClass *class;
- gchar *filtered;
- guint merge_id;
-
- g_return_val_if_fail (E_IS_UI_MANAGER (ui_manager), 0);
- g_return_val_if_fail (ui_definition != NULL, 0);
-
- class = E_UI_MANAGER_GET_CLASS (ui_manager);
- g_return_val_if_fail (class->filter_ui != NULL, 0);
-
- filtered = class->filter_ui (ui_manager, ui_definition);
-
- merge_id = gtk_ui_manager_add_ui_from_string (
- GTK_UI_MANAGER (ui_manager), filtered, -1, error);
-
- g_free (filtered);
-
- return merge_id;
-}
diff --git a/e-util/e-ui-manager.h b/e-util/e-ui-manager.h
deleted file mode 100644
index 65948d1678..0000000000
--- a/e-util/e-ui-manager.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * e-ui-manager.h
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) version 3.
- *
- * This program 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with the program; if not, see <http://www.gnu.org/licenses/>
- *
- */
-
-#if !defined (__E_UTIL_H_INSIDE__) && !defined (LIBEUTIL_COMPILATION)
-#error "Only <e-util/e-util.h> should be included directly."
-#endif
-
-#ifndef E_UI_MANAGER_H
-#define E_UI_MANAGER_H
-
-#include <gtk/gtk.h>
-
-/* Standard GObject macros */
-#define E_TYPE_UI_MANAGER \
- (e_ui_manager_get_type ())
-#define E_UI_MANAGER(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST \
- ((obj), E_TYPE_UI_MANAGER, EUIManager))
-#define E_UI_MANAGER_CLASS(cls) \
- (G_TYPE_CHECK_CLASS_CAST \
- ((cls), E_TYPE_UI_MANAGER, EUIManagerClass))
-#define E_IS_UI_MANAGER(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE \
- ((obj), E_TYPE_UI_MANAGER))
-#define E_IS_UI_MANAGER_CLASS(cls) \
- (G_TYPE_CHECK_CLASS_TYPE \
- ((cls), E_TYPE_UI_MANAGER))
-#define E_UI_MANAGER_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS \
- ((obj), E_TYPE_UI_MANAGER, EUIManagerClass))
-
-G_BEGIN_DECLS
-
-typedef struct _EUIManager EUIManager;
-typedef struct _EUIManagerClass EUIManagerClass;
-typedef struct _EUIManagerPrivate EUIManagerPrivate;
-
-struct _EUIManager {
- GtkUIManager parent;
- EUIManagerPrivate *priv;
-};
-
-struct _EUIManagerClass {
- GtkUIManagerClass parent_class;
-
- gchar * (*filter_ui) (EUIManager *ui_manager,
- const gchar *ui_definition);
-};
-
-GType e_ui_manager_get_type (void) G_GNUC_CONST;
-GtkUIManager * e_ui_manager_new (void);
-gboolean e_ui_manager_get_express_mode (EUIManager *ui_manager);
-void e_ui_manager_set_express_mode (EUIManager *ui_manager,
- gboolean express_mode);
-guint e_ui_manager_add_ui_from_file (EUIManager *ui_manager,
- const gchar *basename);
-guint e_ui_manager_add_ui_from_string (EUIManager *ui_manager,
- const gchar *ui_definition,
- GError **error);
-
-G_END_DECLS
-
-#endif /* E_UI_MANAGER_H */
diff --git a/e-util/e-util.h b/e-util/e-util.h
index 17c4e60d14..d60a6f0f62 100644
--- a/e-util/e-util.h
+++ b/e-util/e-util.h
@@ -215,7 +215,6 @@
#include <e-util/e-tree-sorted.h>
#include <e-util/e-tree-table-adapter.h>
#include <e-util/e-tree.h>
-#include <e-util/e-ui-manager.h>
#include <e-util/e-unicode.h>
#include <e-util/e-url-entry.h>
#include <e-util/e-util-enums.h>