diff options
author | JP Rosevear <jpr@helixcode.com> | 2000-09-06 09:06:48 +0800 |
---|---|---|
committer | JP Rosevear <jpr@src.gnome.org> | 2000-09-06 09:06:48 +0800 |
commit | 114f5b7f916184cf8269b36a06b74b74bb7b18e2 (patch) | |
tree | eb0fe5dcdda6dae6727c5f616e3e418cd6c9d65f /calendar/gui | |
parent | e8648e48175c1b6d26bff5316c2c7d738245a63c (diff) | |
download | gsoc2013-evolution-114f5b7f916184cf8269b36a06b74b74bb7b18e2.tar gsoc2013-evolution-114f5b7f916184cf8269b36a06b74b74bb7b18e2.tar.gz gsoc2013-evolution-114f5b7f916184cf8269b36a06b74b74bb7b18e2.tar.bz2 gsoc2013-evolution-114f5b7f916184cf8269b36a06b74b74bb7b18e2.tar.lz gsoc2013-evolution-114f5b7f916184cf8269b36a06b74b74bb7b18e2.tar.xz gsoc2013-evolution-114f5b7f916184cf8269b36a06b74b74bb7b18e2.tar.zst gsoc2013-evolution-114f5b7f916184cf8269b36a06b74b74bb7b18e2.zip |
Kill all exdates if there are no dates in the box
2000-09-05 JP Rosevear <jpr@helixcode.com>
* gui/event-editor.c (dialog_to_comp_object): Kill all exdates if
there are no dates in the box
* cal-util/cal-recur.c (generate_instances_for_year): Add a
special
case for when there are exceptions but no rrules or rdates.
(cal_obj_remove_exceptions): Use date only compare func
(cal_obj_date_only_compare_func): New compare function that
compares the date only, not the time.
* gui/event-editor.c (dialog_to_comp_object): Need a break for the
yearly recurrence type
(dialog_to_comp_object): We need to allocate icaltimetypes for the
exdate list
(fill_widgets): Handle a weekly recurrence with no particular day
set
(dialog_to_comp_object): Kill all rrules if "None" is selected as
the recurrence type by the user
svn path=/trunk/; revision=5218
Diffstat (limited to 'calendar/gui')
-rw-r--r-- | calendar/gui/event-editor.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/calendar/gui/event-editor.c b/calendar/gui/event-editor.c index 9a398d13cb..d1742b280a 100644 --- a/calendar/gui/event-editor.c +++ b/calendar/gui/event-editor.c @@ -802,8 +802,8 @@ fill_widgets (EventEditor *ee) case ICAL_SATURDAY_WEEKDAY: e_dialog_toggle_set (priv->recurrence_rule_weekly_sat, TRUE); break; - default: - g_assert_not_reached (); + case ICAL_NO_WEEKDAY: + break; } } break; @@ -1021,7 +1021,8 @@ dialog_to_comp_object (EventEditor *ee) case ICAL_YEARLY_RECURRENCE: recur.interval = e_dialog_spin_get_int (priv->recurrence_rule_yearly_every_n_years); - + break; + default: g_assert_not_reached (); } @@ -1047,24 +1048,28 @@ dialog_to_comp_object (EventEditor *ee) list = NULL; list = g_slist_append (list, &recur); cal_component_set_rrule_list (comp, list); + g_slist_free (list); + } else { + list = NULL; + cal_component_set_rrule_list (comp, list); } /* Set exceptions */ list = NULL; exception_list = GTK_CLIST (priv->recurrence_exceptions_list); for (i = 0; i < exception_list->rows; i++) { - struct icaltimetype tt; + struct icaltimetype *tt; time_t *t; t = gtk_clist_get_row_data (exception_list, i); - tt = icaltime_from_timet (*t, FALSE, TRUE); + tt = g_new0 (struct icaltimetype, 1); + *tt = icaltime_from_timet (*t, FALSE, FALSE); - list = g_slist_prepend (list, &tt); + list = g_slist_prepend (list, tt); } - if (list) { - cal_component_set_exdate_list (comp, list); + cal_component_set_exdate_list (comp, list); + if (list) cal_component_free_exdate_list (list); - } cal_component_commit_sequence (comp); } |