aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormutantturkey <crazycal00@gmail.com>2011-05-17 23:44:15 -0400
committermutantturkey <crazycal00@gmail.com>2011-05-17 23:44:15 -0400
commit8c189045d953c4dc42076776d6f853a692421a42 (patch)
treec58b5ba540bba60bd178e76fc9823b049cffd6bc
parenta8f412ce4316566396048e394271f6708642e094 (diff)
move cb_keypress to callbacks.c, fixed a few warnings, added functions to sb.h
-rw-r--r--callbacks.c39
-rw-r--r--callbacks.h1
-rw-r--r--defaults.h27
-rw-r--r--sb.c36
-rw-r--r--sb.h3
5 files changed, 68 insertions, 38 deletions
diff --git a/callbacks.c b/callbacks.c
index 27bdaf1..23c745b 100644
--- a/callbacks.c
+++ b/callbacks.c
@@ -7,8 +7,44 @@
#include <glib/gstdio.h>
#include "defaults.h"
#include "callbacks.h"
-
#include "sb.h"
+
+
+/* key press callback function. NEEDED: a config.h where keys are defined */
+gboolean cb_keypress (GtkWidget *widget, GdkEventKey *event) {
+guint(g) = event->keyval;
+
+if ( (event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK ) {
+ switch(g) {
+ case GDK_l: grab_bar(); return TRUE; break;
+ case GDK_f: show_search(TRUE); return TRUE; break;
+ case GDK_g: tab_and_go(); return TRUE; break;
+ case GDK_KEY_comma: cb_go(FALSE); return TRUE; break;
+ case GDK_KEY_period: cb_go(TRUE); return TRUE; break;
+ case GDK_o: history_command(); return TRUE; break;
+ case GDK_h: toggle(); focus_view(); return TRUE; break;
+ case GDK_Page_Up: tab_switch(FALSE); return TRUE; break;
+ case GDK_Page_Down: tab_switch(TRUE); return TRUE; break;
+ case GDK_t: tab_new(FALSE); gtk_widget_grab_focus(w.bar); return TRUE; break;
+ case GDK_w: tab_close(); return TRUE; break;
+ case GDK_bracketright: tab_zoom(TRUE); return TRUE; break;
+ case GDK_bracketleft: tab_zoom(FALSE); return TRUE; break;
+ case GDK_r: tab_reload(); return TRUE; break;
+ case GDK_s: tab_view_source(); 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;
+ }
+
+}
+
+if (gtk_widget_has_focus(w.bar) && g == GDK_Escape) { gtk_widget_grab_focus(GTK_WIDGET(w.notebook)); return TRUE; }
+if (gtk_widget_has_focus(w.search)) {
+ if (g == GDK_Escape) { show_search(FALSE); focus_view(); return TRUE; }
+ if ((g == GDK_Return) && (event->state & GDK_MOD1_MASK) == GDK_MOD1_MASK) { search(NULL, FALSE); }
+}
+return FALSE;
+}
+
/* download callback */
void cb_download(WebKitWebView *web_view, GObject *d, gpointer user_data) {
const gchar *c = webkit_download_get_uri(WEBKIT_DOWNLOAD(d));
@@ -39,6 +75,7 @@ if (b) { webkit_web_view_go_forward(t->view); }
else { webkit_web_view_go_back(t->view); }
}
+
/* when the page load is commited, call this function */
void cb_commit_load (WebKitWebView* page, WebKitWebFrame* frame, tab *t) {
diff --git a/callbacks.h b/callbacks.h
index bfd3511..b085616 100644
--- a/callbacks.h
+++ b/callbacks.h
@@ -1,3 +1,4 @@
+gboolean cb_keypress(GtkWidget *widget, GdkEventKey *event);
void cb_entry(GtkWidget* entry, gpointer data);
void cb_go(gboolean b);
void cb_download(WebKitWebView *web_view, GObject *download, gpointer user_data);
diff --git a/defaults.h b/defaults.h
index 29a7934..82051c1 100644
--- a/defaults.h
+++ b/defaults.h
@@ -9,3 +9,30 @@
#define DEFAULT_HEIGHT 900
#define DEFAULT_WIDTH 800
+GQuark term_data_id;
+#define get_tab(x, page_idx ) (struct tab*)g_object_get_qdata(G_OBJECT(gtk_notebook_get_nth_page(w.notebook, page_idx ) ), term_data_id);
+
+typedef struct tab {
+ GtkWidget *scroll;
+ GtkWidget *label;
+ gchar *main_title;
+ gchar *url_entry;
+ gint load_progress;
+ guint status_context_id;
+ WebKitWebView *view;
+ } tab;
+
+struct {
+ WebKitWebSettings *webkitsettings;
+ WebKitWebWindowFeatures *webkitwindowfeatures;
+ SoupSession *session;
+ SoupCookieJar *jar;
+ gboolean hide;
+ GtkWidget *win;
+ GtkWidget *bar;
+ GtkWidget *search;
+ GtkWidget *vbox;
+ GtkNotebook *notebook;
+ GtkWidget *status;
+ GtkWidget *status_info; } w;
+
diff --git a/sb.c b/sb.c
index 6486418..0c30802 100644
--- a/sb.c
+++ b/sb.c
@@ -300,47 +300,11 @@ gtk_widget_grab_focus(w.bar);
}
-/* key press callback function. NEEDED: a config.h where keys are defined */
-gboolean cb_keypress (GtkWidget *widget, GdkEventKey *event) {
-guint(g) = event->keyval;
-
-if ( (event->state & GDK_CONTROL_MASK) == GDK_CONTROL_MASK ) {
- switch(g) {
- case GDK_l: grab_bar(); return TRUE; break;
- case GDK_f: show_search(TRUE); return TRUE; break;
- case GDK_g: tab_and_go(); return TRUE; break;
- case GDK_KEY_comma: cb_go(FALSE); return TRUE; break;
- case GDK_KEY_period: cb_go(TRUE); return TRUE; break;
- case GDK_o: history_command(); return TRUE; break;
- case GDK_h: toggle(); focus_view(); return TRUE; break;
- case GDK_Page_Up: tab_switch(FALSE); return TRUE; break;
- case GDK_Page_Down: tab_switch(TRUE); return TRUE; break;
- case GDK_t: tab_new(FALSE); gtk_widget_grab_focus(w.bar); return TRUE; break;
- case GDK_w: tab_close(); return TRUE; break;
- case GDK_bracketright: tab_zoom(TRUE); return TRUE; break;
- case GDK_bracketleft: tab_zoom(FALSE); return TRUE; break;
- case GDK_r: tab_reload(); return TRUE; break;
- case GDK_s: tab_view_source(); 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;
- }
-
-}
-
-if (gtk_widget_has_focus(w.bar) && g == GDK_Escape) { gtk_widget_grab_focus(GTK_WIDGET(w.notebook)); return TRUE; }
-if (gtk_widget_has_focus(w.search)) {
- if (g == GDK_Escape) { show_search(FALSE); focus_view(); return TRUE; }
- if ((g == GDK_Return) && (event->state & GDK_MOD1_MASK) == GDK_MOD1_MASK) { search(NULL, FALSE); }
-}
-return FALSE;
-}
-
/* main function */
int main (int argc, char* argv[]) {
gtk_init (&argc, &argv);
window_setup();
-GQuark term_data_id = 0;
if (argc == 2) { load_uri(argv[1]); }
gtk_main();
diff --git a/sb.h b/sb.h
index e5b6bec..f69bd59 100644
--- a/sb.h
+++ b/sb.h
@@ -1,3 +1,5 @@
+void history_command();
+void grab_bar();
void link_hover(WebKitWebView* page, const gchar* title, const gchar* link, gpointer data);
void load_uri(gchar *uri);
void tab_new(gboolean b);
@@ -14,4 +16,3 @@ void show_search(gboolean b);
void focus_view();
WebKitWebView * tab_new_requested(WebKitWebView *v, WebKitWebFrame *f);
void tab_switch(gboolean b);
-gboolean cb_keypress(GtkWidget *widget, GdkEventKey *event);