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
|
static void
|
||||||
midori_browser_search_activate (GtkWidget* widget,
|
midori_browser_search_activate_cb (GtkWidget* widget,
|
||||||
MidoriBrowser* browser)
|
MidoriBrowser* browser)
|
||||||
{
|
{
|
||||||
MidoriWebList* search_engines;
|
MidoriWebList* search_engines;
|
||||||
const gchar* keywords;
|
const gchar* keywords;
|
||||||
|
@ -2690,6 +2690,26 @@ midori_browser_search_activate (GtkWidget* widget,
|
||||||
g_free (location_entry_search);
|
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
|
static void
|
||||||
midori_browser_init (MidoriBrowser* browser)
|
midori_browser_init (MidoriBrowser* browser)
|
||||||
{
|
{
|
||||||
|
@ -2827,10 +2847,14 @@ midori_browser_init (MidoriBrowser* browser)
|
||||||
The interface is somewhat awkward and ought to be rethought
|
The interface is somewhat awkward and ought to be rethought
|
||||||
Display "show in context menu" search engines as "completion actions" */
|
Display "show in context menu" search engines as "completion actions" */
|
||||||
sokoke_entry_setup_completion (GTK_ENTRY (browser->search));
|
sokoke_entry_setup_completion (GTK_ENTRY (browser->search));
|
||||||
g_signal_connect (browser->search, "activate",
|
g_object_connect (browser->search,
|
||||||
G_CALLBACK (midori_browser_search_activate), browser);
|
"signal::activate",
|
||||||
g_signal_connect (browser->search, "focus-out-event",
|
midori_browser_search_activate_cb, browser,
|
||||||
G_CALLBACK (midori_browser_search_focus_out_event_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 ();
|
toolitem = gtk_tool_item_new ();
|
||||||
gtk_container_add (GTK_CONTAINER (toolitem), browser->search);
|
gtk_container_add (GTK_CONTAINER (toolitem), browser->search);
|
||||||
gtk_toolbar_insert (GTK_TOOLBAR (browser->navigationbar), toolitem, -1);
|
gtk_toolbar_insert (GTK_TOOLBAR (browser->navigationbar), toolitem, -1);
|
||||||
|
|
Loading…
Reference in a new issue