[gnome-notes] search-toolbar: Enable search on text change
- From: Isaque Galdino de Araujo <igaldino src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-notes] search-toolbar: Enable search on text change
- Date: Tue, 4 May 2021 13:10:20 +0000 (UTC)
commit e2cd3490a6253a80192417fe9055e0884f3a6151
Author: Jonathan Kang <jonathankang gnome org>
Date: Wed Aug 19 11:05:41 2020 +0800
search-toolbar: Enable search on text change
After the redesign, the search bar is always shown. So there is no point
disabling search when it's not shown. Remove the "key-press-event"
handler as well.
https://gitlab.gnome.org/GNOME/gnome-notes/-/issues/154
src/bjb-search-toolbar.c | 62 +++++-------------------------------------------
src/bjb-window-base.c | 2 --
2 files changed, 6 insertions(+), 58 deletions(-)
---
diff --git a/src/bjb-search-toolbar.c b/src/bjb-search-toolbar.c
index acfd016..d573cce 100644
--- a/src/bjb-search-toolbar.c
+++ b/src/bjb-search-toolbar.c
@@ -45,57 +45,14 @@ struct _BjbSearchToolbar
G_DEFINE_TYPE (BjbSearchToolbar, bjb_search_toolbar, HDY_TYPE_SEARCH_BAR)
-static gboolean
-on_key_press_event_cb (BjbSearchToolbar *self,
- GdkEvent *event)
-{
- if (bjb_window_base_get_view_type (self->window) == BJB_WINDOW_BASE_NOTE_VIEW)
- return FALSE;
-
- return hdy_search_bar_handle_event (HDY_SEARCH_BAR (self), event);
-}
-
-static void
-on_search_changed_cb (BjbSearchToolbar *self)
-{
- bjb_controller_set_needle (BJB_CONTROLLER (self->controller),
- gtk_entry_get_text (self->entry));
-}
-
static void
-action_entry_text_change_callback (GtkEntry *entry,
- BjbSearchToolbar *self)
+on_search_changed_cb (GtkEntry *entry,
+ BjbSearchToolbar *self)
{
bjb_controller_set_needle (BJB_CONTROLLER (self->controller),
gtk_entry_get_text (entry));
}
-void
-bjb_search_toolbar_disconnect (BjbSearchToolbar *self)
-{
- if (self->key_pressed)
- g_signal_handler_disconnect (self->window, self->key_pressed);
- if (self->text_id)
- g_signal_handler_disconnect (self->entry, self->text_id);
-
- self->key_pressed = 0;
- self->text_id = 0;
-}
-
-void
-bjb_search_toolbar_connect (BjbSearchToolbar *self)
-{
- /* Connect to set the text */
- if (self->key_pressed == 0)
- self->key_pressed = g_signal_connect(self->window,"key-press-event",
- G_CALLBACK(on_key_pressed), self);
-
-
- if (self->text_id == 0)
- self->text_id = g_signal_connect (self->entry, "search-changed",
- G_CALLBACK (action_entry_text_change_callback), self);
-}
-
void
bjb_search_toolbar_setup (BjbSearchToolbar *self,
GtkWidget *window,
@@ -110,17 +67,6 @@ bjb_search_toolbar_setup (BjbSearchToolbar *self,
gtk_entry_set_text (self->entry, self->needle);
gtk_editable_set_position (GTK_EDITABLE (self->entry), -1);
}
-
- g_signal_connect_object (self->window,
- "key-press-event",
- G_CALLBACK (on_key_press_event_cb),
- self,
- G_CONNECT_SWAPPED);
-
- g_signal_connect_swapped (self->entry,
- "search-changed",
- G_CALLBACK (on_search_changed_cb),
- self);
}
static void
@@ -128,6 +74,10 @@ bjb_search_toolbar_init (BjbSearchToolbar *self)
{
self->entry = GTK_ENTRY (gtk_search_entry_new ());
hdy_search_bar_connect_entry (HDY_SEARCH_BAR (self), self->entry);
+ g_signal_connect (self->entry, "search-changed",
+ G_CALLBACK (on_search_changed_cb), self);
+
+ hdy_search_bar_connect_entry (HDY_SEARCH_BAR (self), GTK_ENTRY (self->entry));
gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (self->entry));
gtk_widget_show (GTK_WIDGET (self->entry));
}
diff --git a/src/bjb-window-base.c b/src/bjb-window-base.c
index 20d4216..1f71357 100644
--- a/src/bjb-window-base.c
+++ b/src/bjb-window-base.c
@@ -680,13 +680,11 @@ bjb_window_base_switch_to (BjbWindowBase *self, BjbWindowViewType type)
*/
case BJB_WINDOW_BASE_MAIN_VIEW:
- /* bjb_search_toolbar_connect (BJB_SEARCH_TOOLBAR (self->search_bar)); */
/* gtk_widget_show (GTK_WIDGET (self->search_bar)); */
/* gtk_stack_set_visible_child_name (self->stack, "main-view"); */
break;
case BJB_WINDOW_BASE_ARCHIVE_VIEW:
- /* bjb_search_toolbar_connect (BJB_SEARCH_TOOLBAR (self->search_bar)); */
/* gtk_widget_show (GTK_WIDGET (self->search_bar)); */
/* gtk_stack_set_visible_child_name (self->stack, "main-view"); */
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]