From 5a26d51d20938b7e982ef5d9fa5137e07b4a3f83 Mon Sep 17 00:00:00 2001 From: Marco Pesenti Gritti Date: Fri, 20 Oct 2006 17:54:28 +0000 Subject: Grab focus on the browser when explicitly opening an uri --- (limited to 'lib') diff --git a/lib/python/_sugar.defs b/lib/python/_sugar.defs index 1e51465..1548d6f 100644 --- a/lib/python/_sugar.defs +++ b/lib/python/_sugar.defs @@ -59,6 +59,12 @@ (return-type "none") ) +(define-method grab_focus + (of-object "SugarBrowser") + (c-name "sugar_browser_grab_focus") + (return-type "none") +) + (define-method create_window (of-object "SugarBrowser") (c-name "sugar_browser_create_window") diff --git a/lib/src/sugar-browser.cpp b/lib/src/sugar-browser.cpp index eea1e0c..1d9efc7 100644 --- a/lib/src/sugar-browser.cpp +++ b/lib/src/sugar-browser.cpp @@ -305,3 +305,17 @@ sugar_browser_scroll_pixels(SugarBrowser *browser, DOMWindow->ScrollBy (dx, dy); } + +void +sugar_browser_grab_focus(SugarBrowser *browser) +{ + GtkWidget *child; + + child = gtk_bin_get_child(GTK_BIN(browser)); + + if (child != NULL) { + gtk_widget_grab_focus (child); + } else { + g_warning ("Need to realize the embed before grabbing focus!\n"); + } +} diff --git a/lib/src/sugar-browser.h b/lib/src/sugar-browser.h index a978bf1..a60889f 100644 --- a/lib/src/sugar-browser.h +++ b/lib/src/sugar-browser.h @@ -59,6 +59,7 @@ SugarBrowser *sugar_browser_create_window (SugarBrowser *browser); void sugar_browser_scroll_pixels (SugarBrowser *browser, int dx, int dy); +void sugar_browser_grab_focus (SugarBrowser *browser); G_END_DECLS -- cgit v0.9.1