tazweb rev 88

Make the search entry icon clickable
author Christophe Lincoln <pankso@slitaz.org>
date Wed Apr 27 12:11:36 2011 +0200 (2011-04-27)
parents cd4cb6fdd65d
children b56d23dd808b
files src/main.c
line diff
     1.1 --- a/src/main.c	Wed Apr 27 02:04:13 2011 +0200
     1.2 +++ b/src/main.c	Wed Apr 27 12:11:36 2011 +0200
     1.3 @@ -119,15 +119,28 @@
     1.4  	webkit_web_view_load_uri(webview, uri);
     1.5  }
     1.6  
     1.7 -/* Search entry callback function */
     1.8 +/* Search entry and icon callback function */
     1.9  static void
    1.10 -search_entry_cb(GtkWidget* search, WebKitWebView* webview)
    1.11 +search_web(GtkWidget* search, WebKitWebView* webview)
    1.12  {
    1.13  	uri = g_strdup_printf(SEARCH, gtk_entry_get_text(GTK_ENTRY(search)));
    1.14  	g_assert(uri);
    1.15  	webkit_web_view_load_uri(webview, uri);
    1.16  }
    1.17  
    1.18 +static void
    1.19 +search_entry_cb(GtkWidget* search, WebKitWebView* webview)
    1.20 +{
    1.21 +	search_web(search, webview);
    1.22 +}
    1.23 +
    1.24 +static void
    1.25 +search_icon_press_cb(GtkWidget *search, GtkEntryIconPosition pos,
    1.26 +		GdkEvent *event, WebKitWebView* webview)
    1.27 +{
    1.28 +    search_web(search, webview);
    1.29 +}
    1.30 +
    1.31  /* Navigation button function */
    1.32  static void
    1.33  go_home_cb(GtkWidget* widget, WebKitWebView* webview)
    1.34 @@ -341,10 +354,10 @@
    1.35  	gtk_tool_item_set_expand(item, TRUE);
    1.36  	gtk_widget_set_size_request(urientry, 0, 20);
    1.37  	gtk_container_add(GTK_CONTAINER(item), urientry);
    1.38 +	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
    1.39  	g_signal_connect(G_OBJECT(urientry), "activate",
    1.40  			G_CALLBACK(uri_entry_cb), webview);
    1.41 -	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
    1.42 -
    1.43 +	
    1.44  	/* Separator */
    1.45  	item = gtk_separator_tool_item_new();
    1.46  	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1); 
    1.47 @@ -352,24 +365,15 @@
    1.48  	/* Search entry */
    1.49  	item = gtk_tool_item_new();
    1.50  	gtk_widget_set_size_request(search, 150, 20);
    1.51 +	gtk_container_add(GTK_CONTAINER(item), search);
    1.52 +	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
    1.53  	gtk_entry_set_icon_from_stock(GTK_ENTRY(search),
    1.54  			GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_FIND);
    1.55 -	/*
    1.56 -	 * FIXME: The icon can be activatable but must be connected to a callback to
    1.57 -	 * valid the search. With GTK_ENTRY_ICON_SECONDARY it do a segfault maybe
    1.58 -	 * with GTK_ENTRY_ICON_PRIMARY it dont crash but dont works.
    1.59 -	 */
    1.60 -	gtk_entry_set_icon_activatable(GTK_ENTRY(search),
    1.61 -			GTK_ENTRY_ICON_SECONDARY, FALSE);
    1.62 -	//g_signal_connect(GTK_ENTRY(search), "icon-press",
    1.63 -	//		G_CALLBACK(search_entry_cb), webview);
    1.64 -	//gtk_entry_set_icon_tooltip_text (GTK_ENTRY(search),
    1.65 -	//		GTK_ENTRY_ICON_SECONDARY, "Search the web");
    1.66 -	gtk_container_add(GTK_CONTAINER(item), search);
    1.67 +	g_signal_connect(GTK_ENTRY(search), "icon-press",
    1.68 +			G_CALLBACK(search_icon_press_cb), webview);
    1.69  	g_signal_connect(G_OBJECT(search), "activate",
    1.70  			G_CALLBACK(search_entry_cb), webview);
    1.71 -	gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1);
    1.72 -
    1.73 +	
    1.74  	/* The Fullscreen button */
    1.75  	item = gtk_tool_button_new_from_stock(GTK_STOCK_FULLSCREEN);
    1.76  	g_signal_connect(G_OBJECT(item), "clicked",