diff options
author | Srinivasa Ragavan <sragavan@src.gnome.org> | 2006-01-18 22:26:32 +0800 |
---|---|---|
committer | Srinivasa Ragavan <sragavan@src.gnome.org> | 2006-01-18 22:26:32 +0800 |
commit | 0d86641b0fa28a5950444c962abc0f5a830e7fc8 (patch) | |
tree | 10b2b1d3aa6f715262e36d11240e3e92cb3aea2a /calendar/gui/e-week-view.c | |
parent | 1733cb9d6112bd8a860b515d71b04294cce61043 (diff) | |
download | gsoc2013-evolution-0d86641b0fa28a5950444c962abc0f5a830e7fc8.tar gsoc2013-evolution-0d86641b0fa28a5950444c962abc0f5a830e7fc8.tar.gz gsoc2013-evolution-0d86641b0fa28a5950444c962abc0f5a830e7fc8.tar.bz2 gsoc2013-evolution-0d86641b0fa28a5950444c962abc0f5a830e7fc8.tar.lz gsoc2013-evolution-0d86641b0fa28a5950444c962abc0f5a830e7fc8.tar.xz gsoc2013-evolution-0d86641b0fa28a5950444c962abc0f5a830e7fc8.tar.zst gsoc2013-evolution-0d86641b0fa28a5950444c962abc0f5a830e7fc8.zip |
Committed Chax's fix for double click of events in week/month view. Partly fixes #207071
svn path=/trunk/; revision=31235
Diffstat (limited to 'calendar/gui/e-week-view.c')
-rw-r--r-- | calendar/gui/e-week-view.c | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c index e1ba4b14b3..ce6b64eae1 100644 --- a/calendar/gui/e-week-view.c +++ b/calendar/gui/e-week-view.c @@ -2084,16 +2084,33 @@ e_week_view_on_button_press (GtkWidget *widget, day = e_week_view_convert_position_to_day (week_view, x, y); if (day == -1) return FALSE; + + if (event->type == GDK_2BUTTON_PRESS) { + GList *list; + ECalModelComponent *comp_data; + ECalendarViewEvent *ecalevent; + ECalComponent *comp = e_cal_component_new (); + gboolean is_meeting; - /* If an event is pressed just return. */ - if (week_view->pressed_event_num != -1) - return FALSE; + list = e_week_view_get_selected_events (E_CALENDAR_VIEW (week_view)); + ecalevent = (ECalendarViewEvent *)list->data; + comp_data = ecalevent->comp_data; + e_cal_component_set_icalcomponent (comp, icalcomponent_new_clone (comp_data->icalcomp)); - if (event->button == 1 && event->type == GDK_2BUTTON_PRESS) { - e_calendar_view_new_appointment_full (E_CALENDAR_VIEW (week_view), TRUE, FALSE); + is_meeting = e_cal_component_has_attendees (comp); + e_calendar_view_edit_appointment (E_CALENDAR_VIEW (week_view), + comp_data->client, + comp_data->icalcomp, is_meeting); + g_object_unref (comp); + g_list_free (list); return TRUE; } + + /* If an event is pressed just return. */ + if (week_view->pressed_event_num != -1) + return FALSE; + if (event->button == 1) { /* Start the selection drag. */ if (!GTK_WIDGET_HAS_FOCUS (week_view) && !GTK_WIDGET_HAS_FOCUS (week_view->main_canvas)) |