diff options
author | Rodrigo Moya <rodrigo@ximian.com> | 2001-10-30 02:57:55 +0800 |
---|---|---|
committer | Rodrigo Moya <rodrigo@src.gnome.org> | 2001-10-30 02:57:55 +0800 |
commit | 54a2c04bc16f8c01f011d99f793573e98209c917 (patch) | |
tree | 9f4c860a2f5435c3b46645c703d42f9030fe7145 /my-evolution/e-summary-tasks.c | |
parent | 242ed7f944cde5ab4d822e33be50bf689a8ce6b4 (diff) | |
download | gsoc2013-evolution-54a2c04bc16f8c01f011d99f793573e98209c917.tar.gz gsoc2013-evolution-54a2c04bc16f8c01f011d99f793573e98209c917.tar.zst gsoc2013-evolution-54a2c04bc16f8c01f011d99f793573e98209c917.zip |
retrieve the default URI for calendars from the configuration instead of
2001-10-29 Rodrigo Moya <rodrigo@ximian.com>
* e-summary-calendar.c (e_summary_calendar_init): retrieve the
default URI for calendars from the configuration instead of
hard-coding it
* e-summary-tasks.c (e_summary_tasks_init): likewise for tasks
svn path=/trunk/; revision=14352
Diffstat (limited to 'my-evolution/e-summary-tasks.c')
-rw-r--r-- | my-evolution/e-summary-tasks.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/my-evolution/e-summary-tasks.c b/my-evolution/e-summary-tasks.c index 8fc60f66f5..4700e507da 100644 --- a/my-evolution/e-summary-tasks.c +++ b/my-evolution/e-summary-tasks.c @@ -34,6 +34,8 @@ #include <bonobo/bonobo-exception.h> #include <bonobo/bonobo-object.h> +#include <bonobo/bonobo-moniker-util.h> +#include <bonobo-conf/bonobo-config-database.h> #include <liboaf/liboaf.h> struct _ESummaryTasks { @@ -374,6 +376,9 @@ e_summary_tasks_init (ESummary *summary) ESummaryTasks *tasks; gboolean result; char *uri; + char *default_uri; + Bonobo_ConfigDatabase db; + CORBA_Environment ev; g_return_if_fail (summary != NULL); @@ -381,8 +386,18 @@ e_summary_tasks_init (ESummary *summary) summary->tasks = tasks; tasks->html = NULL; + CORBA_exception_init (&ev); + db = bonobo_get_object ("wombat:", "Bonobo/ConfigDatabase", &ev); + if (BONOBO_EX (&ev) || db == CORBA_OBJECT_NIL) { + CORBA_exception_free (&ev); + g_warning ("Error getting Wombat. Using defaults"); + } + + CORBA_exception_free (&ev); + tasks->client = cal_client_new (); if (tasks->client == NULL) { + bonobo_object_release_unref (db, NULL); g_warning ("Error making the client"); return; } @@ -394,7 +409,12 @@ e_summary_tasks_init (ESummary *summary) gtk_signal_connect (GTK_OBJECT (tasks->client), "obj-removed", GTK_SIGNAL_FUNC (obj_changed_cb), summary); - uri = gnome_util_prepend_user_home ("evolution/local/Tasks/tasks.ics"); + default_uri = bonobo_config_get_string (db, "/Calendar/DefaultTasksUri", NULL); + if (!default_uri) + uri = gnome_util_prepend_user_home ("evolution/local/Tasks/tasks.ics"); + else + uri = g_strdup (default_uri); + result = cal_client_open_calendar (tasks->client, uri, FALSE); g_free (uri); if (result == FALSE) { @@ -402,6 +422,7 @@ e_summary_tasks_init (ESummary *summary) } e_summary_add_protocol_listener (summary, "tasks", e_summary_tasks_protocol, tasks); + bonobo_object_release_unref (db, NULL); } void |