[gnome-builder] project-selector: add support for type to search
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-builder] project-selector: add support for type to search
- Date: Fri, 17 Apr 2015 21:24:18 +0000 (UTC)
commit 742b2bbd69ded3b2e9ab78e9cbe03c14096f8b72
Author: Christian Hergert <christian hergert me>
Date: Fri Apr 17 14:24:06 2015 -0700
project-selector: add support for type to search
Now you can just start typing the project name and hit enter.
src/dialogs/gb-projects-dialog.c | 45 ++++++++++++-------------------------
1 files changed, 15 insertions(+), 30 deletions(-)
---
diff --git a/src/dialogs/gb-projects-dialog.c b/src/dialogs/gb-projects-dialog.c
index 36f6865..a71f743 100644
--- a/src/dialogs/gb-projects-dialog.c
+++ b/src/dialogs/gb-projects-dialog.c
@@ -27,6 +27,7 @@
#include "gb-application.h"
#include "gb-editor-document.h"
+#include "gb-gdk.h"
#include "gb-glib.h"
#include "gb-new-project-dialog.h"
#include "gb-projects-dialog.h"
@@ -540,45 +541,29 @@ gb_projects_dialog_constructed (GObject *object)
static gboolean
gb_projects_dialog_key_press_event (GtkWidget *widget,
- GdkEventKey *event)
+ GdkEventKey *event)
{
GbProjectsDialog *self = (GbProjectsDialog *)widget;
- gboolean ret;
- ret = GTK_WIDGET_CLASS (gb_projects_dialog_parent_class)->key_press_event (widget, event);
+ g_assert (GB_IS_PROJECTS_DIALOG (self));
+ g_assert (event != NULL);
+
+ if (GTK_WIDGET_CLASS (gb_projects_dialog_parent_class)->key_press_event (widget, event))
+ return TRUE;
- if (!ret)
+ if (!gtk_toggle_button_get_active (self->search_button))
{
- switch (event->keyval)
+ if (!gb_gdk_event_key_is_keynav (event) &&
+ !gb_gdk_event_key_is_space (event) &&
+ !gb_gdk_event_key_is_tab (event))
{
- case GDK_KEY_Escape:
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->select_button)))
- {
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->select_button), FALSE);
- ret = TRUE;
- }
- if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (self->search_button)))
- {
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->search_button), FALSE);
- ret = TRUE;
- }
- break;
-
- case GDK_KEY_f:
- if ((event->state & GDK_CONTROL_MASK) != 0)
- {
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (self->search_button), TRUE);
- ret = TRUE;
- }
- break;
-
- default:
- break;
+ gtk_toggle_button_set_active (self->search_button, TRUE);
+ gtk_search_bar_handle_event (self->search_bar, (GdkEvent *)event);
+ return TRUE;
}
}
-
- return ret;
+ return FALSE;
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]