aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--my-evolution/ChangeLog8
-rw-r--r--my-evolution/e-summary-calendar.c28
-rw-r--r--my-evolution/e-summary-tasks.c23
3 files changed, 48 insertions, 11 deletions
diff --git a/my-evolution/ChangeLog b/my-evolution/ChangeLog
index 4cc9aada28..9430d0c3e8 100644
--- a/my-evolution/ChangeLog
+++ b/my-evolution/ChangeLog
@@ -1,3 +1,11 @@
+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
+
2001-10-29 Ettore Perazzoli <ettore@ximian.com>
* e-summary-preferences.c (make_initial_weather_list): We only
diff --git a/my-evolution/e-summary-calendar.c b/my-evolution/e-summary-calendar.c
index c4640f0a62..7de4e6a545 100644
--- a/my-evolution/e-summary-calendar.c
+++ b/my-evolution/e-summary-calendar.c
@@ -487,6 +487,7 @@ e_summary_calendar_init (ESummary *summary)
ESummaryCalendar *calendar;
gboolean result;
char *uri;
+ char *default_uri;
g_return_if_fail (summary != NULL);
@@ -494,8 +495,19 @@ e_summary_calendar_init (ESummary *summary)
summary->calendar = calendar;
calendar->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");
+ return;
+ }
+
+ CORBA_exception_free (&ev);
+
calendar->client = cal_client_new ();
if (calendar->client == NULL) {
+ bonobo_object_release_unref (db, NULL);
g_warning ("Error making the client");
return;
}
@@ -507,7 +519,12 @@ e_summary_calendar_init (ESummary *summary)
gtk_signal_connect (GTK_OBJECT (calendar->client), "obj-removed",
GTK_SIGNAL_FUNC (obj_changed_cb), summary);
- uri = gnome_util_prepend_user_home ("evolution/local/Calendar/calendar.ics");
+ default_uri = bonobo_config_get_string (db, "/Calendar/DefaultUri", NULL);
+ if (!default_uri)
+ uri = gnome_util_prepend_user_home ("evolution/local/Calendar/calendar.ics");
+ else
+ uri = g_strdup (default_uri);
+
result = cal_client_open_calendar (calendar->client, uri, FALSE);
g_free (uri);
if (result == FALSE) {
@@ -515,18 +532,9 @@ e_summary_calendar_init (ESummary *summary)
}
e_summary_add_protocol_listener (summary, "calendar", e_summary_calendar_protocol, calendar);
-
- 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");
- return;
- }
calendar->wants24hr = bonobo_config_get_boolean_with_default (db, "/Calendar/Display/Use24HourFormat", locale_uses_24h_time_format (), NULL);
bonobo_object_release_unref (db, NULL);
- CORBA_exception_free (&ev);
}
void
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