Introduction
Introduction Statistics Contact Development Disclaimer Help
turlbar and searchbar are working. - surf - customized build of surf, the suckl…
git clone git://src.adamsgaard.dk/surf
Log
Files
Refs
README
LICENSE
---
commit 58322c0b11dc9eccc71d70c260ac1005e19674bb
parent 37deb47b84ba1382fe8b217f6c08935e6c59a7cb
Author: Enno Boland (Gottox) <[email protected]>
Date: Sat, 6 Jun 2009 17:12:16 +0200
urlbar and searchbar are working.
Diffstat:
M surf.c | 39 ++++++++++++++++++++++++-----…
1 file changed, 31 insertions(+), 8 deletions(-)
---
diff --git a/surf.c b/surf.c
t@@ -154,6 +154,7 @@ loadcommit(WebKitWebView *view, WebKitWebFrame *f, gpointe…
XChangeProperty(dpy, GDK_WINDOW_XID(GTK_WIDGET(c->win)->window), urlpr…
XA_STRING, 8, PropModeReplace, (unsigned char *)uri,
strlen(uri) + 1);
+ gtk_entry_set_text(GTK_ENTRY(c->urlbar), uri);
}
void
t@@ -215,8 +216,9 @@ gboolean
keypress(GtkWidget* w, GdkEventKey *ev, gpointer d) {
Client *c = (Client *)d;
- if(ev->type == GDK_KEY_PRESS && (ev->state == GDK_CONTROL_MASK
- || ev->state == (GDK_CONTROL_MASK | GDK_SHIFT_MASK))) {
+ if(ev->type != GDK_KEY_PRESS)
+ return FALSE;
+ if(ev->state == GDK_CONTROL_MASK || ev->state == (GDK_CONTROL_MASK | G…
switch(ev->keyval) {
case GDK_r:
case GDK_R:
t@@ -230,10 +232,12 @@ keypress(GtkWidget* w, GdkEventKey *ev, gpointer d) {
case GDK_g:
gtk_widget_hide(c->searchbar);
gtk_widget_show(c->urlbar);
+ gtk_widget_grab_focus(c->urlbar);
return TRUE;
case GDK_slash:
gtk_widget_hide(c->urlbar);
gtk_widget_show(c->searchbar);
+ gtk_widget_grab_focus(c->searchbar);
return TRUE;
case GDK_Left:
webkit_web_view_go_back(c->view);
t@@ -243,10 +247,30 @@ keypress(GtkWidget* w, GdkEventKey *ev, gpointer d) {
return TRUE;
}
}
- else if(ev->type == GDK_KEY_PRESS && ev->keyval == GDK_Escape) {
- gtk_widget_hide(c->urlbar);
- gtk_widget_hide(c->searchbar);
- return TRUE;
+ else {
+ switch(ev->keyval) {
+ case GDK_Escape:
+ if(!GTK_WIDGET_HAS_FOCUS(c->searchbar) && !GTK_WIDGET_…
+ return FALSE;
+ gtk_widget_hide(c->urlbar);
+ gtk_widget_hide(c->searchbar);
+ gtk_widget_grab_focus(GTK_WIDGET(c->view));
+ return TRUE;
+ case GDK_Return:
+ if(GTK_WIDGET_HAS_FOCUS(c->urlbar)) {
+ loaduri(c, gtk_entry_get_text(GTK_ENTRY(c->url…
+ gtk_widget_hide(c->urlbar);
+ gtk_widget_grab_focus(GTK_WIDGET(c->view));
+ return TRUE;
+ }
+ else if(GTK_WIDGET_HAS_FOCUS(c->searchbar)) {
+ webkit_web_view_search_text(c->view,
+ gtk_entry_get_text(GTK_ENTRY(c…
+ FALSE,
+ !(ev->state & GDK_SHIFT_MASK),
+ TRUE);
+ }
+ }
}
return FALSE;
}
t@@ -288,7 +312,6 @@ newclient(void) {
/* webview */
c->view = WEBKIT_WEB_VIEW(webkit_web_view_new());
-
g_signal_connect(G_OBJECT(c->view), "title-changed", G_CALLBACK(titlec…
g_signal_connect(G_OBJECT(c->view), "load-progress-changed", G_CALLBAC…
g_signal_connect(G_OBJECT(c->view), "load-committed", G_CALLBACK(loadc…
t@@ -306,8 +329,8 @@ newclient(void) {
/* Arranging */
gtk_container_add(GTK_CONTAINER(c->scroll), GTK_WIDGET(c->view));
- gtk_container_add(GTK_CONTAINER(c->vbox), c->scroll);
gtk_container_add(GTK_CONTAINER(c->win), c->vbox);
+ gtk_container_add(GTK_CONTAINER(c->vbox), c->scroll);
gtk_container_add(GTK_CONTAINER(c->vbox), c->searchbar);
gtk_container_add(GTK_CONTAINER(c->vbox), c->urlbar);
You are viewing proxied material from mx1.adamsgaard.dk. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.