diff options
author | Milan Crha <mcrha@redhat.com> | 2009-01-19 21:56:42 +0800 |
---|---|---|
committer | Milan Crha <mcrha@src.gnome.org> | 2009-01-19 21:56:42 +0800 |
commit | 2be7cd3b2ab50047820da4a1e873785b53f41acd (patch) | |
tree | 50f07aacdc49a27e040e8470ad57e6fa21bdead5 /calendar/gui/e-calendar-view.c | |
parent | ae26a9a5fb34beb48e4161c8f145b0fb2d3cb3a9 (diff) | |
download | gsoc2013-evolution-2be7cd3b2ab50047820da4a1e873785b53f41acd.tar.gz gsoc2013-evolution-2be7cd3b2ab50047820da4a1e873785b53f41acd.tar.zst gsoc2013-evolution-2be7cd3b2ab50047820da4a1e873785b53f41acd.zip |
** Fix for bug #225712
2009-01-19 Milan Crha <mcrha@redhat.com>
** Fix for bug #225712
* calendar/gui/dialogs/comp-editor.h: (CompEditorClass::send_comp),
(comp_editor_send_comp): Changed function prototypes.
* calendar/gui/dialogs/comp-editor.c: (real_send_comp), (save_comp_with_send),
(comp_editor_send_comp): Strip alarms based on user's choice.
* calendar/gui/dialogs/send-comp.h: (send_component_dialog):
* calendar/gui/dialogs/send-comp.c: (have_nonprocedural_alarm),
(send_component_dialog): Show option "Send my alarms with this event"
when prompting to send event or not, but only if have any non-procedure
alarms and if it the caller want to know user's opinion. Default is
to strip all alarms. Procedure alarms are always strip out.
* calendar/gui/dialogs/event-editor.c: (event_editor_send_comp):
* calendar/gui/dialogs/task-editor.c: (task_editor_send_comp):
Honor function prototype changes and use new parameter strip_alarms.
* calendar/gui/itip-utils.h: (itip_send_comp):
* calendar/gui/itip-utils.c: (comp_compliant), (itip_send_comp),
(reply_to_calendar_comp):
New parameter to strip all alarms or only procedure alarms.
* calendar/gui/tasks-control.c: (tasks_control_forward_cmd):
* calendar/gui/e-itip-control.c: (send_item), (send_freebusy), (ok_clicked_cb):
* calendar/gui/e-calendar-table.c: (e_calendar_table_on_forward):
* calendar/gui/e-memo-table.c: (e_memo_table_on_forward):
* calendar/gui/e-calendar-view.c: (e_calendar_view_cut_clipboard),
(delete_event), (e_calendar_view_delete_selected_occurrence),
(on_forward):
Always strip alarms when sending component.
* calendar/gui/e-calendar-view.c: (e_calendar_view_add_event),
(e_calendar_view_modify_and_send):
* calendar/gui/e-cal-model-calendar.c: (ecmc_set_value_at):
Strip alarms based on user's choice.
* plugins/itip-formatter/itip-view.h:
* plugins/itip-formatter/itip-view.c: (itip_view_set_show_keep_alarm_check),
(itip_view_get_keep_alarm_check_state),
(itip_view_set_show_inherit_alarm_check),
(itip_view_get_inherit_alarm_check_state): New functions to new
options to either inherit reminder from the incoming event or to
preserve users reminders in already existing event in the calendar.
* plugins/itip-formatter/itip-view.c: (struct _ItipViewPrivate), (alarm_check_toggled_cb),
(itip_view_init): Properly initialize new option's members.
* plugins/itip-formatter/itip-formatter.c: (find_cal_opened_cb), (update_item),
(send_comp_to_attendee), (update_attendee_status), (send_item),
(extract_itip_data), (view_response_cb), (format_itip_object):
Setup new options based on the actual data.
svn path=/trunk/; revision=37097
Diffstat (limited to 'calendar/gui/e-calendar-view.c')
-rw-r--r-- | calendar/gui/e-calendar-view.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/calendar/gui/e-calendar-view.c b/calendar/gui/e-calendar-view.c index a2d6c7f14d..e315ad5218 100644 --- a/calendar/gui/e-calendar-view.c +++ b/calendar/gui/e-calendar-view.c @@ -376,6 +376,8 @@ e_calendar_view_add_event (ECalendarView *cal_view, ECal *client, time_t dtstart /* FIXME Error handling */ uid = NULL; if (e_cal_create_object (client, e_cal_component_get_icalcomponent (comp), &uid, NULL)) { + gboolean strip_alarms = TRUE; + if (uid) { e_cal_component_set_uid (comp, uid); g_free (uid); @@ -383,9 +385,9 @@ e_calendar_view_add_event (ECalendarView *cal_view, ECal *client, time_t dtstart if ((itip_organizer_is_user (comp, client) || itip_sentby_is_user (comp)) && send_component_dialog ((GtkWindow *) gtk_widget_get_toplevel (GTK_WIDGET (cal_view)), - client, comp, TRUE)) { + client, comp, TRUE, &strip_alarms)) { itip_send_comp (E_CAL_COMPONENT_METHOD_REQUEST, comp, - client, NULL, NULL, NULL); + client, NULL, NULL, NULL, strip_alarms); } } else { g_message (G_STRLOC ": Could not create the object!"); @@ -685,7 +687,7 @@ e_calendar_view_cut_clipboard (ECalendarView *cal_view) && cancel_component_dialog ((GtkWindow *) gtk_widget_get_toplevel (GTK_WIDGET (cal_view)), event->comp_data->client, comp, TRUE)) itip_send_comp (E_CAL_COMPONENT_METHOD_CANCEL, comp, - event->comp_data->client, NULL, NULL, NULL); + event->comp_data->client, NULL, NULL, NULL, TRUE); e_cal_component_get_uid (comp, &uid); if (e_cal_component_is_instance (comp)) { @@ -1029,7 +1031,7 @@ delete_event (ECalendarView *cal_view, ECalendarViewEvent *event) event->comp_data->client, comp, TRUE)) itip_send_comp (E_CAL_COMPONENT_METHOD_CANCEL, comp, - event->comp_data->client, NULL, NULL, NULL); + event->comp_data->client, NULL, NULL, NULL, TRUE); e_cal_component_get_uid (comp, &uid); if (!uid || !*uid) { @@ -1178,7 +1180,7 @@ e_calendar_view_delete_selected_occurrence (ECalendarView *cal_view) e_cal_component_free_datetime (&range.datetime); } - itip_send_comp (E_CAL_COMPONENT_METHOD_CANCEL, comp, event->comp_data->client, NULL, NULL, NULL); + itip_send_comp (E_CAL_COMPONENT_METHOD_CANCEL, comp, event->comp_data->client, NULL, NULL, NULL, TRUE); } if (is_instance) @@ -1582,7 +1584,7 @@ on_forward (EPopup *ep, EPopupItem *pitem, void *data) comp = e_cal_component_new (); e_cal_component_set_icalcomponent (comp, icalcomponent_new_clone (event->comp_data->icalcomp)); - itip_send_comp (E_CAL_COMPONENT_METHOD_PUBLISH, comp, event->comp_data->client, NULL, NULL, NULL); + itip_send_comp (E_CAL_COMPONENT_METHOD_PUBLISH, comp, event->comp_data->client, NULL, NULL, NULL, TRUE); g_list_free (selected); g_object_unref (comp); @@ -2136,8 +2138,10 @@ e_calendar_view_modify_and_send (ECalComponent *comp, gboolean new) { if (e_cal_modify_object (client, e_cal_component_get_icalcomponent (comp), mod, NULL)) { + gboolean strip_alarms = TRUE; + if ((itip_organizer_is_user (comp, client) || itip_sentby_is_user (comp)) && - send_component_dialog (toplevel, client, comp, new)) { + send_component_dialog (toplevel, client, comp, new, &strip_alarms)) { ECalComponent *send_comp = NULL; if (mod == CALOBJ_MOD_ALL && e_cal_component_is_instance (comp)) { @@ -2156,7 +2160,7 @@ e_calendar_view_modify_and_send (ECalComponent *comp, } } - itip_send_comp (E_CAL_COMPONENT_METHOD_REQUEST, send_comp ? send_comp : comp, client, NULL, NULL, NULL); + itip_send_comp (E_CAL_COMPONENT_METHOD_REQUEST, send_comp ? send_comp : comp, client, NULL, NULL, NULL, strip_alarms); if (send_comp) g_object_unref (send_comp); |