[evolution-data-server] Make ENameSelectorDialog extensible.
- From: Matthew Barnes <mbarnes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server] Make ENameSelectorDialog extensible.
- Date: Thu, 12 Apr 2012 13:54:36 +0000 (UTC)
commit 7ac3a6c368377b2a17f6e04cf176492590052dba
Author: Matthew Barnes <mbarnes redhat com>
Date: Thu Apr 12 08:28:22 2012 -0400
Make ENameSelectorDialog extensible.
libedataserverui/Makefile.am | 1 +
libedataserverui/e-name-selector-dialog.c | 28 +++++++++++++++++++++++-----
2 files changed, 24 insertions(+), 5 deletions(-)
---
diff --git a/libedataserverui/Makefile.am b/libedataserverui/Makefile.am
index b608ff0..2b5d51f 100644
--- a/libedataserverui/Makefile.am
+++ b/libedataserverui/Makefile.am
@@ -80,6 +80,7 @@ libedataserverui_3_0_la_LIBADD = \
$(top_builddir)/addressbook/libebook/libebook-1.2.la \
$(top_builddir)/calendar/libecal/libecal-1.2.la \
$(top_builddir)/libedataserver/libedataserver-1.2.la \
+ $(top_builddir)/libebackend/libebackend-1.2.la \
$(top_builddir)/camel/libcamel-1.2.la \
$(E_DATA_SERVER_UI_LIBS) \
$(GNOME_KEYRING_LIBS) \
diff --git a/libedataserverui/e-name-selector-dialog.c b/libedataserverui/e-name-selector-dialog.c
index f36e7fb..1555de1 100644
--- a/libedataserverui/e-name-selector-dialog.c
+++ b/libedataserverui/e-name-selector-dialog.c
@@ -34,6 +34,8 @@
#include <libedataserver/e-sexp.h>
#include <libedataserver/e-categories.h>
+#include <libebackend/e-extensible.h>
+
#include <libebook/e-book-client.h>
#include <libebook/e-book-client-view.h>
#include <libebook/e-book-query.h>
@@ -109,7 +111,12 @@ static void destination_column_formatter (GtkTreeViewColumn *column, GtkCel
* Class/object setup *
* ------------------ */
-G_DEFINE_TYPE (ENameSelectorDialog, e_name_selector_dialog, GTK_TYPE_DIALOG)
+G_DEFINE_TYPE_WITH_CODE (
+ ENameSelectorDialog,
+ e_name_selector_dialog,
+ GTK_TYPE_DIALOG,
+ G_IMPLEMENT_INTERFACE (
+ E_TYPE_EXTENSIBLE, NULL))
static void
e_name_selector_dialog_populate_categories (ENameSelectorDialog *name_selector_dialog)
@@ -435,7 +442,7 @@ e_name_selector_dialog_init (ENameSelectorDialog *name_selector_dialog)
}
static void
-e_name_selector_dialog_dispose (GObject *object)
+name_selector_dialog_dispose (GObject *object)
{
remove_books (E_NAME_SELECTOR_DIALOG (object));
shutdown_name_selector_model (E_NAME_SELECTOR_DIALOG (object));
@@ -445,7 +452,7 @@ e_name_selector_dialog_dispose (GObject *object)
}
static void
-e_name_selector_dialog_finalize (GObject *object)
+name_selector_dialog_finalize (GObject *object)
{
ENameSelectorDialogPrivate *priv;
@@ -463,6 +470,16 @@ e_name_selector_dialog_finalize (GObject *object)
}
static void
+name_selector_dialog_constructed (GObject *object)
+{
+ /* Chain up to parent's constructed() method. */
+ G_OBJECT_CLASS (e_name_selector_dialog_parent_class)->
+ constructed (object);
+
+ e_extensible_load_extensions (E_EXTENSIBLE (object));
+}
+
+static void
e_name_selector_dialog_class_init (ENameSelectorDialogClass *class)
{
GObjectClass *object_class;
@@ -470,8 +487,9 @@ e_name_selector_dialog_class_init (ENameSelectorDialogClass *class)
g_type_class_add_private (class, sizeof (ENameSelectorDialogPrivate));
object_class = G_OBJECT_CLASS (class);
- object_class->dispose = e_name_selector_dialog_dispose;
- object_class->finalize = e_name_selector_dialog_finalize;
+ object_class->dispose = name_selector_dialog_dispose;
+ object_class->finalize = name_selector_dialog_finalize;
+ object_class->constructed = name_selector_dialog_constructed;
}
/**
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]