diff options
-rw-r--r-- | calendar/ChangeLog | 13 | ||||
-rw-r--r-- | calendar/gui/e-day-view.c | 38 | ||||
-rw-r--r-- | calendar/gui/e-week-view.c | 8 |
3 files changed, 50 insertions, 9 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 017ca0c2f1..e6e3a1b17b 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,16 @@ +2001-12-12 JP Rosevear <jpr@ximian.com> + + * gui/e-day-view.c (e_day_view_on_top_canvas_button_release): + ungrab the pointer before calling + e_day_view_finish_long_event_resize + (e_day_view_on_main_canvas_button_release): ditto + (e_day_view_finish_long_event_resize): ask if the meeting should + be sent + (e_day_view_finish_resize): ditto + (e_day_view_on_editing_stopped): ditto + (e_day_view_on_top_canvas_drag_data_received): ditto + (e_day_view_on_main_canvas_drag_data_received): ditto + 2001-12-11 JP Rosevear <jpr@ximian.com> * gui/e-meeting-model.c (process_free_busy_comp): properly convert diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index 7d00a208f3..dc8441e88a 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -49,7 +49,9 @@ #include "cal-util/timeutil.h" #include "dialogs/delete-comp.h" +#include "dialogs/send-comp.h" #include "comp-util.h" +#include "itip-utils.h" #include "calendar-commands.h" #include "calendar-config.h" #include "goto.h" @@ -3932,8 +3934,8 @@ e_day_view_on_top_canvas_button_release (GtkWidget *widget, gdk_pointer_ungrab (event->time); e_day_view_finish_selection (day_view); } else if (day_view->resize_drag_pos != E_DAY_VIEW_POS_NONE) { - e_day_view_finish_long_event_resize (day_view); gdk_pointer_ungrab (event->time); + e_day_view_finish_long_event_resize (day_view); } else if (day_view->pressed_event_day != -1) { e_day_view_start_editing_event (day_view, day_view->pressed_event_day, @@ -3961,8 +3963,8 @@ e_day_view_on_main_canvas_button_release (GtkWidget *widget, e_day_view_finish_selection (day_view); e_day_view_stop_auto_scroll (day_view); } else if (day_view->resize_drag_pos != E_DAY_VIEW_POS_NONE) { - e_day_view_finish_resize (day_view); gdk_pointer_ungrab (event->time); + e_day_view_finish_resize (day_view); e_day_view_stop_auto_scroll (day_view); } else if (day_view->pressed_event_day != -1) { e_day_view_start_editing_event (day_view, @@ -4434,8 +4436,12 @@ e_day_view_finish_long_event_resize (EDayView *day_view) day_view->resize_drag_pos = E_DAY_VIEW_POS_NONE; - if (!cal_client_update_object (day_view->client, comp)) + if (cal_client_update_object (day_view->client, comp)) { + if (cal_component_has_attendees (comp) && send_component_dialog (comp)) + itip_send_comp (CAL_COMPONENT_METHOD_REQUEST, comp); + } else { g_message ("e_day_view_finish_long_event_resize(): Could not update the object!"); + } gtk_object_unref (GTK_OBJECT (comp)); } @@ -4491,9 +4497,13 @@ e_day_view_finish_resize (EDayView *day_view) day_view->resize_drag_pos = E_DAY_VIEW_POS_NONE; - if (!cal_client_update_object (day_view->client, comp)) + if (cal_client_update_object (day_view->client, comp)) { + if (cal_component_has_attendees (comp) && send_component_dialog (comp)) + itip_send_comp (CAL_COMPONENT_METHOD_REQUEST, comp); + } else { g_message ("e_day_view_finish_resize(): Could not update the object!"); - + } + gtk_object_unref (GTK_OBJECT (comp)); } @@ -5830,8 +5840,12 @@ e_day_view_on_editing_stopped (EDayView *day_view, summary.altrep = NULL; cal_component_set_summary (event->comp, &summary); - if (!cal_client_update_object (day_view->client, event->comp)) + if (cal_client_update_object (day_view->client, event->comp)) { + if (cal_component_has_attendees (event->comp) && send_component_dialog (event->comp)) + itip_send_comp (CAL_COMPONENT_METHOD_REQUEST, event->comp); + } else { g_message ("e_day_view_on_editing_stopped(): Could not update the object!"); + } } out: @@ -6874,9 +6888,13 @@ e_day_view_on_top_canvas_drag_data_received (GtkWidget *widget, if (event->canvas_item) gnome_canvas_item_show (event->canvas_item); - if (!cal_client_update_object (day_view->client, comp)) + if (cal_client_update_object (day_view->client, comp)) { + if (cal_component_has_attendees (comp) && send_component_dialog (comp)) + itip_send_comp (CAL_COMPONENT_METHOD_REQUEST, comp); + } else { g_message ("e_day_view_on_top_canvas_drag_data_received(): Could " "not update the object!"); + } gtk_object_unref (GTK_OBJECT (comp)); @@ -6982,9 +7000,13 @@ e_day_view_on_main_canvas_drag_data_received (GtkWidget *widget, if (event->canvas_item) gnome_canvas_item_show (event->canvas_item); - if (!cal_client_update_object (day_view->client, comp)) + if (cal_client_update_object (day_view->client, comp)) { + if (cal_component_has_attendees (comp) && send_component_dialog (comp)) + itip_send_comp (CAL_COMPONENT_METHOD_REQUEST, comp); + } else { g_message ("e_day_view_on_main_canvas_drag_data_received(): " "Could not update the object!"); + } gtk_object_unref (GTK_OBJECT (comp)); diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c index ba54529e4b..df489ef710 100644 --- a/calendar/gui/e-week-view.c +++ b/calendar/gui/e-week-view.c @@ -48,7 +48,9 @@ #include <gal/widgets/e-canvas-utils.h> #include <gal/widgets/e-unicode.h> #include "dialogs/delete-comp.h" +#include "dialogs/send-comp.h" #include "comp-util.h" +#include "itip-utils.h" #include "cal-util/timeutil.h" #include "calendar-commands.h" #include "calendar-config.h" @@ -3185,8 +3187,12 @@ e_week_view_on_editing_stopped (EWeekView *week_view, summary.altrep = NULL; cal_component_set_summary (event->comp, &summary); - if (!cal_client_update_object (week_view->client, event->comp)) + if (cal_client_update_object (week_view->client, event->comp)) { + if (cal_component_has_attendees (event->comp) && send_component_dialog (event->comp)) + itip_send_comp (CAL_COMPONENT_METHOD_REQUEST, event->comp); + } else { g_message ("e_week_view_on_editing_stopped(): Could not update the object!"); + } } out: |