From a718e57b258d993e8427bff2ee8a4eccf89a582f Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Sat, 20 Mar 2010 00:00:28 -0400 Subject: Make EShell and related classes extensible. --- shell/e-shell-view.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) (limited to 'shell/e-shell-view.c') diff --git a/shell/e-shell-view.c b/shell/e-shell-view.c index 3a5c6e219d..cd898532fe 100644 --- a/shell/e-shell-view.c +++ b/shell/e-shell-view.c @@ -24,11 +24,12 @@ #include #include -#include "e-util/e-util-private.h" -#include "e-util/e-util.h" +#include "e-util/e-extensible.h" #include "e-util/e-file-utils.h" #include "e-util/e-plugin-ui.h" #include "e-util/e-ui-manager.h" +#include "e-util/e-util-private.h" +#include "e-util/e-util.h" #include "filter/e-rule-context.h" #include "e-shell-window-actions.h" @@ -578,6 +579,8 @@ shell_view_constructed (GObject *object) /* Size group should be safe to unreference now. */ g_object_unref (shell_view->priv->size_group); shell_view->priv->size_group = NULL; + + e_extensible_load_extensions (E_EXTENSIBLE (object)); } static void @@ -976,9 +979,18 @@ e_shell_view_get_type (void) NULL /* value_table */ }; + const GInterfaceInfo extensible_info = { + (GInterfaceInitFunc) NULL, + (GInterfaceFinalizeFunc) NULL, + NULL /* interface_data */ + }; + type = g_type_register_static ( G_TYPE_OBJECT, "EShellView", &type_info, G_TYPE_FLAG_ABSTRACT); + + g_type_add_interface_static ( + type, E_TYPE_EXTENSIBLE, &extensible_info); } return type; -- cgit v1.2.3