]> spindle.queued.net Git - midori/commitdiff
Fallback midori_view_search_text to overlay
authorChristian Dywan <christian@twotoasts.de>
Sat, 31 Mar 2012 01:33:00 +0000 (03:33 +0200)
committerChristian Dywan <christian@twotoasts.de>
Sat, 31 Mar 2012 01:33:00 +0000 (03:33 +0200)
midori/midori-view.c
toolbars/midori-findbar.c
toolbars/midori-findbar.h

index e985aec4454a6429854a98bd840d437e2d379e76..6d392f7432ea3b762d958625c991ca6f53d28ff7 100644 (file)
@@ -5593,6 +5593,15 @@ midori_view_search_text (MidoriView*  view,
 {
     g_return_if_fail (MIDORI_IS_VIEW (view));
 
+    #if GTK_CHECK_VERSION (3, 2, 0)
+    if (gtk_widget_get_visible (view->overlay_find))
+    {
+        text = midori_findbar_get_text (MIDORI_FINDBAR (view->overlay_find));
+        webkit_web_view_search_text (WEBKIT_WEB_VIEW (view->web_view),
+            text, case_sensitive, forward, TRUE);
+        return;
+    }
+    #endif
     g_signal_emit (view, signals[SEARCH_TEXT], 0,
         webkit_web_view_search_text (WEBKIT_WEB_VIEW (view->web_view),
             text, case_sensitive, forward, TRUE), NULL);
index 22ab5da40a331e0955e1d4b225453736d203f6ee..6ef47f21f9e0740ac843cb2fbd4f94186bd8a96b 100644 (file)
@@ -145,6 +145,22 @@ midori_findbar_find_text (MidoriFindbar* findbar,
     midori_view_search_text (MIDORI_VIEW (view), text, case_sensitive, forward);
 }
 
+/**
+ * midori_findbar_get_text:
+ * @findbar: #MidoriFindbar
+ *
+ * Returns: the text typed in the entry
+ *
+ * Since: 0.4.5
+ **/
+const gchar*
+midori_findbar_get_text (MidoriFindbar* findbar)
+{
+    g_return_val_if_fail (MIDORI_IS_FINDBAR (findbar), NULL);
+
+    return gtk_entry_get_text (GTK_ENTRY (findbar->find_text));
+}
+
 void
 midori_findbar_find (MidoriFindbar* findbar,
                      gboolean       forward)
index 5f1a54c54a6c0c5b20f081d29a233c9258305d15..7a7ea194c151588d0975a713d5adece7d19b6896 100644 (file)
@@ -1,5 +1,5 @@
 /*
- Copyright (C) 2010 Christian Dywan <christian@twotoasts.de>
+ Copyright (C) 2012 Christian Dywan <christian@twotoasts.de>
 
  This library is free software; you can redistribute it and/or
  modify it under the terms of the GNU Lesser General Public
@@ -47,6 +47,9 @@ midori_findbar_find_text              (MidoriFindbar* findbar,
                                        const gchar*   text,
                                        gboolean       forward);
 
+const gchar*
+midori_findbar_get_text                (MidoriFindbar* findbar);
+
 void
 midori_findbar_set_can_find           (MidoriFindbar* findbar,
                                        gboolean       can_find);