diff options
Diffstat (limited to 'calendar/modules/e-cal-shell-backend.c')
-rw-r--r-- | calendar/modules/e-cal-shell-backend.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/calendar/modules/e-cal-shell-backend.c b/calendar/modules/e-cal-shell-backend.c index 8efade4a7c..d5b3ac7725 100644 --- a/calendar/modules/e-cal-shell-backend.c +++ b/calendar/modules/e-cal-shell-backend.c @@ -62,6 +62,11 @@ struct _ECalShellBackendPrivate { ESourceList *source_list; }; +enum { + PROP_0, + PROP_SOURCE_LIST +}; + /* Module Entry Point */ void e_module_load (GTypeModule *type_module); void e_module_unload (GTypeModule *type_module); @@ -520,6 +525,24 @@ cal_shell_backend_window_created_cb (EShellBackend *shell_backend, } static void +cal_shell_backend_get_property (GObject *object, + guint property_id, + GValue *value, + GParamSpec *pspec) +{ + switch (property_id) { + case PROP_SOURCE_LIST: + g_value_set_object ( + value, + e_cal_shell_backend_get_source_list ( + E_CAL_SHELL_BACKEND (object))); + return; + } + + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); +} + +static void cal_shell_backend_dispose (GObject *object) { ECalShellBackendPrivate *priv; @@ -577,6 +600,7 @@ cal_shell_backend_class_init (ECalShellBackendClass *class) g_type_class_add_private (class, sizeof (ECalShellBackendPrivate)); object_class = G_OBJECT_CLASS (class); + object_class->get_property = cal_shell_backend_get_property; object_class->dispose = cal_shell_backend_dispose; object_class->constructed = cal_shell_backend_constructed; @@ -590,6 +614,16 @@ cal_shell_backend_class_init (ECalShellBackendClass *class) shell_backend_class->is_busy = NULL; shell_backend_class->shutdown = NULL; shell_backend_class->migrate = e_cal_shell_backend_migrate; + + g_object_class_install_property ( + object_class, + PROP_SOURCE_LIST, + g_param_spec_object ( + "source-list", + _("Source List"), + _("The registry of calendars"), + E_TYPE_SOURCE_LIST, + G_PARAM_READABLE)); } static void |