From 501da8aa29d496ef765a3afb5ac1b3fc1361c7e2 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 24 Apr 2009 16:58:15 +0200 Subject: Get rid of "Adjust for daylight saving time" option ** Fix for bug #577615 * gui/dialogs/cal-prefs-dialog.h: (struct _CalendarPrefsDialog): * gui/dialogs/cal-prefs-dialog.c: (timezone_changed), (daylight_saving_changed), (setup_changes), (show_config), (calendar_prefs_dialog_construct): * gui/dialogs/cal-prefs-dialog.glade: * gui/apps_evolution_calendar.schemas.in: * gui/calendar-config-keys.h: * gui/calendar-config.h: * gui/calendar-config.c: (set_standard_offsets), (calendar_config_get_icaltimezone), (calendar_config_get_daylight_saving), (calendar_config_set_daylight_saving), (calendar_config_add_notification_daylight_saving): Get rid of "Adjust for daylight saving time" option. --- calendar/ChangeLog | 19 ++++ calendar/gui/apps_evolution_calendar.schemas.in | 12 --- calendar/gui/calendar-config-keys.h | 1 - calendar/gui/calendar-config.c | 111 ------------------------ calendar/gui/calendar-config.h | 4 - calendar/gui/dialogs/cal-prefs-dialog.c | 27 ------ calendar/gui/dialogs/cal-prefs-dialog.glade | 22 ----- calendar/gui/dialogs/cal-prefs-dialog.h | 1 - 8 files changed, 19 insertions(+), 178 deletions(-) (limited to 'calendar') diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 285c5ce9db..1d13cca3fe 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,22 @@ +2009-04-24 Milan Crha + + ** Fix for bug #577615 + + * gui/dialogs/cal-prefs-dialog.h: (struct _CalendarPrefsDialog): + * gui/dialogs/cal-prefs-dialog.c: (timezone_changed), + (daylight_saving_changed), (setup_changes), (show_config), + (calendar_prefs_dialog_construct): + * gui/dialogs/cal-prefs-dialog.glade: + * gui/apps_evolution_calendar.schemas.in: + * gui/calendar-config-keys.h: + * gui/calendar-config.h: + * gui/calendar-config.c: (set_standard_offsets), + (calendar_config_get_icaltimezone), + (calendar_config_get_daylight_saving), + (calendar_config_set_daylight_saving), + (calendar_config_add_notification_daylight_saving): + Get rid of "Adjust for daylight saving time" option. + 2009-04-24 Milan Crha ** Fix for bug #572348 diff --git a/calendar/gui/apps_evolution_calendar.schemas.in b/calendar/gui/apps_evolution_calendar.schemas.in index 1bc91840d2..be21c2930c 100644 --- a/calendar/gui/apps_evolution_calendar.schemas.in +++ b/calendar/gui/apps_evolution_calendar.schemas.in @@ -52,18 +52,6 @@ - - /schemas/apps/evolution/calendar/display/use_daylight_saving - /apps/evolution/calendar/display/use_daylight_saving - evolution-calendar - bool - true - - daylight savings time - Whether to use daylight savings time while displaying events. - - - /schemas/apps/evolution/calendar/display/use_24hour_format /apps/evolution/calendar/display/use_24hour_format diff --git a/calendar/gui/calendar-config-keys.h b/calendar/gui/calendar-config-keys.h index 05feb18d00..9d744eeb8e 100644 --- a/calendar/gui/calendar-config-keys.h +++ b/calendar/gui/calendar-config-keys.h @@ -29,7 +29,6 @@ G_BEGIN_DECLS /* Display settings */ #define CALENDAR_CONFIG_TIMEZONE CALENDAR_CONFIG_PREFIX "/display/timezone" -#define CALENDAR_CONFIG_DAYLIGHT_SAVING CALENDAR_CONFIG_PREFIX "/display/use_daylight_saving" #define CALENDAR_CONFIG_SELECTED_CALENDARS CALENDAR_CONFIG_PREFIX "/display/selected_calendars" #define CALENDAR_CONFIG_PRIMARY_CALENDAR CALENDAR_CONFIG_PREFIX "/display/primary_calendar" #define CALENDAR_CONFIG_24HOUR CALENDAR_CONFIG_PREFIX "/display/use_24hour_format" diff --git a/calendar/gui/calendar-config.c b/calendar/gui/calendar-config.c index 6a7cf94ee7..103d92f640 100644 --- a/calendar/gui/calendar-config.c +++ b/calendar/gui/calendar-config.c @@ -43,9 +43,6 @@ static GConfClient *config = NULL; -/* Store the zones here, this is not destroyed as the ical timezones */ -static GHashTable *custom_zones = NULL; - static void do_cleanup (void) { @@ -197,27 +194,6 @@ calendar_config_get_timezone (void) return gconf_client_get_string (config, CALENDAR_CONFIG_TIMEZONE, NULL); } -static void -set_standard_offsets (icalcomponent *zone_comp, int offset) -{ - icalcomponent *dl_comp, *s_comp; - icalproperty *offset_from, *offset_to; - - /* Set the offset of the standard component to all the daylight components also */ - for (dl_comp = icalcomponent_get_first_component (zone_comp, ICAL_XDAYLIGHT_COMPONENT); dl_comp != NULL; - dl_comp = icalcomponent_get_next_component (zone_comp, ICAL_XDAYLIGHT_COMPONENT)) { - offset_to = icalcomponent_get_first_property (dl_comp, ICAL_TZOFFSETTO_PROPERTY); - icalproperty_set_tzoffsetto (offset_to, offset); - } - - /* Set the tzto offset of the standard component to tzfrom */ - for (s_comp = icalcomponent_get_first_component (zone_comp, ICAL_XSTANDARD_COMPONENT); s_comp != NULL; - s_comp = icalcomponent_get_next_component (zone_comp, ICAL_XSTANDARD_COMPONENT)) { - offset_from = icalcomponent_get_first_property (s_comp, ICAL_TZOFFSETFROM_PROPERTY); - icalproperty_set_tzoffsetfrom (offset_from, offset); - } -} - icaltimezone * calendar_config_get_icaltimezone (void) { @@ -228,71 +204,13 @@ calendar_config_get_icaltimezone (void) location = calendar_config_get_timezone (); if (location) { - icalcomponent *icalcomp, *dl_comp; - zone = icaltimezone_get_builtin_timezone (location); - icalcomp = icaltimezone_get_component (zone); - - if (!icalcomp || !(dl_comp = icalcomponent_get_first_component (icalcomp, ICAL_XDAYLIGHT_COMPONENT))) { - g_free (location); - return zone; - } - - if (!calendar_config_get_daylight_saving () && zone) { - icalcomponent *zone_comp, *s_comp; - icalproperty *tz_prop, *offset_to; - icaltimezone *st_zone = NULL; - int offset; - const char *tzid; - char *n_tzid; - - tzid = icaltimezone_get_tzid (zone); - n_tzid = g_strconcat (tzid, "-(Standard)", NULL); - - if (!custom_zones) { - custom_zones = g_hash_table_new (g_str_hash, g_str_equal); - } else if ((st_zone = g_hash_table_lookup (custom_zones, n_tzid))) { - g_free (n_tzid); - g_free (location); - return st_zone; - } - - zone_comp = icalcomponent_new_clone (icalcomp); - s_comp = icalcomponent_get_first_component (zone_comp, ICAL_XSTANDARD_COMPONENT); - - if (!s_comp) { - g_free (n_tzid); - icalcomponent_free (zone_comp); - g_free (location); - return zone; - } - - offset_to = icalcomponent_get_first_property (s_comp, ICAL_TZOFFSETTO_PROPERTY); - offset = icalproperty_get_tzoffsetto (offset_to); - - set_standard_offsets (zone_comp, offset); - - tz_prop = icalcomponent_get_first_property (zone_comp, ICAL_TZID_PROPERTY); - if (tz_prop) { - icalcomponent_remove_property (zone_comp, tz_prop); - } - - tz_prop = icalproperty_new_tzid (n_tzid); - icalcomponent_add_property (zone_comp, tz_prop); - - st_zone = icaltimezone_new (); - icaltimezone_set_component (st_zone, zone_comp); - - zone = st_zone; - g_hash_table_insert (custom_zones, n_tzid, zone); - } g_free (location); } return zone; } - /* Sets the timezone. If set to NULL it defaults to UTC. FIXME: Should check it is being set to a valid timezone. */ void @@ -318,35 +236,6 @@ calendar_config_add_notification_timezone (GConfClientNotifyFunc func, gpointer return id; } -gboolean -calendar_config_get_daylight_saving (void) -{ - calendar_config_init (); - - return gconf_client_get_bool (config, CALENDAR_CONFIG_DAYLIGHT_SAVING, NULL); - -} - -void -calendar_config_set_daylight_saving (gboolean daylight_saving) -{ - calendar_config_init (); - - gconf_client_set_bool (config, CALENDAR_CONFIG_DAYLIGHT_SAVING, daylight_saving, NULL); -} - -guint -calendar_config_add_notification_daylight_saving (GConfClientNotifyFunc func, gpointer data) -{ - guint id; - - calendar_config_init (); - - id = gconf_client_notify_add (config, CALENDAR_CONFIG_DAYLIGHT_SAVING, func, data, NULL, NULL); - - return id; -} - /* Whether we use 24-hour format or 12-hour format (AM/PM). */ gboolean calendar_config_get_24_hour_format (void) diff --git a/calendar/gui/calendar-config.h b/calendar/gui/calendar-config.h index f5fe75bf15..a7ee394f52 100644 --- a/calendar/gui/calendar-config.h +++ b/calendar/gui/calendar-config.h @@ -259,10 +259,6 @@ gboolean calendar_config_locale_supports_12_hour_format(void); void calendar_config_set_dir_path (const char *); char * calendar_config_get_dir_path (void); -gboolean calendar_config_get_daylight_saving (void); -void calendar_config_set_daylight_saving (gboolean daylight_saving); -guint calendar_config_add_notification_daylight_saving (GConfClientNotifyFunc func, gpointer data); - GSList *calendar_config_get_day_second_zones (void); void calendar_config_free_day_second_zones (GSList *zones); void calendar_config_set_day_second_zone (const char *location); diff --git a/calendar/gui/dialogs/cal-prefs-dialog.c b/calendar/gui/dialogs/cal-prefs-dialog.c index 81e182ac54..edb802fd10 100644 --- a/calendar/gui/dialogs/cal-prefs-dialog.c +++ b/calendar/gui/dialogs/cal-prefs-dialog.c @@ -119,15 +119,8 @@ static void timezone_changed (GtkWidget *widget, CalendarPrefsDialog *prefs) { icaltimezone *zone; - icalcomponent *icalcomp, *dl_comp; zone = e_timezone_entry_get_timezone (E_TIMEZONE_ENTRY (prefs->timezone)); - icalcomp = icaltimezone_get_component (zone); - - if (!icalcomp || !(dl_comp = icalcomponent_get_first_component (icalcomp, ICAL_XDAYLIGHT_COMPONENT))) - gtk_widget_set_sensitive ((GtkWidget *) prefs->daylight_saving, FALSE); - else - gtk_widget_set_sensitive ((GtkWidget *) prefs->daylight_saving, TRUE); calendar_config_set_timezone (icaltimezone_get_location (zone)); } @@ -227,14 +220,6 @@ day_second_zone_clicked (GtkWidget *widget, CalendarPrefsDialog *prefs) 0, gtk_get_current_event_time ()); } -static void -daylight_saving_changed (GtkWidget *widget, CalendarPrefsDialog *prefs) -{ - gboolean set = gtk_toggle_button_get_active ((GtkToggleButton *) prefs->daylight_saving); - calendar_config_set_daylight_saving (set); - timezone_changed (widget, prefs); -} - static void start_of_day_changed (GtkWidget *widget, CalendarPrefsDialog *prefs) { @@ -504,7 +489,6 @@ setup_changes (CalendarPrefsDialog *prefs) g_signal_connect (G_OBJECT (prefs->timezone), "changed", G_CALLBACK (timezone_changed), prefs); g_signal_connect (G_OBJECT (prefs->day_second_zone), "clicked", G_CALLBACK (day_second_zone_clicked), prefs); - g_signal_connect (G_OBJECT (prefs->daylight_saving), "toggled", G_CALLBACK (daylight_saving_changed), prefs); g_signal_connect (G_OBJECT (prefs->start_of_day), "changed", G_CALLBACK (start_of_day_changed), prefs); g_signal_connect (G_OBJECT (prefs->end_of_day), "changed", G_CALLBACK (end_of_day_changed), prefs); @@ -632,7 +616,6 @@ show_config (CalendarPrefsDialog *prefs) gint mask, day, week_start_day, time_divisions; icaltimezone *zone; gboolean sensitive, set = FALSE; - icalcomponent *icalcomp, *dl_comp; char *location; CalUnits units; int interval; @@ -643,15 +626,6 @@ show_config (CalendarPrefsDialog *prefs) e_timezone_entry_set_timezone (E_TIMEZONE_ENTRY (prefs->timezone), zone); g_free (location); - icalcomp = icaltimezone_get_component (zone); - if (!icalcomp || !(dl_comp = icalcomponent_get_first_component (icalcomp, ICAL_XDAYLIGHT_COMPONENT))) - gtk_widget_set_sensitive ((GtkWidget *) prefs->daylight_saving, FALSE); - else - gtk_widget_set_sensitive ((GtkWidget *) prefs->daylight_saving, TRUE); - - set = calendar_config_get_daylight_saving (); - gtk_toggle_button_set_active ((GtkToggleButton *) prefs->daylight_saving, set); - /* Day's second zone */ update_day_second_zone_caption (prefs); @@ -790,7 +764,6 @@ calendar_prefs_dialog_construct (CalendarPrefsDialog *prefs) /* General tab */ prefs->timezone = glade_xml_get_widget (gui, "timezone"); prefs->day_second_zone = glade_xml_get_widget (gui, "day_second_zone"); - prefs->daylight_saving = glade_xml_get_widget (gui, "daylight_cb"); for (i = 0; i < 7; i++) prefs->working_days[i] = glade_xml_get_widget (gui, working_day_names[i]); prefs->week_start_day = glade_xml_get_widget (gui, "week_start_day"); diff --git a/calendar/gui/dialogs/cal-prefs-dialog.glade b/calendar/gui/dialogs/cal-prefs-dialog.glade index f3509e4f8f..23406d5963 100644 --- a/calendar/gui/dialogs/cal-prefs-dialog.glade +++ b/calendar/gui/dialogs/cal-prefs-dialog.glade @@ -151,28 +151,6 @@ - - - True - True - Adjust for daylight sa_ving time - True - GTK_RELIEF_NORMAL - True - False - False - True - - - 1 - 2 - 1 - 2 - fill - - - - True diff --git a/calendar/gui/dialogs/cal-prefs-dialog.h b/calendar/gui/dialogs/cal-prefs-dialog.h index 3c006b8711..945c1d6e16 100644 --- a/calendar/gui/dialogs/cal-prefs-dialog.h +++ b/calendar/gui/dialogs/cal-prefs-dialog.h @@ -45,7 +45,6 @@ struct _CalendarPrefsDialog { /* General tab */ GtkWidget *timezone; GtkWidget *day_second_zone; - GtkWidget *daylight_saving; GtkWidget *working_days[7]; GtkWidget *week_start_day; GtkWidget *start_of_day; -- cgit v1.2.3