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",