From cc8be7047b362cc88466d7f880f3cddbe9ecd535 Mon Sep 17 00:00:00 2001 From: Li Yuan Date: Wed, 13 Oct 2004 04:58:51 +0000 Subject: If main_canvas has focus, do not grub it. Emit the selected_time_changed 2004-10-12 Li Yuan * gui/e-day-view.c: (e_day_view_on_main_canvas_button_press): * gui/e-week-view.c: (e_week_view_on_button_press): If main_canvas has focus, do not grub it. Emit the selected_time_changed signal after the selection day changed. svn path=/trunk/; revision=27563 --- calendar/ChangeLog | 7 +++++++ calendar/gui/e-day-view.c | 3 ++- calendar/gui/e-week-view.c | 3 ++- 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'calendar') diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 0346d9050d..00c6add687 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,10 @@ +2004-10-12 Li Yuan + + * gui/e-day-view.c: (e_day_view_on_main_canvas_button_press): + * gui/e-week-view.c: (e_week_view_on_button_press): + If main_canvas has focus, do not grub it. Emit the + selected_time_changed signal after the selection day changed. + 2004-10-12 Not Zed * gui/dialogs/meeting-page.c (button_press_event): convert menu to diff --git a/calendar/gui/e-day-view.c b/calendar/gui/e-day-view.c index 49ed340dc5..89cacdd655 100644 --- a/calendar/gui/e-day-view.c +++ b/calendar/gui/e-day-view.c @@ -2866,7 +2866,7 @@ e_day_view_on_main_canvas_button_press (GtkWidget *widget, return TRUE; } - if (!GTK_WIDGET_HAS_FOCUS (day_view)) + if (!GTK_WIDGET_HAS_FOCUS (day_view) && !GTK_WIDGET_HAS_FOCUS (day_view->main_canvas)) gtk_widget_grab_focus (GTK_WIDGET (day_view)); if (gdk_pointer_grab (GTK_LAYOUT (widget)->bin_window, FALSE, @@ -2874,6 +2874,7 @@ e_day_view_on_main_canvas_button_press (GtkWidget *widget, | GDK_BUTTON_RELEASE_MASK, FALSE, NULL, event->time) == 0) { e_day_view_start_selection (day_view, day, row); + g_signal_emit_by_name (day_view, "selected_time_changed"); } } else if (event->button == 3) { if (!GTK_WIDGET_HAS_FOCUS (day_view)) diff --git a/calendar/gui/e-week-view.c b/calendar/gui/e-week-view.c index 27d9eb28c8..bd22b7f61e 100644 --- a/calendar/gui/e-week-view.c +++ b/calendar/gui/e-week-view.c @@ -2144,7 +2144,7 @@ e_week_view_on_button_press (GtkWidget *widget, if (event->button == 1) { /* Start the selection drag. */ - if (!GTK_WIDGET_HAS_FOCUS (week_view)) + if (!GTK_WIDGET_HAS_FOCUS (week_view) && !GTK_WIDGET_HAS_FOCUS (week_view->main_canvas)) gtk_widget_grab_focus (GTK_WIDGET (week_view)); if (gdk_pointer_grab (GTK_LAYOUT (widget)->bin_window, FALSE, @@ -2154,6 +2154,7 @@ e_week_view_on_button_press (GtkWidget *widget, week_view->selection_start_day = day; week_view->selection_end_day = day; week_view->selection_drag_pos = E_WEEK_VIEW_DRAG_END; + g_signal_emit_by_name (week_view, "selected_time_changed"); /* FIXME: Optimise? */ gtk_widget_queue_draw (week_view->main_canvas); -- cgit v1.2.3