From 1b094dda757021874e6e6a2da28c903a30659f07 Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Mon, 18 May 2009 22:40:13 +0200 Subject: [PATCH] Replace FindQuick with direct '.' and '/' search hotkey support Using an action for a single character turned out to be a bad idea and rather than trying to work around it, we implement '/' and '.' hotkeys directly in the view. --- midori/midori-browser.c | 15 --------------- midori/midori-view.c | 9 +++++++-- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/midori/midori-browser.c b/midori/midori-browser.c index 5d6a369b..f95c4837 100644 --- a/midori/midori-browser.c +++ b/midori/midori-browser.c @@ -273,8 +273,6 @@ _midori_browser_update_interface (MidoriBrowser* browser) midori_view_can_find (MIDORI_VIEW (view))); _action_set_sensitive (browser, "FindPrevious", midori_view_can_find (MIDORI_VIEW (view))); - _action_set_sensitive (browser, "FindQuick", - midori_view_can_find (MIDORI_VIEW (view))); gtk_widget_set_sensitive (GTK_WIDGET (browser->find_highlight), midori_view_can_find (MIDORI_VIEW (view))); @@ -2164,15 +2162,6 @@ _action_find_previous_activate (GtkAction* action, _midori_browser_find (browser, FALSE); } -static void -_action_find_quick_activate (GtkAction* action, - MidoriBrowser* browser) -{ - GtkWidget* view = midori_browser_get_current_tab (browser); - if (view) - g_signal_emit_by_name (view, "search-text", TRUE, ""); -} - static void _find_highlight_toggled (GtkToggleToolButton* toolitem, MidoriBrowser* browser) @@ -3926,9 +3915,6 @@ static const GtkActionEntry entries[] = { N_("Find _Previous"), "g", N_("Find the previous occurrence of a word or phrase"), G_CALLBACK (_action_find_previous_activate) }, - { "FindQuick", GTK_STOCK_FIND, - N_("_Quick Find"), "period", - N_("Quickly jump to a word or phrase"), G_CALLBACK (_action_find_quick_activate) }, { "Preferences", GTK_STOCK_PREFERENCES, NULL, "p", N_("Configure the application preferences"), G_CALLBACK (_action_preferences_activate) }, @@ -4190,7 +4176,6 @@ static const gchar* ui_markup = "" "" "" - "" "" "" "" diff --git a/midori/midori-view.c b/midori/midori-view.c index dee622c4..4c142f52 100644 --- a/midori/midori-view.c +++ b/midori/midori-view.c @@ -1009,10 +1009,15 @@ gtk_widget_key_press_event_cb (WebKitWebView* web_view, if (character == (event->keyval | 0x01000000)) return FALSE; - if (view->find_while_typing && !webkit_web_view_can_cut_clipboard (web_view) + if (character == '.' || character == '/') + character = '\0'; + else if (!view->find_while_typing) + return FALSE; + + if (!webkit_web_view_can_cut_clipboard (web_view) && !webkit_web_view_can_paste_clipboard (web_view)) { - gchar* text = g_strdup_printf ("%c", character); + gchar* text = character ? g_strdup_printf ("%c", character) : g_strdup (""); g_signal_emit (view, signals[SEARCH_TEXT], 0, TRUE, text); g_free (text);