Author: juha Date: 2008-09-29 18:09:18 +0000 (Mon, 29 Sep 2008) New Revision: 27985
Modified: xfcalendar/trunk/configure.in.in xfcalendar/trunk/src/parameters.c Log: Orage 4.5.14.6 Find default timezone from operating system. Modified: xfcalendar/trunk/configure.in.in =================================================================== --- xfcalendar/trunk/configure.in.in 2008-09-29 12:42:21 UTC (rev 27984) +++ xfcalendar/trunk/configure.in.in 2008-09-29 18:09:18 UTC (rev 27985) @@ -9,7 +9,7 @@ dnl dnl Version information -m4_define([orage_version], [4.5.14.5-svn]) +m4_define([orage_version], [4.5.14.6-svn]) m4_define([gtk_minimum_version], [2.6.0]) m4_define([xfce_minimum_version], [4.4.0]) Modified: xfcalendar/trunk/src/parameters.c =================================================================== --- xfcalendar/trunk/src/parameters.c 2008-09-29 12:42:21 UTC (rev 27984) +++ xfcalendar/trunk/src/parameters.c 2008-09-29 18:09:18 UTC (rev 27985) @@ -36,6 +36,7 @@ #endif #include <glib.h> +#include <glib/gstdio.h> #include <glib/gprintf.h> #include <gtk/gtk.h> #include <gdk/gdk.h> @@ -410,7 +411,7 @@ { Itf *itf = (Itf *)user_data; - if (g_par.local_timezone == NULL || strlen(g_par.local_timezone) == 0) { + if (!ORAGE_STR_EXISTS(g_par.local_timezone)) { g_warning("timezone pressed: local timezone missing"); g_par.local_timezone = g_strdup("floating"); } @@ -959,6 +960,25 @@ orage_rc_file_close(orc); } +void init_default_timezone() +{ + gsize len; + + g_free(g_par.local_timezone); + if (g_file_get_contents("/etc/timezone", &g_par.local_timezone + , &len, NULL)) { + /* success! let's check it */ + if (len > 2) /* get rid of the \n at the end */ + g_par.local_timezone[len-1] = 0; + if (!xfical_set_local_timezone()) { /* test that ical knows it */ + g_free(g_par.local_timezone); + g_par.local_timezone = NULL; + } + } + if (!ORAGE_STR_EXISTS(g_par.local_timezone)) + g_par.local_timezone = g_strdup("floating"); +} + void read_parameters(void) { gchar *fpath; @@ -968,7 +988,10 @@ orc = orage_parameters_file_open(TRUE); - g_par.local_timezone = orage_rc_get_str(orc, "Timezone", "floating"); + g_par.local_timezone = orage_rc_get_str(orc, "Timezone", "not found"); + if (!strcmp(g_par.local_timezone, "not found")) { + init_default_timezone(); + } #ifdef HAVE_ARCHIVE g_par.archive_limit = orage_rc_get_int(orc, "Archive limit", 0); fpath = orage_data_file_location(ORAGE_ARC_FILE); _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits