From 54a2c04bc16f8c01f011d99f793573e98209c917 Mon Sep 17 00:00:00 2001 From: Rodrigo Moya Date: Mon, 29 Oct 2001 18:57:55 +0000 Subject: retrieve the default URI for calendars from the configuration instead of 2001-10-29 Rodrigo Moya * 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 --- my-evolution/e-summary-tasks.c | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'my-evolution/e-summary-tasks.c') 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 #include +#include +#include #include 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 -- cgit v1.2.3