diff options
Diffstat (limited to 'sb.c')
-rw-r--r-- | sb.c | 79 |
1 files changed, 40 insertions, 39 deletions
@@ -32,7 +32,7 @@ static struct { GtkWidget *bar; GtkWidget *search; GtkWidget *vbox; - GtkWidget *notebook; + GtkNotebook *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); @@ -42,7 +42,7 @@ static void cb_entry(GtkWidget* entry, gpointer data); static void cb_go(gboolean b); static void cb_download(WebKitWebView *web_view, GObject *download, gpointer user_data); static void link_hover(WebKitWebView* page, const gchar* title, const gchar* link, gpointer data); -static void title_change_cb(WebKitWebView *v, WebKitWebFrame *f, const char *title, tab *t); +static void cb_title_changed(WebKitWebView *v, WebKitWebFrame *f, const char *title, tab *t); static void load_commit_cb (WebKitWebView* page, WebKitWebFrame* frame, tab *t); static void load_uri(gchar *uri); static void tab_new(gboolean b); @@ -63,14 +63,15 @@ gboolean cb_keypress(GtkWidget *widget, GdkEventKey *event); gchar* tab_get_tab_postition() { gchar *page_info = NULL; - sprintf(page_info, "[ %d / %d ]", gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook)), gtk_notebook_get_n_pages(GTK_NOTEBOOK(w.notebook))); + + sprintf(page_info, "[ %d / %d ]", gtk_notebook_get_current_page(w.notebook), gtk_notebook_get_n_pages(w.notebook)); puts(page_info); return(page_info); } static void search(GtkEntry *entry, gboolean b) { - struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); + struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(w.notebook)); webkit_web_view_search_text(t->view, gtk_entry_get_text(GTK_ENTRY(w.search)), FALSE, b, TRUE); } @@ -88,7 +89,7 @@ if(b) { /* Called when URL is returned from the entry bar */ static void cb_entry (GtkWidget* entry, gpointer data) { -struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); +struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(w.notebook)); load_uri(g_strdup(gtk_entry_get_text (GTK_ENTRY (w.bar)))); gtk_widget_grab_focus(GTK_WIDGET(t->view)); @@ -102,23 +103,23 @@ w.hide = FALSE; /* Basic reload function */ static void tab_reload() { -struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); +struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(w.notebook)); webkit_web_view_reload(t->view); } /* close tab, and quit if there are no tabs */ static void tab_close() { -struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); -gtk_notebook_remove_page(GTK_NOTEBOOK(w.notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); +struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(w.notebook)); +gtk_notebook_remove_page(w.notebook, gtk_notebook_get_current_page(w.notebook)); g_free(t); -if(gtk_notebook_get_n_pages(GTK_NOTEBOOK(w.notebook)) == 1) { - gtk_notebook_set_show_tabs(GTK_NOTEBOOK(w.notebook), FALSE); - gtk_widget_grab_focus(gtk_notebook_get_nth_page(GTK_NOTEBOOK(w.notebook), gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook)))); +if(gtk_notebook_get_n_pages(w.notebook) == 1) { + gtk_notebook_set_show_tabs(w.notebook, FALSE); + gtk_widget_grab_focus(gtk_notebook_get_nth_page(w.notebook, gtk_notebook_get_current_page(w.notebook))); focus_view(); } -if (gtk_notebook_get_n_pages(GTK_NOTEBOOK(w.notebook)) == 0) { gtk_main_quit(); } +if (gtk_notebook_get_n_pages(w.notebook) == 0) { gtk_main_quit(); } } @@ -138,11 +139,11 @@ else { gtk_statusbar_push(GTK_STATUSBAR(w.status), 0, ""); } } /* title change callback */ -static void title_change_cb(WebKitWebView *v, WebKitWebFrame *f, const char *title, tab *t) { +static void cb_title_changed(WebKitWebView *v, WebKitWebFrame *f, const char *title, tab *t) { gchar *tabtitle; -if (gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook)) == gtk_notebook_page_num(GTK_NOTEBOOK(w.notebook), t->scroll)) { -gtk_window_set_title(GTK_WINDOW(w.win), g_strconcat(title,tab_get_tab_postition(), NULL)); +if (gtk_notebook_get_current_page(w.notebook) == gtk_notebook_page_num(w.notebook, t->scroll)) { +gtk_window_set_title(GTK_WINDOW(w.win), g_strconcat(title, NULL)); } if(strlen(title) < DEFAULT_TAB_LENGTH ) { tabtitle = g_strdup(title); } else { tabtitle = g_strndup(title, DEFAULT_TAB_LENGTH); strcat(tabtitle, "..."); } @@ -157,7 +158,7 @@ static void load_commit_cb (WebKitWebView* page, WebKitWebFrame* frame, tab *t) const gchar* uri = webkit_web_frame_get_uri(frame); -if (gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook)) == gtk_notebook_page_num(GTK_NOTEBOOK(w.notebook), t->scroll)) { +if (gtk_notebook_get_current_page(w.notebook) == gtk_notebook_page_num(w.notebook, t->scroll)) { gtk_entry_set_text (GTK_ENTRY (w.bar), uri); } FILE *history = fopen(g_build_filename(g_get_home_dir(), DEFAULT_HISTORY_FILE, NULL), "a+"); @@ -182,7 +183,7 @@ static void load_uri(gchar *uri) { gchar *u; //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))); +struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(w.notebook)); u = g_strrstr(uri, "://") ? g_strdup(uri) : g_strdup_printf("http://%s", uri); webkit_web_view_load_uri(t->view, u); @@ -192,7 +193,7 @@ g_free(u); /*increase or decrease the zoom of the page */ static void tab_zoom (gboolean b) { - struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); + struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(w.notebook)); if (b) { webkit_web_view_set_zoom_level(t->view, (webkit_web_view_get_zoom_level(t->view) + DEFAULT_ZOOM_SIZE)); } else { webkit_web_view_set_zoom_level(t->view, (webkit_web_view_get_zoom_level(t->view) - DEFAULT_ZOOM_SIZE)); } } @@ -210,7 +211,7 @@ if(!gtk_widget_get_visible(w.bar)) { /* go forward or backwards, simple enough */ static void cb_go(gboolean b) { -struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); +struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(w.notebook)); if (b) { webkit_web_view_go_forward(t->view); } else { webkit_web_view_go_back(t->view); } } @@ -221,29 +222,29 @@ static void toggle() { if(gtk_widget_get_visible(w.bar)) { gtk_widget_hide(w.bar); gtk_widget_hide(w.status); - gtk_notebook_set_show_tabs(GTK_NOTEBOOK(w.notebook), FALSE); + gtk_notebook_set_show_tabs(w.notebook, FALSE); } else { gtk_widget_show_all(w.vbox); gtk_widget_hide(w.search); - if (gtk_notebook_get_n_pages(GTK_NOTEBOOK(w.notebook)) == 1) { } else { gtk_notebook_set_show_tabs(GTK_NOTEBOOK(w.notebook), TRUE);} + if (gtk_notebook_get_n_pages(w.notebook) == 1) { } else { gtk_notebook_set_show_tabs(w.notebook, TRUE);} } } /* rotate tabs forward or backwards */ static void tab_switch(gboolean b) { -gint(current) = gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook)); +gint(current) = gtk_notebook_get_current_page(w.notebook); if(b) { - if (current == gtk_notebook_get_n_pages(GTK_NOTEBOOK(w.notebook)) -1 ) { current = 0; } + if (current == gtk_notebook_get_n_pages(w.notebook) -1 ) { current = 0; } else { current = current + 1;} } else { - if (current == 0) { current = gtk_notebook_get_n_pages(GTK_NOTEBOOK(w.notebook)) - 1; } + if (current == 0) { current = gtk_notebook_get_n_pages(w.notebook) - 1; } else {current = current -1; } } - gtk_notebook_set_current_page(GTK_NOTEBOOK(w.notebook), current); + gtk_notebook_set_current_page(w.notebook, current); } @@ -251,7 +252,7 @@ gint(current) = gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook)); WebKitWebView * tab_new_requested(WebKitWebView *v, WebKitWebFrame *f) { puts("lol"); tab_new(FALSE); - struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); + struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(w.notebook)); return t->view; } @@ -259,7 +260,7 @@ WebKitWebView * tab_new_requested(WebKitWebView *v, WebKitWebFrame *f) { /* switch to view source mode - stays in mode until reverted */ static void tab_view_source() { - struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); + struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(w.notebook)); if(webkit_web_view_get_view_source_mode(t->view)) { webkit_web_view_set_view_source_mode(t->view, FALSE); @@ -287,13 +288,13 @@ t->label = gtk_label_new("new tab"); /*reset status bar*/ gtk_container_add(GTK_CONTAINER(t->scroll), GTK_WIDGET(t->view)); -int index = gtk_notebook_append_page(GTK_NOTEBOOK(w.notebook), t->scroll, t->label); -gtk_notebook_set_tab_reorderable(GTK_NOTEBOOK(w.notebook), t->scroll, TRUE); +int index = gtk_notebook_append_page(w.notebook, t->scroll, t->label); +gtk_notebook_set_tab_reorderable(w.notebook, t->scroll, TRUE); -//if ( gtk_notebook_get_n_pages(GTK_NOTEBOOK(w.notebook)) == 1) { } +//if ( gtk_notebook_get_n_pages(w.notebook) == 1) { } if (index == 0) { -gtk_notebook_set_show_tabs(GTK_NOTEBOOK(w.notebook), FALSE); -} else { gtk_notebook_set_show_tabs(GTK_NOTEBOOK(w.notebook), TRUE); } +gtk_notebook_set_show_tabs(w.notebook, FALSE); +} else { gtk_notebook_set_show_tabs(w.notebook, TRUE); } g_object_set(G_OBJECT(w.webkitsettings), "enable-page-cache", TRUE, NULL); g_object_set(G_OBJECT(w.webkitwindowfeatures), "scrollbar-visible", FALSE, NULL); @@ -306,7 +307,7 @@ gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(t->scroll), GTK_POLICY_NEVER, webkit_web_view_set_zoom_level(t->view, .80); /*callbacks*/ -g_signal_connect (G_OBJECT (t->view), "title-changed", G_CALLBACK (title_change_cb), t); +g_signal_connect (G_OBJECT (t->view), "title-changed", G_CALLBACK (cb_title_changed), t); g_signal_connect (G_OBJECT (t->view), "load-committed", G_CALLBACK (load_commit_cb), t); 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 (cb_download), t->view); @@ -317,7 +318,7 @@ g_object_set_qdata_full(G_OBJECT(gtk_notebook_get_nth_page((GtkNotebook*)w.noteb gtk_widget_show_all(w.win); gtk_widget_hide(w.search); -if (!b) { gtk_notebook_set_current_page(GTK_NOTEBOOK(w.notebook), index); } +if (!b) { gtk_notebook_set_current_page(w.notebook, index); } gtk_widget_grab_focus(w.bar); } @@ -351,7 +352,7 @@ gtk_entry_set_text(GTK_ENTRY(w.bar), url); /* focus on view */ static void focus_view() { - struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook))); + struct tab *t = get_tab(NULL, gtk_notebook_get_current_page(w.notebook)); gtk_widget_grab_focus(GTK_WIDGET(t->view)); } @@ -368,13 +369,13 @@ w.search = gtk_entry_new(); w.status = gtk_statusbar_new(); gtk_entry_set_has_frame(GTK_ENTRY(w.bar), FALSE); -gtk_notebook_set_scrollable(GTK_NOTEBOOK(w.notebook), TRUE) ; +gtk_notebook_set_scrollable(w.notebook, TRUE) ; gtk_statusbar_set_has_resize_grip(GTK_STATUSBAR(w.status), FALSE); -gtk_notebook_set_show_border(GTK_NOTEBOOK(w.notebook), FALSE); -gtk_notebook_set_tab_border(GTK_NOTEBOOK(w.notebook), 0); +gtk_notebook_set_show_border(w.notebook, FALSE); +gtk_notebook_set_tab_border(w.notebook, 0); gtk_box_pack_start(GTK_BOX (w.vbox), w.bar, FALSE, FALSE, 0); -gtk_box_pack_start(GTK_BOX(w.vbox), w.notebook, TRUE, TRUE, 0); +gtk_box_pack_start(GTK_BOX(w.vbox), GTK_WIDGET(w.notebook), TRUE, TRUE, 0); gtk_box_pack_start(GTK_BOX(w.vbox), w.search, FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(w.vbox), w.status, FALSE, FALSE, 0); |