aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan Crha <mcrha@redhat.com>2009-04-24 22:58:15 +0800
committerMilan Crha <mcrha@redhat.com>2009-04-24 22:58:15 +0800
commit501da8aa29d496ef765a3afb5ac1b3fc1361c7e2 (patch)
treef5bedbacaf400f26505612f5111ec2bf89c5f37c
parentcd26e8a609574335e684df2f1eef55f2a11c2bdf (diff)
downloadgsoc2013-evolution-501da8aa29d496ef765a3afb5ac1b3fc1361c7e2.tar.gz
gsoc2013-evolution-501da8aa29d496ef765a3afb5ac1b3fc1361c7e2.tar.zst
gsoc2013-evolution-501da8aa29d496ef765a3afb5ac1b3fc1361c7e2.zip
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.
-rw-r--r--calendar/ChangeLog19
-rw-r--r--calendar/gui/apps_evolution_calendar.schemas.in12
-rw-r--r--calendar/gui/calendar-config-keys.h1
-rw-r--r--calendar/gui/calendar-config.c111
-rw-r--r--calendar/gui/calendar-config.h4
-rw-r--r--calendar/gui/dialogs/cal-prefs-dialog.c27
-rw-r--r--calendar/gui/dialogs/cal-prefs-dialog.glade22
-rw-r--r--calendar/gui/dialogs/cal-prefs-dialog.h1
8 files changed, 19 insertions, 178 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog
index 285c5ce9db..1d13cca3fe 100644
--- a/calendar/ChangeLog
+++ b/calendar/ChangeLog
@@ -1,5 +1,24 @@
2009-04-24 Milan Crha <mcrha@redhat.com>
+ ** 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 <mcrha@redhat.com>
+
** Fix for bug #572348
* gui/dialogs/task-page.glade:
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
@@ -53,18 +53,6 @@
</schema>
<schema>
- <key>/schemas/apps/evolution/calendar/display/use_daylight_saving</key>
- <applyto>/apps/evolution/calendar/display/use_daylight_saving</applyto>
- <owner>evolution-calendar</owner>
- <type>bool</type>
- <default>true</default>
- <locale name="C">
- <short>daylight savings time</short>
- <long>Whether to use daylight savings time while displaying events.</long>
- </locale>
- </schema>
-
- <schema>
<key>/schemas/apps/evolution/calendar/display/use_24hour_format</key>
<applyto>/apps/evolution/calendar/display/use_24hour_format</applyto>
<owner>evolution-calendar</owner>
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));
}
@@ -228,14 +221,6 @@ day_second_zone_clicked (GtkWidget *widget, CalendarPrefsDialog *prefs)
}
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)
{
int start_hour, start_minute, end_hour, end_minute;
@@ -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
@@ -152,28 +152,6 @@
</child>
<child>
- <widget class="GtkCheckButton" id="daylight_cb">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="label" translatable="yes">Adjust for daylight sa_ving time</property>
- <property name="use_underline">True</property>
- <property name="relief">GTK_RELIEF_NORMAL</property>
- <property name="focus_on_click">True</property>
- <property name="active">False</property>
- <property name="inconsistent">False</property>
- <property name="draw_indicator">True</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">fill</property>
- <property name="y_options"></property>
- </packing>
- </child>
-
- <child>
<widget class="GtkHBox" id="hbox4">
<property name="visible">True</property>
<property name="homogeneous">False</property>
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;