aboutsummaryrefslogtreecommitdiff
path: root/sb.c
diff options
context:
space:
mode:
authormutantturkey <crazycal00@gmail.com>2010-05-09 12:13:31 -0400
committermutantturkey <crazycal00@gmail.com>2010-05-09 12:13:31 -0400
commit05ebeb3b541582f4dc6b2bd1edbd434dc3d97e36 (patch)
treeea8d2154f7d9730b92f7fb2a5d02dab7fae447ea /sb.c
parentbd2e6e285c44c48d961fa163e3a58c0c96ae6814 (diff)
UI improvements, open in new tabs WORKS
Diffstat (limited to 'sb.c')
-rw-r--r--sb.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/sb.c b/sb.c
index f0180c4..d337d58 100644
--- a/sb.c
+++ b/sb.c
@@ -29,6 +29,7 @@ static void download(WebKitWebView *web_view, GObject *download, gpointer user_d
static void config();
static void reload();
static void toggle();
+WebKitWebView * tab_new_requested(WebKitWebView *v, WebKitWebFrame *f);
static void tab_switch(gboolean b);
gboolean key_press_cb(GtkWidget *widget, GdkEventKey *event);
@@ -79,7 +80,7 @@ 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
+ //Barrowed from surf, no point creating another method, this seems to work well
struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook)));
u = g_strrstr(uri, "://") ? g_strdup(uri)
: g_strdup_printf("http://%s", uri);
@@ -124,6 +125,12 @@ if(b) {
gtk_notebook_set_current_page(GTK_NOTEBOOK(w.notebook), current);
}
+WebKitWebView * tab_new_requested(WebKitWebView *v, WebKitWebFrame *f) {
+ tab_new();
+ struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook)));
+ return t->view;
+
+}
static void tab_new() {
/*seperate function so it will be easier to setup the webkit crap*/
@@ -150,6 +157,7 @@ static void tab_new() {
g_signal_connect (G_OBJECT (t->view), "load-committed", G_CALLBACK (load_commit_cb), t->view);
g_signal_connect (G_OBJECT (t->view), "hovering-over-link", G_CALLBACK (link_hover), t->view);
g_signal_connect (G_OBJECT (t->view), "download-requested", G_CALLBACK (download), t->view);
+ g_signal_connect (G_OBJECT (t->view), "create-web-view", G_CALLBACK (tab_new_requested), NULL);
/*settings*/
g_object_set_qdata_full(G_OBJECT(gtk_notebook_get_nth_page((GtkNotebook*)w.notebook, index)), term_data_id, t, NULL);
@@ -188,12 +196,12 @@ static void config() {
gtk_notebook_set_scrollable(GTK_NOTEBOOK(w.notebook), TRUE);
w.status = gtk_statusbar_new();
gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(w.status), FALSE);
+ gtk_notebook_set_show_border(GTK_NOTEBOOK(w.notebook), FALSE);
-
- gtk_box_pack_start(GTK_BOX (w.vbox), w.bar, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX (w.vbox), w.bar, FALSE, FALSE, 1);
gtk_box_pack_start(GTK_BOX(w.vbox), w.notebook, TRUE, TRUE, 0);
gtk_box_pack_start(GTK_BOX(w.vbox), w.status, FALSE, FALSE, 0);
-
+
w.win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
gtk_window_set_default_size(GTK_WINDOW(w.win), 800, 800);