diff options
Diffstat (limited to 'calendar')
-rw-r--r-- | calendar/ChangeLog | 22 | ||||
-rw-r--r-- | calendar/gui/e-day-view.c | 21 | ||||
-rw-r--r-- | calendar/gui/e-week-view.c | 12 |
3 files changed, 36 insertions, 19 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 83e82aabfc..c8f4004dfd 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,25 @@ +2003-04-23 Hans Petter Jansson <hpj@ximian.com> + + Fixes #41641 + + * gui/e-day-view.c (e_day_view_focus_in): Remove assert an old + input method code. + (e_day_view_focus_out): Ditto. + (e_day_view_reshape_long_event): Set input method context. + (e_day_view_reshape_day_event): Ditto. + (e_day_view_on_editing_started): Let EText handle the context popup. + (e_day_view_on_editing_stopped): Turn off EText's handling of context + popup. + + * gui/e-week-view.c (e_week_view_reshape_event_span): Set input + method context. + (e_week_view_on_text_item_event): Let the EText item handle + right-click context popup if we're editing it. + (e_week_view_on_editing_started): Let the EText item handle the + context popup. + (e_weeK_view_on_editing_stopped): Turn off EText's handling of + context popup. + 2003-04-23 Rodrigo Moya <rodrigo@ximian.com> Fixes #41671 diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index 27b512a63a..3ea9a37617 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -1433,14 +1433,6 @@ e_day_view_focus_in (GtkWidget *widget, GdkEventFocus *event) gtk_widget_queue_draw (day_view->top_canvas); gtk_widget_queue_draw (day_view->main_canvas); - g_assert (GTK_WIDGET_REALIZED (day_view->main_canvas)); -#if 0 - /* FIXME when gal is fixed */ - if (E_CANVAS (day_view->main_canvas)->ic) - gdk_im_begin (E_CANVAS (day_view->main_canvas)->ic, - GTK_LAYOUT (day_view->main_canvas)->bin_window); -#endif - return FALSE; } @@ -1461,14 +1453,6 @@ e_day_view_focus_out (GtkWidget *widget, GdkEventFocus *event) gtk_widget_queue_draw (day_view->top_canvas); gtk_widget_queue_draw (day_view->main_canvas); - g_assert (GTK_WIDGET_REALIZED (day_view->main_canvas)); - -#if 0 - /* FIXME when gal is fixed */ - if (E_CANVAS (day_view->main_canvas)->ic) - gdk_im_end (); -#endif - return FALSE; } @@ -5298,6 +5282,7 @@ e_day_view_reshape_long_event (EDayView *day_view, "use_ellipsis", TRUE, "draw_background", FALSE, "fill_color_rgba", GNOME_CANVAS_COLOR(0, 0, 0), + "im_context", E_CANVAS (day_view->top_canvas)->im_context, NULL); g_signal_connect (event->canvas_item, "event", G_CALLBACK (e_day_view_on_text_item_event), day_view); @@ -5455,6 +5440,7 @@ e_day_view_reshape_day_event (EDayView *day_view, "use_ellipsis", TRUE, "draw_background", FALSE, "fill_color_rgba", GNOME_CANVAS_COLOR(0, 0, 0), + "im_context", E_CANVAS (day_view->main_canvas)->im_context, NULL); g_signal_connect (event->canvas_item, "event", G_CALLBACK (e_day_view_on_text_item_event), day_view); @@ -6206,6 +6192,8 @@ e_day_view_on_editing_started (EDayView *day_view, e_day_view_reshape_main_canvas_resize_bars (day_view); } + g_object_set (item, "handle_popup", TRUE, NULL); + gtk_signal_emit (GTK_OBJECT (day_view), e_day_view_signals[SELECTION_CHANGED]); } @@ -6255,6 +6243,7 @@ e_day_view_on_editing_stopped (EDayView *day_view, day_view->resize_bars_event_day = -1; day_view->resize_bars_event_num = -1; + g_object_set (event->canvas_item, "handle_popup", FALSE, NULL); g_object_get (G_OBJECT (event->canvas_item), "text", &text, NULL); diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c index 649da416f9..8ab0b44b1c 100644 --- a/calendar/gui/e-week-view.c +++ b/calendar/gui/e-week-view.c @@ -2750,6 +2750,7 @@ e_week_view_reshape_event_span (EWeekView *week_view, "text", text.value ? text.value : "", "use_ellipsis", TRUE, "fill_color_rgba", GNOME_CANVAS_COLOR(0, 0, 0), + "im_context", E_CANVAS (week_view->main_canvas)->im_context, NULL); g_signal_connect (span->text_item, "event", G_CALLBACK (e_week_view_on_text_item_event), @@ -3100,7 +3101,7 @@ e_week_view_on_text_item_event (GnomeCanvasItem *item, &event_num, &span_num)) return FALSE; - if (gdkevent->button.button == 3) { + if (gdkevent->button.button == 3 && !E_TEXT (item)->editing) { EWeekViewEvent *e; gboolean destroyed; @@ -3127,8 +3128,10 @@ e_week_view_on_text_item_event (GnomeCanvasItem *item, return TRUE; } - week_view->pressed_event_num = event_num; - week_view->pressed_span_num = span_num; + if (gdkevent->button.button != 3) { + week_view->pressed_event_num = event_num; + week_view->pressed_span_num = span_num; + } /* Only let the EText handle the event while editing. */ if (!E_TEXT (item)->editing) { @@ -3214,6 +3217,8 @@ e_week_view_on_editing_started (EWeekView *week_view, span_num); } + g_object_set (item, "handle_popup", TRUE, NULL); + gtk_signal_emit (GTK_OBJECT (week_view), e_week_view_signals[SELECTION_CHANGED]); } @@ -3252,6 +3257,7 @@ e_week_view_on_editing_stopped (EWeekView *week_view, if (!uid) return; + g_object_set (span->text_item, "handle_popup", FALSE, NULL); g_object_get (G_OBJECT (span->text_item), "text", &text, NULL); g_assert (text != NULL); |