Listen properly to switching the search engine
This commit is contained in:
parent
778faa8346
commit
3537ef3e8d
1 changed files with 30 additions and 6 deletions
|
@ -2653,8 +2653,8 @@ midori_browser_realize_cb (GtkStyle* style, MidoriBrowser* browser)
|
|||
}
|
||||
|
||||
static void
|
||||
midori_browser_search_activate (GtkWidget* widget,
|
||||
MidoriBrowser* browser)
|
||||
midori_browser_search_activate_cb (GtkWidget* widget,
|
||||
MidoriBrowser* browser)
|
||||
{
|
||||
MidoriWebList* search_engines;
|
||||
const gchar* keywords;
|
||||
|
@ -2690,6 +2690,26 @@ midori_browser_search_activate (GtkWidget* widget,
|
|||
g_free (location_entry_search);
|
||||
}
|
||||
|
||||
static void
|
||||
midori_browser_search_notify_current_item_cb (GObject *gobject,
|
||||
GParamSpec *arg1,
|
||||
MidoriBrowser* browser)
|
||||
{
|
||||
MidoriSearchEntry* search_entry;
|
||||
MidoriWebItem* web_item;
|
||||
guint index;
|
||||
|
||||
search_entry = MIDORI_SEARCH_ENTRY (browser->search);
|
||||
web_item = midori_search_entry_get_current_item (search_entry);
|
||||
if (web_item)
|
||||
index = midori_web_list_get_item_index (browser->search_engines,
|
||||
web_item);
|
||||
else
|
||||
index = 0;
|
||||
|
||||
g_object_set (browser->settings, "last-web-search", index, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
midori_browser_init (MidoriBrowser* browser)
|
||||
{
|
||||
|
@ -2827,10 +2847,14 @@ midori_browser_init (MidoriBrowser* browser)
|
|||
The interface is somewhat awkward and ought to be rethought
|
||||
Display "show in context menu" search engines as "completion actions" */
|
||||
sokoke_entry_setup_completion (GTK_ENTRY (browser->search));
|
||||
g_signal_connect (browser->search, "activate",
|
||||
G_CALLBACK (midori_browser_search_activate), browser);
|
||||
g_signal_connect (browser->search, "focus-out-event",
|
||||
G_CALLBACK (midori_browser_search_focus_out_event_cb), browser);
|
||||
g_object_connect (browser->search,
|
||||
"signal::activate",
|
||||
midori_browser_search_activate_cb, browser,
|
||||
"signal::focus-out-event",
|
||||
midori_browser_search_focus_out_event_cb, browser,
|
||||
"signal::notify::current-item",
|
||||
midori_browser_search_notify_current_item_cb, browser,
|
||||
NULL);
|
||||
toolitem = gtk_tool_item_new ();
|
||||
gtk_container_add (GTK_CONTAINER (toolitem), browser->search);
|
||||
gtk_toolbar_insert (GTK_TOOLBAR (browser->navigationbar), toolitem, -1);
|
||||
|
|
Loading…
Reference in a new issue