From fe227d33185e15f33f1d4bd1dffc4cae8abdfb59 Mon Sep 17 00:00:00 2001 From: mutantturkey Date: Fri, 7 May 2010 16:19:33 -0400 Subject: reworked load_uri with code from surf, and reworked activate_entry_cb --- sb.c | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/sb.c b/sb.c index a6c25d4..0358961 100644 --- a/sb.c +++ b/sb.c @@ -5,8 +5,10 @@ #include #include #include +#include +#include -typedef struct tab { GtkWidget *scroll; GtkWidget *label; gchar *main_title; gint load_progress; guint status_context_id; WebKitWebView *view; WebKitWebSettings *settings; } tab; +typedef struct tab { GtkWidget *scroll; GtkWidget *label; gchar *main_title; gint load_progress; guint status_context_id; WebKitWebView *view; WebKitWebSettings *settings; } tab; static struct { GtkWidget *win; GtkWidget *bar; GtkWidget *search; GtkWidget *vbox; GtkWidget *notebook; GtkWidget *status; } w; #define get_tab(x, page_idx ) (struct tab*)g_object_get_qdata(G_OBJECT( gtk_notebook_get_nth_page( (GtkNotebook*)w.notebook, page_idx ) ), term_data_id); static GQuark term_data_id = 0; @@ -28,9 +30,8 @@ gboolean key_press_cb(GtkWidget *widget, GdkEventKey *event); static void activate_uri_entry_cb (GtkWidget* entry, gpointer data) { - const gchar* uri = gtk_entry_get_text (GTK_ENTRY (w.bar)); struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); - webkit_web_view_open (t->view, uri); + load_uri(g_strdup(gtk_entry_get_text (GTK_ENTRY (w.bar)))); gtk_widget_grab_focus(GTK_WIDGET(t->view)); } @@ -67,8 +68,13 @@ static void load_commit_cb (WebKitWebView* p, WebKitWebFrame* frame, gpointer da } static void load_uri(gchar *uri) { + gchar *u; + //Barrowed from surf, no point creating another method, this seams to work well struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); - webkit_web_view_load_uri(t->view, uri); + u = g_strrstr(uri, "://") ? g_strdup(uri) + : g_strdup_printf("http://%s", uri); + webkit_web_view_load_uri(t->view, u); + g_free(u); }; static void tab_zoom (gboolean b) { -- cgit v1.2.3