diff options
author | mutantturkey <crazycal00@gmail.com> | 2010-06-13 01:03:44 -0400 |
---|---|---|
committer | mutantturkey <crazycal00@gmail.com> | 2010-06-13 01:03:44 -0400 |
commit | 75e5c2c0d952d4d3ab1948ba25269a39954fda13 (patch) | |
tree | 0427a63868cd144c523a68fd13f4e08435eb5126 /sb.c | |
parent | ceba445579ea63e822d5b3b9f40767ce4883b16a (diff) |
fixed bug in last update, switched to dusing #defines instead of a pointless settings structure
Diffstat (limited to 'sb.c')
-rw-r--r-- | sb.c | 44 |
1 files changed, 20 insertions, 24 deletions
@@ -17,12 +17,13 @@ typedef struct tab { GtkWidget *scroll; GtkWidget *label; gchar *main_title; gin static struct { WebKitWebSettings *webkitsettings; 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 struct { - char *defaultdownload; - char *defaultsearchengine; - char *defaultfont; - int tab_length; -} settings; + + +#define DEFAULT_DOWNLOAD "xterm -bg black -fg white -e wget -P " +#define DEFAULT_SEARCH "http://www.google.com/search?q=" +#define DEFAULT_FONT "san-serif" +#define DEFAULT_TAB_LENGTH 25 + @@ -31,7 +32,7 @@ static GQuark term_data_id = 0; static void activate_uri_entry_cb(GtkWidget* entry, gpointer 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 load_commit_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data); +static void load_commit_cb (WebKitWebView* page, WebKitWebFrame* frame, tab *t); static void load_uri(gchar *uri); static void go_cb(gboolean b); static void tab_new(); @@ -83,7 +84,7 @@ if (gtk_notebook_get_n_pages(GTK_NOTEBOOK(w.notebook)) == 0) { gtk_main_quit(); } static void download(WebKitWebView *web_view, GObject *d, gpointer user_data) { const gchar *c = webkit_download_get_uri(WEBKIT_DOWNLOAD(d)); -gchar *command = g_strconcat(settings.defaultdownload, g_get_home_dir(), "/ ", g_strdup(c), NULL); +gchar *command = g_strconcat(DEFAULT_DOWNLOAD, g_get_home_dir(), "/ ", g_strdup(c), NULL); puts(command); g_spawn_command_line_async(command, NULL); g_free(command); @@ -97,23 +98,24 @@ else { gtk_statusbar_push(GTK_STATUSBAR(w.status), 0, ""); } static void title_change_cb(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), title); } -if(strlen(title) < settings.tab_length ) { tabtitle = g_strdup(title); } - else { - tabtitle = g_strndup(title, settings.tab_length); - strcat(tabtitle, "..."); +if(strlen(title) < DEFAULT_TAB_LENGTH ) { tabtitle = g_strdup(title); } + else { tabtitle = g_strndup(title, DEFAULT_TAB_LENGTH); strcat(tabtitle, "..."); } + gtk_label_set_label(GTK_LABEL(t->label), tabtitle); -} -} +} -static void load_commit_cb (WebKitWebView* page, WebKitWebFrame* frame, gpointer data) { +static void load_commit_cb (WebKitWebView* page, WebKitWebFrame* frame, tab *t) { const gchar* uri = webkit_web_frame_get_uri(frame); -//gint page = gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook)); +if (gtk_notebook_get_current_page(GTK_NOTEBOOK(w.notebook)) == gtk_notebook_page_num(GTK_NOTEBOOK(w.notebook), t->scroll)) { gtk_entry_set_text (GTK_ENTRY (w.bar), uri); +} + FILE *history = fopen(g_strconcat(g_get_home_dir(), "/.history", NULL), "a+"); fprintf(history, "%s \n", uri); @@ -220,7 +222,7 @@ webkit_web_view_set_settings (WEBKIT_WEB_VIEW(t->view), w.webkitsettings); /*callbacks*/ g_signal_connect (G_OBJECT (t->view), "title-changed", G_CALLBACK (title_change_cb), t); -g_signal_connect (G_OBJECT (t->view), "load-committed", G_CALLBACK (load_commit_cb), t->view); +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 (download), t->view); g_signal_connect (G_OBJECT (t->view), "create-web-view", G_CALLBACK (tab_new_requested), NULL); @@ -311,12 +313,6 @@ if(atoi(setting) == 0) else { g_object_set(G_OBJECT(w.webkitsettings), property, atoi(setting), NULL); break; } } */ - settings.defaultdownload = "xterm -bg black -fg white -e wget -P "; - settings.defaultsearchengine = "http://www.google.com/search?q="; - settings.defaultfont = "san-serif"; - settings.tab_length = 25; - - tab_new(); g_signal_connect (G_OBJECT (w.search), "activate", G_CALLBACK (search), GINT_TO_POINTER(1)); @@ -352,7 +348,7 @@ switch(g) { case GDK_bracketleft: tab_zoom(FALSE); return TRUE; break; case GDK_r: reload(); return TRUE; break; case GDK_s: tab_view_source(); return TRUE; break; - case GDK_Return: load_uri(g_strconcat(settings.defaultsearchengine, gtk_entry_get_text(GTK_ENTRY(w.bar)), NULL)); return TRUE; break; + case GDK_Return: load_uri(g_strconcat(DEFAULT_SEARCH, gtk_entry_get_text(GTK_ENTRY(w.bar)), NULL)); return TRUE; break; default: return FALSE; break; } } |