]> spindle.queued.net Git - midori/commitdiff
Replace FindQuick with direct '.' and '/' search hotkey support
authorChristian Dywan <christian@twotoasts.de>
Mon, 18 May 2009 20:40:13 +0000 (22:40 +0200)
committerChristian Dywan <christian@twotoasts.de>
Mon, 18 May 2009 20:40:13 +0000 (22:40 +0200)
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
midori/midori-view.c

index 5d6a369b8ce83e4d758ab365bf1769e0a904c7a6..f95c48373ec55c9c7220b8bd5bfa02ba8e908a2e 100644 (file)
@@ -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"), "<Ctrl><Shift>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, "<Ctrl><Alt>p",
    N_("Configure the application preferences"), G_CALLBACK (_action_preferences_activate) },
@@ -4190,7 +4176,6 @@ static const gchar* ui_markup =
     "<separator/>"
     "<menuitem action='Find'/>"
     "<menuitem action='FindNext'/>"
-    "<menuitem action='FindQuick'/>"
     "<separator/>"
     "<menuitem action='Preferences'/>"
    "</menu>"
index dee622c4f0bc8b7b9a93134e4c23cf6d855ee9ed..4c142f52bf223c8123e543599b570a28e6763448 100644 (file)
@@ -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);