[gnome-builder] shortcuts: clear search with ctrl+shift+k in default (gedit) mode



commit 984ccb6eebc7cb844ec9448108e6380ca6a5e76e
Author: Christian Hergert <christian hergert me>
Date:   Mon Aug 31 00:02:44 2015 -0700

    shortcuts: clear search with ctrl+shift+k in default (gedit) mode

 data/keybindings/default.css |    1 +
 libide/ide-source-view.c     |   21 +++++++++++++++++++++
 libide/ide-source-view.h     |    1 +
 3 files changed, 23 insertions(+), 0 deletions(-)
---
diff --git a/data/keybindings/default.css b/data/keybindings/default.css
index 4d8916f..e528e21 100644
--- a/data/keybindings/default.css
+++ b/data/keybindings/default.css
@@ -46,6 +46,7 @@
 
   bind "<ctrl>g" { "move-search" (down, 0, 1, 1, 1, 1) };
   bind "<ctrl><shift>g" { "move-search" (up, 0, 1, 0, 1, 1) };
+  bind "<ctrl><shift>k" { "clear-search" () };
 }
 
 IdeSourceViewMode.default {
diff --git a/libide/ide-source-view.c b/libide/ide-source-view.c
index 5eddf1b..b23064d 100644
--- a/libide/ide-source-view.c
+++ b/libide/ide-source-view.c
@@ -206,6 +206,7 @@ enum {
   CAPTURE_MODIFIER,
   CLEAR_COUNT,
   CLEAR_MODIFIER,
+  CLEAR_SEARCH,
   CLEAR_SELECTION,
   CLEAR_SNIPPETS,
   CYCLE_COMPLETION,
@@ -2474,6 +2475,16 @@ ide_source_view_real_clear_modifier (IdeSourceView *self)
 }
 
 static void
+ide_source_view_real_clear_search (IdeSourceView *self)
+{
+  IdeSourceViewPrivate *priv = ide_source_view_get_instance_private (self);
+
+  g_assert (IDE_IS_SOURCE_VIEW (self));
+
+  gtk_source_search_context_set_highlight (priv->search_context, FALSE);
+}
+
+static void
 ide_source_view_real_clear_selection (IdeSourceView *self)
 {
   GtkTextView *text_view = (GtkTextView *)self;
@@ -5133,6 +5144,7 @@ ide_source_view_class_init (IdeSourceViewClass *klass)
   klass->capture_modifier = ide_source_view_real_capture_modifier;
   klass->clear_count = ide_source_view_real_clear_count;
   klass->clear_modifier = ide_source_view_real_clear_modifier;
+  klass->clear_search = ide_source_view_real_clear_search;
   klass->clear_selection = ide_source_view_real_clear_selection;
   klass->clear_snippets = ide_source_view_clear_snippets;
   klass->cycle_completion = ide_source_view_real_cycle_completion;
@@ -5437,6 +5449,15 @@ ide_source_view_class_init (IdeSourceViewClass *klass)
                   G_TYPE_NONE,
                   0);
 
+  gSignals [CLEAR_SEARCH] =
+    g_signal_new ("clear-search",
+                  G_TYPE_FROM_CLASS (klass),
+                  G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
+                  G_STRUCT_OFFSET (IdeSourceViewClass, clear_search),
+                  NULL, NULL, NULL,
+                  G_TYPE_NONE,
+                  0);
+
   gSignals [CLEAR_SELECTION] =
     g_signal_new ("clear-selection",
                   G_TYPE_FROM_CLASS (klass),
diff --git a/libide/ide-source-view.h b/libide/ide-source-view.h
index 2e6cac9..b7f3705 100644
--- a/libide/ide-source-view.h
+++ b/libide/ide-source-view.h
@@ -199,6 +199,7 @@ struct _IdeSourceViewClass
   void (*capture_modifier)            (IdeSourceView           *self);
   void (*clear_count)                 (IdeSourceView           *self);
   void (*clear_modifier)              (IdeSourceView           *self);
+  void (*clear_search)                (IdeSourceView           *self);
   void (*clear_selection)             (IdeSourceView           *self);
   void (*clear_snippets)              (IdeSourceView           *self);
   void (*cycle_completion)            (IdeSourceView           *self,


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