aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/calendar-config.c
diff options
context:
space:
mode:
authorRodrigo Moya <rodrigo@ximian.com>2001-10-30 01:47:48 +0800
committerRodrigo Moya <rodrigo@src.gnome.org>2001-10-30 01:47:48 +0800
commitfc9020ba21008c6f4a8fe1826389747fab5c6848 (patch)
tree770375ed1a3a28db1a039afee94c200155549f88 /calendar/gui/calendar-config.c
parent8650735ac6fc68c6465554fd2b0e3edc26d87b14 (diff)
downloadgsoc2013-evolution-fc9020ba21008c6f4a8fe1826389747fab5c6848.tar.gz
gsoc2013-evolution-fc9020ba21008c6f4a8fe1826389747fab5c6848.tar.zst
gsoc2013-evolution-fc9020ba21008c6f4a8fe1826389747fab5c6848.zip
new functions for setting and retrieving the default calendar URIs
2001-10-29 Rodrigo Moya <rodrigo@ximian.com> * gui/calendar-config.[ch] (calendar_config_get_default_uri): (calendar_config_set_default_uri): (calendar_config_get_default_tasks_uri): (calendar_config_set_default_tasks_uri): new functions for setting and retrieving the default calendar URIs * gui/e-itip-control.c (init): don't use hard-coded URI, but use the default calendar URI, as returned by calendar_config_get_default_uri (start_calendar_server): added a "gboolean tasks" parameter, so that the local tasks.ics file is used if the calendar to be started is for tasks when no default tasks URI is found in the configuration svn path=/trunk/; revision=14345
Diffstat (limited to 'calendar/gui/calendar-config.c')
-rw-r--r--calendar/gui/calendar-config.c57
1 files changed, 56 insertions, 1 deletions
diff --git a/calendar/gui/calendar-config.c b/calendar/gui/calendar-config.c
index aca14f5ed5..591bd4343f 100644
--- a/calendar/gui/calendar-config.c
+++ b/calendar/gui/calendar-config.c
@@ -1,8 +1,9 @@
/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
- * Author :
+ * Authors :
* Damon Chaplin <damon@ximian.com>
+ * Rodrigo Moya <rodrigo@ximian.com>
*
* Copyright 2000, Ximian, Inc.
* Copyright 2000, Ximian, Inc.
@@ -44,6 +45,8 @@
typedef struct
{
+ gchar *default_uri;
+ gchar *default_tasks_uri;
gchar *timezone;
CalWeekdays working_days;
gboolean use_24_hour_format;
@@ -122,6 +125,12 @@ config_read (void)
CORBA_exception_free (&ev);
+ config->default_uri = bonobo_config_get_string (db,
+ "/Calendar/DefaultUri", NULL);
+
+ config->default_tasks_uri = bonobo_config_get_string (db,
+ "/Calendar/DefaultTasksUri", NULL);
+
config->timezone = bonobo_config_get_string (db,
"/Calendar/Display/Timezone", NULL);
@@ -233,6 +242,14 @@ calendar_config_write (void)
return;
}
+ if (config->default_uri)
+ bonobo_config_set_string (db, "/Calendar/DefaultUri",
+ config->default_uri, NULL);
+
+ if (config->default_tasks_uri)
+ bonobo_config_set_string (db, "/Calendar/DefaultTasksUri",
+ config->default_tasks_uri, NULL);
+
if (config->timezone)
bonobo_config_set_string (db, "/Calendar/Display/Timezone",
config->timezone, NULL);
@@ -331,6 +348,44 @@ calendar_config_write_on_exit (void)
* Calendar Settings.
*/
+/* The default URI is the one that will be used in places where there
+ might be some action on a calendar from outside, such as adding
+ a meeting request. */
+gchar *
+calendar_config_get_default_uri (void)
+{
+ return config->default_uri;
+}
+
+/* Sets the default calendar URI */
+void
+calendar_config_set_default_uri (gchar *default_uri)
+{
+ g_free (config->default_uri);
+
+ if (default_uri && default_uri[0])
+ config->default_uri = g_strdup (default_uri);
+ else
+ config->default_uri = NULL;
+}
+
+gchar *
+calendar_config_get_default_tasks_uri (void)
+{
+ return config->default_tasks_uri;
+}
+
+void
+calendar_config_set_default_tasks_uri (gchar *default_tasks_uri)
+{
+ g_free (config->default_tasks_uri);
+
+ if (default_tasks_uri && default_tasks_uri[0])
+ config->default_tasks_uri = g_strdup (default_tasks_uri);
+ else
+ config->default_tasks_uri = NULL;
+}
+
/* The current timezone, e.g. "Europe/London". It may be NULL, in which case
you should assume UTC (though Evolution will show the timezone-setting
dialog the next time a calendar or task folder is selected). */