[gnome-builder] global-search: focus global search with <Control>period.



commit 76dedde30d194c4ec1a566c0e43114f205e32604
Author: Christian Hergert <christian hergert me>
Date:   Mon Nov 17 14:01:26 2014 -0800

    global-search: focus global search with <Control>period.

 src/resources/keybindings/default.ini |    1 +
 src/workbench/gb-workbench.c          |   16 ++++++++++++++++
 2 files changed, 17 insertions(+), 0 deletions(-)
---
diff --git a/src/resources/keybindings/default.ini b/src/resources/keybindings/default.ini
index 3fbd798..f3faae5 100644
--- a/src/resources/keybindings/default.ini
+++ b/src/resources/keybindings/default.ini
@@ -8,6 +8,7 @@ workspace2 = <Control>2
 go-forward = <Control>I
 go-backward = <Control>O
 show-command-bar = <Control>space
+global-search = <Control>period
 
 [workbench]
 close-tab = <Control>W
diff --git a/src/workbench/gb-workbench.c b/src/workbench/gb-workbench.c
index adccc99..47b0aa1 100644
--- a/src/workbench/gb-workbench.c
+++ b/src/workbench/gb-workbench.c
@@ -51,6 +51,7 @@ struct _GbWorkbenchPrivate
   GtkButton              *next_button;
   GtkButton              *run_button;
   GtkHeaderBar           *header_bar;
+  GtkSearchEntry         *search_entry;
   GtkStack               *stack;
   GtkStackSwitcher       *switcher;
 };
@@ -349,11 +350,24 @@ on_command_bar_notify_child_revealed (GbCommandBar *command_bar,
 }
 
 static void
+on_global_search_activate (GSimpleAction *action,
+                           GVariant      *parameters,
+                           gpointer       user_data)
+{
+  GbWorkbench *workbench = user_data;
+
+  g_return_if_fail (GB_IS_WORKBENCH (workbench));
+
+  gtk_widget_grab_focus (GTK_WIDGET (workbench->priv->search_entry));
+}
+
+static void
 gb_workbench_constructed (GObject *object)
 {
   static const GActionEntry actions[] = {
     { "workspace1", on_workspace1_activate },
     { "workspace2", on_workspace2_activate },
+    { "global-search", on_global_search_activate },
     { "go-backward", on_go_backward_activate },
     { "go-forward", on_go_forward_activate },
     { "show-command-bar", on_show_command_bar_activate },
@@ -536,6 +550,8 @@ gb_workbench_class_init (GbWorkbenchClass *klass)
   gtk_widget_class_bind_template_child_private (widget_class, GbWorkbench,
                                                 header_bar);
   gtk_widget_class_bind_template_child_private (widget_class, GbWorkbench,
+                                                search_entry);
+  gtk_widget_class_bind_template_child_private (widget_class, GbWorkbench,
                                                 switcher);
   gtk_widget_class_bind_template_child_private (widget_class, GbWorkbench,
                                                 stack);


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