From a5fef3a82e786fbc8efd2ed40fb117bacfeb2279 Mon Sep 17 00:00:00 2001 From: Christopher James Lahey Date: Mon, 10 Apr 2000 19:33:35 +0000 Subject: Added proper keyboard focus handling. 2000-04-10 Christopher James Lahey * e-canvas.c: Added proper keyboard focus handling. svn path=/trunk/; revision=2377 --- e-util/e-canvas.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'e-util/e-canvas.c') diff --git a/e-util/e-canvas.c b/e-util/e-canvas.c index 5c6cfd3278..704b6ca12b 100644 --- a/e-util/e-canvas.c +++ b/e-util/e-canvas.c @@ -288,7 +288,19 @@ e_canvas_item_grab_focus (GnomeCanvasItem *item) } item->canvas->focused_item = item; - gtk_widget_grab_focus (GTK_WIDGET (item->canvas)); + + if (!GTK_WIDGET_HAS_FOCUS (GTK_WIDGET(item->canvas))) { + gtk_widget_grab_focus (GTK_WIDGET (item->canvas)); + } + + if (focused_item) { + ev.focus_change.type = GDK_FOCUS_CHANGE; + ev.focus_change.window = GTK_LAYOUT (item->canvas)->bin_window; + ev.focus_change.send_event = FALSE; + ev.focus_change.in = TRUE; + + emit_event (item->canvas, &ev); + } } /* Focus in handler for the canvas */ -- cgit v1.2.3