[gnome-builder] Vim mode: fix search entry history



commit 2f835a5124427e68bd9d7b6c1cd282916783cedc
Author: Fangwen Yu <yynyygy gmail com>
Date:   Fri May 6 09:52:06 2016 +0800

    Vim mode: fix search entry history
    
    https://bugzilla.gnome.org/show_bug.cgi?id=766041

 libide/editor/ide-editor-frame-actions.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)
---
diff --git a/libide/editor/ide-editor-frame-actions.c b/libide/editor/ide-editor-frame-actions.c
index dac4883..028c53b 100644
--- a/libide/editor/ide-editor-frame-actions.c
+++ b/libide/editor/ide-editor-frame-actions.c
@@ -66,9 +66,20 @@ ide_editor_frame_actions_find (GSimpleAction *action,
 
       gtk_entry_set_text (GTK_ENTRY (self->search_entry), escaped_selected_text);
     }
-  else if (self->previous_search_string != NULL)
+  else
     {
-      gtk_entry_set_text (GTK_ENTRY (self->search_entry), self->previous_search_string);
+      GtkSourceSearchContext *search_context;
+      GtkSourceSearchSettings *search_settings;
+      const gchar *search_text;
+
+      search_context = ide_source_view_get_search_context (self->source_view);
+      search_settings = gtk_source_search_context_get_settings (search_context);
+      search_text = gtk_source_search_settings_get_search_text (search_settings);
+
+      if ((search_text != NULL) && (search_text [0] != '\0'))
+        gtk_entry_set_text (GTK_ENTRY (self->search_entry), search_text);
+      else if (self->previous_search_string != NULL)
+        gtk_entry_set_text (GTK_ENTRY (self->search_entry), self->previous_search_string);
     }
 
   gtk_revealer_set_reveal_child (self->search_revealer, TRUE);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]