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);