tazweb rev 82
Fix navigation menu to use the correct window when more than one is open
author | Christophe Lincoln <pankso@slitaz.org> |
---|---|
date | Mon Apr 25 02:34:46 2011 +0200 (2011-04-25) |
parents | faa4ee68950b |
children | 694a52b21b06 |
files | src/main.c |
line diff
1.1 --- a/src/main.c Mon Apr 25 01:17:19 2011 +0200 1.2 +++ b/src/main.c Mon Apr 25 02:34:46 2011 +0200 1.3 @@ -20,7 +20,6 @@ 1.4 1.5 static GtkWidget* create_window(WebKitWebView** newwebview); 1.6 static GtkWidget *mainwindow, *vbox, *browser, *toolbar; 1.7 -static GtkWidget *urientry, *search; 1.8 static WebKitWebView* webview; 1.9 static WebKitWebFrame* frame; 1.10 static gint count = 0; 1.11 @@ -77,7 +76,7 @@ 1.12 1.13 /* Notify loader and url entry */ 1.14 static void 1.15 -notify_load_status_cb(WebKitWebView* webview, GParamSpec* pspec, gpointer data) 1.16 +notify_load_status_cb(WebKitWebView* webview, GParamSpec* pspec, GtkWidget* urientry) 1.17 { 1.18 if (webkit_web_view_get_load_status(webview) == WEBKIT_LOAD_COMMITTED) { 1.19 frame = webkit_web_view_get_main_frame(webview); 1.20 @@ -111,9 +110,9 @@ 1.21 1.22 /* URL entry callback function */ 1.23 static void 1.24 -uri_entry_cb(GtkWidget* entry, gpointer data) 1.25 +uri_entry_cb(GtkWidget* urientry, gpointer data) 1.26 { 1.27 - uri = gtk_entry_get_text(GTK_ENTRY(entry)); 1.28 + uri = gtk_entry_get_text(GTK_ENTRY(urientry)); 1.29 g_assert(uri); 1.30 check_requested_uri(); 1.31 webkit_web_view_load_uri(webview, uri); 1.32 @@ -121,17 +120,17 @@ 1.33 1.34 /* Search entry callback function */ 1.35 static void 1.36 -search_entry_cb(GtkWidget* entry, gpointer data) 1.37 +search_entry_cb(GtkWidget* search, gpointer data) 1.38 { 1.39 uri = g_strdup_printf("http://www.google.com/search?q=%s", 1.40 - gtk_entry_get_text(GTK_ENTRY(entry))); 1.41 + gtk_entry_get_text(GTK_ENTRY(search))); 1.42 g_assert(uri); 1.43 webkit_web_view_load_uri(webview, uri); 1.44 } 1.45 1.46 /* Home button callback function */ 1.47 static void 1.48 -go_home_cb(GtkWidget* widget, gpointer data) 1.49 +go_home_cb(GtkWidget* widget, WebKitWebView* webview) 1.50 { 1.51 uri = g_strdup_printf("file://%s/home.html", CONFIG); 1.52 g_assert(uri); 1.53 @@ -140,13 +139,13 @@ 1.54 1.55 /* Navigation button function */ 1.56 static void 1.57 -go_back_cb(GtkWidget* widget, gpointer data) 1.58 +go_back_cb(GtkWidget* widget, WebKitWebView* webview) 1.59 { 1.60 webkit_web_view_go_back(webview); 1.61 } 1.62 1.63 static void 1.64 -go_forward_cb(GtkWidget* widget, gpointer data) 1.65 +go_forward_cb(GtkWidget* widget, WebKitWebView* webview) 1.66 { 1.67 webkit_web_view_go_forward(webview); 1.68 } 1.69 @@ -188,13 +187,13 @@ 1.70 1.71 /* Zoom out and in callback function */ 1.72 static void 1.73 -zoom_out_cb(GtkWidget *mainwindow) 1.74 +zoom_out_cb(GtkWidget *window) 1.75 { 1.76 webkit_web_view_zoom_out(webview); 1.77 } 1.78 1.79 static void 1.80 -zoom_in_cb(GtkWidget *mainwindow) 1.81 +zoom_in_cb(GtkWidget *window) 1.82 { 1.83 webkit_web_view_zoom_in(webview); 1.84 } 1.85 @@ -271,7 +270,8 @@ 1.86 1.87 /* Scrolled window for the webview */ 1.88 static GtkWidget* 1.89 -create_browser(GtkWidget* window) 1.90 +create_browser(GtkWidget* window, GtkWidget* urientry, GtkWidget* search, 1.91 + WebKitWebView* webview) 1.92 { 1.93 WebKitWebSettings *settings; 1.94 1.95 @@ -291,7 +291,7 @@ 1.96 g_signal_connect(webview, "notify::progress", 1.97 G_CALLBACK(notify_progress_cb), window); 1.98 g_signal_connect(webview, "notify::load-status", 1.99 - G_CALLBACK(notify_load_status_cb), window); 1.100 + G_CALLBACK(notify_load_status_cb), urientry); 1.101 g_signal_connect(webview, "download-requested", 1.102 G_CALLBACK(download_requested_cb), NULL); 1.103 g_signal_connect(webview, "create-web-view", 1.104 @@ -321,18 +321,20 @@ 1.105 1.106 /* The back button */ 1.107 item = gtk_tool_button_new_from_stock(GTK_STOCK_GO_BACK); 1.108 - g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(go_back_cb), NULL); 1.109 + g_signal_connect(G_OBJECT(item), "clicked", 1.110 + G_CALLBACK(go_back_cb), webview); 1.111 gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1); 1.112 1.113 /* The forward button */ 1.114 item = gtk_tool_button_new_from_stock(GTK_STOCK_GO_FORWARD); 1.115 - g_signal_connect(G_OBJECT(item), "clicked", G_CALLBACK(go_forward_cb), NULL); 1.116 + g_signal_connect(G_OBJECT(item), "clicked", 1.117 + G_CALLBACK(go_forward_cb), webview); 1.118 gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1); 1.119 1.120 /* Home button */ 1.121 item = gtk_tool_button_new_from_stock(GTK_STOCK_HOME); 1.122 g_signal_connect(G_OBJECT(item), "clicked", 1.123 - G_CALLBACK(go_home_cb), NULL); 1.124 + G_CALLBACK(go_home_cb), webview); 1.125 gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1); 1.126 1.127 /* URL entry */ 1.128 @@ -370,6 +372,9 @@ 1.129 create_window(WebKitWebView** newwebview) 1.130 { 1.131 GtkWidget* window; 1.132 + GtkWidget *urientry; 1.133 + GtkWidget *search; 1.134 + 1.135 g_atomic_int_inc(&count); 1.136 1.137 /* Default TazWeb window */ 1.138 @@ -388,7 +393,7 @@ 1.139 1.140 /* Pack box and container */ 1.141 gtk_box_pack_start(GTK_BOX(vbox), 1.142 - create_browser(window), TRUE, TRUE, 0); 1.143 + create_browser(window, urientry, search, webview), TRUE, TRUE, 0); 1.144 gtk_box_pack_start(GTK_BOX(vbox), 1.145 create_toolbar(urientry, search, webview), FALSE, FALSE, 0); 1.146 gtk_container_add(GTK_CONTAINER(window), vbox); 1.147 @@ -402,6 +407,8 @@ 1.148 int 1.149 main(int argc, char* argv[]) 1.150 { 1.151 + WebKitWebView *webView; 1.152 + 1.153 gtk_init(NULL, NULL); 1.154 if (!g_thread_supported()) 1.155 g_thread_init(NULL);