diff options
author | Federico Mena Quintero <federico@ximian.com> | 2001-10-25 01:27:22 +0800 |
---|---|---|
committer | Federico Mena Quintero <federico@src.gnome.org> | 2001-10-25 01:27:22 +0800 |
commit | c3876df777704e70f1d91689b4b29a69f8bf3e66 (patch) | |
tree | fe1e0265b9c69c3c5159a173177bf3102fb29d3b /calendar/gui/dialogs | |
parent | 4d26929f07c5c34713671a36fb397dcc4522fcab (diff) | |
download | gsoc2013-evolution-c3876df777704e70f1d91689b4b29a69f8bf3e66.tar gsoc2013-evolution-c3876df777704e70f1d91689b4b29a69f8bf3e66.tar.gz gsoc2013-evolution-c3876df777704e70f1d91689b4b29a69f8bf3e66.tar.bz2 gsoc2013-evolution-c3876df777704e70f1d91689b4b29a69f8bf3e66.tar.lz gsoc2013-evolution-c3876df777704e70f1d91689b4b29a69f8bf3e66.tar.xz gsoc2013-evolution-c3876df777704e70f1d91689b4b29a69f8bf3e66.tar.zst gsoc2013-evolution-c3876df777704e70f1d91689b4b29a69f8bf3e66.zip |
Fixes bug #5282.
2001-10-24 Federico Mena Quintero <federico@ximian.com>
Fixes bug #5282.
* cal-util/timeutil.c (icaltimetype_to_tm_with_zone): New function
to avoid copying the same code all over the place.
(icaltimetype_to_tm): Also set the tm.tm_wday.
* gui/alarm-notify/alarm-queue.c (queue_midnight_refresh): Use
time_day_end_with_zone().
(load_alarms_for_today): Likewise. And oops, we were only
computing the times and not loading the alarms.
(obj_updated_cb): Likewise.
(load_alarms): Removed assertion that is no longer valid because
we may load the alarms for a client in two stages.
* gui/dialogs/alarm-page.c (get_alarm_string): Convert absolute
trigger times to the local timezone.
* gui/alarm-notify/alarm-notify-dialog.c (write_html_heading):
Convert the times to the local timezone.
(alarm_notify_dialog): Likewise, for the window title.
(alarm_notify_dialog): Set the window layer to WIN_LAYER_ONTOP.
* gui/e-cell-date-edit-text.c (ecd_get_text): Use
icaltimetype_to_tm_with_zone().
* gui/alarm-notify/save.c (get_config_db): Made public.
(discard_config_db): Made public.
* gui/alarm-notify/config-data.[ch]: New files with functions to
fetch the calendar configuration data used by the alarm daemon.
svn path=/trunk/; revision=13986
Diffstat (limited to 'calendar/gui/dialogs')
-rw-r--r-- | calendar/gui/dialogs/alarm-page.c | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/calendar/gui/dialogs/alarm-page.c b/calendar/gui/dialogs/alarm-page.c index 0824f410c5..276f6c3a24 100644 --- a/calendar/gui/dialogs/alarm-page.c +++ b/calendar/gui/dialogs/alarm-page.c @@ -33,7 +33,10 @@ #include <glade/glade.h> #include <gal/widgets/e-unicode.h> #include "e-util/e-dialog-widgets.h" +#include "e-util/e-time-utils.h" #include "cal-util/cal-util.h" +#include "cal-util/timeutil.h" +#include "../calendar-config.h" #include "comp-editor-util.h" #include "alarm-options.h" #include "alarm-page.h" @@ -428,20 +431,27 @@ get_alarm_string (CalComponentAlarm *alarm) break; case CAL_ALARM_TRIGGER_ABSOLUTE: { - time_t t; + struct icaltimetype itt; + icaltimezone *utc_zone, *current_zone; + char *location; struct tm tm; + char buf[256]; char *date; - t = icaltime_as_timet (trigger.u.abs_time); - if (t == -1) - date = g_strdup_printf (_("%s at an unknown time"), base); - else { - char buf[256]; + /* Absolute triggers come in UTC, so convert them to the local timezone */ - tm = *localtime (&t); - strftime (buf, sizeof (buf), "%A %b %d %Y %H:%M", &tm); - date = g_strdup_printf (_("%s at %s"), base, buf); - } + itt = trigger.u.abs_time; + + utc_zone = icaltimezone_get_utc_timezone (); + location = calendar_config_get_timezone (); + current_zone = icaltimezone_get_builtin_timezone (location); + + tm = icaltimetype_to_tm_with_zone (&itt, utc_zone, current_zone); + + e_time_format_date_and_time (&tm, calendar_config_get_24_hour_format (), + FALSE, FALSE, buf, sizeof (buf)); + + date = g_strdup_printf (_("%s at %s"), base, buf); break; } |