[gnome-builder/wip/chergert/docs] add shortcut for search entry
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder/wip/chergert/docs] add shortcut for search entry
- Date: Wed, 17 Jul 2019 16:47:22 +0000 (UTC)
commit 0a06323e9230a09f6314572f41291ee7ef0e831b
Author: Christian Hergert <chergert redhat com>
Date: Wed Jul 17 09:47:16 2019 -0700
add shortcut for search entry
src/libide/docs/ide-docs-workspace.c | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
---
diff --git a/src/libide/docs/ide-docs-workspace.c b/src/libide/docs/ide-docs-workspace.c
index 40b0ed717..1e7f4a35a 100644
--- a/src/libide/docs/ide-docs-workspace.c
+++ b/src/libide/docs/ide-docs-workspace.c
@@ -131,6 +131,18 @@ on_search_view_item_activated_cb (IdeDocsWorkspace *self,
gtk_stack_set_visible_child (self->stack, GTK_WIDGET (self->view));
}
+static void
+ide_docs_workspace_focus_search_cb (GtkWidget *widget,
+ gpointer user_data)
+{
+ IdeDocsWorkspace *self = user_data;
+
+ g_assert (GTK_IS_WIDGET (widget));
+ g_assert (IDE_IS_DOCS_WORKSPACE (self));
+
+ gtk_widget_grab_focus (GTK_WIDGET (self->entry));
+}
+
static void
ide_docs_workspace_destroy (GtkWidget *widget)
{
@@ -166,6 +178,8 @@ ide_docs_workspace_class_init (IdeDocsWorkspaceClass *klass)
static void
ide_docs_workspace_init (IdeDocsWorkspace *self)
{
+ DzlShortcutController *controller;
+
gtk_widget_init_template (GTK_WIDGET (self));
g_signal_connect_object (self->search_view,
@@ -179,4 +193,14 @@ ide_docs_workspace_init (IdeDocsWorkspace *self)
G_CALLBACK (on_search_entry_changed_cb),
self,
G_CONNECT_SWAPPED);
+
+ controller = dzl_shortcut_controller_find (GTK_WIDGET (self));
+
+ dzl_shortcut_controller_add_command_callback (controller,
+ "org.gnome.builder.docs.focus-search",
+ "<Control>K",
+ DZL_SHORTCUT_PHASE_BUBBLE | DZL_SHORTCUT_PHASE_GLOBAL,
+ ide_docs_workspace_focus_search_cb,
+ self,
+ NULL);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]