Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <marco@localhost.localdomain>2006-10-20 17:54:28 (GMT)
committer Marco Pesenti Gritti <marco@localhost.localdomain>2006-10-20 17:54:28 (GMT)
commit5a26d51d20938b7e982ef5d9fa5137e07b4a3f83 (patch)
tree936c85423031f44a78be71ef02a437a949fa45d5 /lib
parent19715991ecebb510c2e819b5c6f4442ce629d62e (diff)
Grab focus on the browser when explicitly opening an uri
Diffstat (limited to 'lib')
-rw-r--r--lib/python/_sugar.defs6
-rw-r--r--lib/src/sugar-browser.cpp14
-rw-r--r--lib/src/sugar-browser.h1
3 files changed, 21 insertions, 0 deletions
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