aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-memo-shell-view.c
diff options
context:
space:
mode:
authorMatthew Barnes <mbarnes@src.gnome.org>2008-09-12 09:54:07 +0800
committerMatthew Barnes <mbarnes@src.gnome.org>2008-09-12 09:54:07 +0800
commitdf6a8262a141e0bec824149e7f65568d2187c5c2 (patch)
tree463604008060e542f3dcdbfdd5fce4e056af8c1c /calendar/gui/e-memo-shell-view.c
parentcbe90f148abbfd273f301358c7fa73a58ff5dd41 (diff)
downloadgsoc2013-evolution-df6a8262a141e0bec824149e7f65568d2187c5c2.tar
gsoc2013-evolution-df6a8262a141e0bec824149e7f65568d2187c5c2.tar.gz
gsoc2013-evolution-df6a8262a141e0bec824149e7f65568d2187c5c2.tar.bz2
gsoc2013-evolution-df6a8262a141e0bec824149e7f65568d2187c5c2.tar.lz
gsoc2013-evolution-df6a8262a141e0bec824149e7f65568d2187c5c2.tar.xz
gsoc2013-evolution-df6a8262a141e0bec824149e7f65568d2187c5c2.tar.zst
gsoc2013-evolution-df6a8262a141e0bec824149e7f65568d2187c5c2.zip
Arrange for an ESourceList to be shared amongst all instances of a type of
shell view. For example, all EBookShellView instances will now share the same ESourceList instance for address books. svn path=/branches/kill-bonobo/; revision=36311
Diffstat (limited to 'calendar/gui/e-memo-shell-view.c')
-rw-r--r--calendar/gui/e-memo-shell-view.c46
1 files changed, 44 insertions, 2 deletions
diff --git a/calendar/gui/e-memo-shell-view.c b/calendar/gui/e-memo-shell-view.c
index c6ece950f0..6b9032bb17 100644
--- a/calendar/gui/e-memo-shell-view.c
+++ b/calendar/gui/e-memo-shell-view.c
@@ -20,10 +20,32 @@
#include "e-memo-shell-view-private.h"
+enum {
+ PROP_0,
+ PROP_SOURCE_LIST
+};
+
GType e_memo_shell_view_type = 0;
static gpointer parent_class;
static void
+memo_shell_view_get_property (GObject *object,
+ guint property_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ switch (property_id) {
+ case PROP_SOURCE_LIST:
+ g_value_set_object (
+ value, e_memo_shell_view_get_source_list (
+ E_MEMO_SHELL_VIEW (object)));
+ return;
+ }
+
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+}
+
+static void
memo_shell_view_dispose (GObject *object)
{
e_memo_shell_view_private_dispose (E_MEMO_SHELL_VIEW (object));
@@ -75,6 +97,7 @@ memo_shell_view_class_init (EMemoShellView *class,
g_type_class_add_private (class, sizeof (EMemoShellViewPrivate));
object_class = G_OBJECT_CLASS (class);
+ object_class->get_property = memo_shell_view_get_property;
object_class->dispose = memo_shell_view_dispose;
object_class->finalize = memo_shell_view_finalize;
object_class->constructed = memo_shell_view_constructed;
@@ -84,15 +107,26 @@ memo_shell_view_class_init (EMemoShellView *class,
shell_view_class->icon_name = "evolution-memos";
shell_view_class->type_module = type_module;
shell_view_class->changed = memo_shell_view_changed;
+
+ g_object_class_install_property (
+ object_class,
+ PROP_SOURCE_LIST,
+ g_param_spec_object (
+ "source-list",
+ _("Source List"),
+ _("The registry of memo lists"),
+ E_TYPE_SOURCE_LIST,
+ G_PARAM_READABLE));
}
static void
-memo_shell_view_init (EMemoShellView *memo_shell_view)
+memo_shell_view_init (EMemoShellView *memo_shell_view,
+ EShellViewClass *shell_view_class)
{
memo_shell_view->priv =
E_MEMO_SHELL_VIEW_GET_PRIVATE (memo_shell_view);
- e_memo_shell_view_private_init (memo_shell_view);
+ e_memo_shell_view_private_init (memo_shell_view, shell_view_class);
}
GType
@@ -120,3 +154,11 @@ e_memo_shell_view_get_type (GTypeModule *type_module)
return e_memo_shell_view_type;
}
+
+ESourceList *
+e_memo_shell_view_get_source_list (EMemoShellView *memo_shell_view)
+{
+ g_return_val_if_fail (E_IS_MEMO_SHELL_VIEW (memo_shell_view), NULL);
+
+ return memo_shell_view->priv->source_list;
+}