aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormutantturkey <crazycal00@gmail.com>2010-06-13 01:03:44 -0400
committermutantturkey <crazycal00@gmail.com>2010-06-13 01:03:44 -0400
commit75e5c2c0d952d4d3ab1948ba25269a39954fda13 (patch)
tree0427a63868cd144c523a68fd13f4e08435eb5126
parentceba445579ea63e822d5b3b9f40767ce4883b16a (diff)
fixed bug in last update, switched to dusing #defines instead of a pointless settings structure
-rw-r--r--sb.c44
1 files changed, 20 insertions, 24 deletions
diff --git a/sb.c b/sb.c
index 18f01d7..b76ed09 100644
--- a/sb.c
+++ b/sb.c
@@ -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;
}
}