From 8dcdc60cccf720ca7222ba01f645f491801e9f9e Mon Sep 17 00:00:00 2001 From: Matthew Barnes Date: Fri, 30 Jul 2010 12:10:01 -0400 Subject: Make EImportAssistant extensible. --- widgets/misc/e-import-assistant.c | 53 ++++++++++++--------------------------- 1 file changed, 16 insertions(+), 37 deletions(-) (limited to 'widgets/misc') diff --git a/widgets/misc/e-import-assistant.c b/widgets/misc/e-import-assistant.c index 5fbcc0c113..93e3579bb8 100644 --- a/widgets/misc/e-import-assistant.c +++ b/widgets/misc/e-import-assistant.c @@ -29,8 +29,9 @@ #include #include -#include "e-util/e-import.h" -#include "e-util/e-util-private.h" +#include +#include +#include #define E_IMPORT_ASSISTANT_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE \ @@ -120,9 +121,12 @@ enum { LAST_SIGNAL }; -static gpointer parent_class; static guint signals[LAST_SIGNAL]; +G_DEFINE_TYPE_WITH_CODE ( + EImportAssistant, e_import_assistant, GTK_TYPE_ASSISTANT, + G_IMPLEMENT_INTERFACE (E_TYPE_EXTENSIBLE, NULL)) + /* Importing functions */ static void @@ -1106,7 +1110,7 @@ import_assistant_dispose (GObject *object) } /* Chain up to parent's dispose() method. */ - G_OBJECT_CLASS (parent_class)->dispose (object); + G_OBJECT_CLASS (e_import_assistant_parent_class)->dispose (object); } static void @@ -1119,7 +1123,7 @@ import_assistant_finalize (GObject *object) g_slist_free (priv->selection_page.importers); /* Chain up to parent's finalize() method. */ - G_OBJECT_CLASS (parent_class)->finalize (object); + G_OBJECT_CLASS (e_import_assistant_parent_class)->finalize (object); } static void @@ -1157,7 +1161,7 @@ static gboolean import_assistant_key_press_event (GtkWidget *widget, GdkEventKey *event) { - GtkWidgetClass *widget_class; + GtkWidgetClass *parent_class; if (event->keyval == GDK_Escape) { g_signal_emit_by_name (widget, "cancel"); @@ -1165,8 +1169,8 @@ import_assistant_key_press_event (GtkWidget *widget, } /* Chain up to parent's key_press_event () method. */ - widget_class = GTK_WIDGET_CLASS (parent_class); - return widget_class->key_press_event (widget, event); + parent_class = GTK_WIDGET_CLASS (e_import_assistant_parent_class); + return parent_class->key_press_event (widget, event); } static void @@ -1209,13 +1213,12 @@ import_assistant_prepare (GtkAssistant *assistant, } static void -import_assistant_class_init (EImportAssistantClass *class) +e_import_assistant_class_init (EImportAssistantClass *class) { GObjectClass *object_class; GtkWidgetClass *widget_class; GtkAssistantClass *assistant_class; - parent_class = g_type_class_peek_parent (class); g_type_class_add_private (class, sizeof (EImportAssistantPrivate)); object_class = G_OBJECT_CLASS (class); @@ -1268,6 +1271,8 @@ import_assistant_construct (EImportAssistant *import_assistant) gtk_window_set_title (GTK_WINDOW (assistant), _("Evolution Import Assistant")); gtk_window_set_default_size (GTK_WINDOW (assistant), 500, 330); + e_extensible_load_extensions (E_EXTENSIBLE (import_assistant)); + if (import_assistant->priv->is_simple) { /* simple import assistant page, URIs of files will be known later */ page = import_assistant_simple_page_init (import_assistant); @@ -1360,37 +1365,11 @@ import_assistant_construct (EImportAssistant *import_assistant) } static void -import_assistant_init (EImportAssistant *import_assistant) +e_import_assistant_init (EImportAssistant *import_assistant) { /* do nothing here */ } -GType -e_import_assistant_get_type (void) -{ - static GType type = 0; - - if (G_UNLIKELY (type == 0)) { - static const GTypeInfo type_info = { - sizeof (EImportAssistantClass), - (GBaseInitFunc) NULL, - (GBaseFinalizeFunc) NULL, - (GClassInitFunc) import_assistant_class_init, - (GClassFinalizeFunc) NULL, - NULL, /* class_data */ - sizeof (EImportAssistant), - 0, /* n_preallocs */ - (GInstanceInitFunc) import_assistant_init, - NULL /* value_table */ - }; - - type = g_type_register_static ( - GTK_TYPE_ASSISTANT, "EImportAssistant", &type_info, 0); - } - - return type; -} - GtkWidget * e_import_assistant_new (GtkWindow *parent) { -- cgit v1.2.3