[bijiben/wip/sadiq/modernize] search-toolbar: Simplify handling search
- From: Mohammed Sadiq <pksadiq src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [bijiben/wip/sadiq/modernize] search-toolbar: Simplify handling search
- Date: Sat, 25 Nov 2017 07:33:44 +0000 (UTC)
commit fde46a084b2167c56c439dac4e9603d0bafdcc8a
Author: Mohammed Sadiq <sadiq sadiqpk org>
Date: Sat Nov 25 12:51:18 2017 +0530
search-toolbar: Simplify handling search
Search was handled by connecting to "inserted-text" and
"deleted-text" signals of the associated GtkEntryBuffer of the
search entry.
Instead, hook to change in "text" property of the GtkEntry.
Also, remove the GtkEntryBuffer variable as we no longer use that.
https://bugzilla.gnome.org/show_bug.cgi?id=790814
src/bjb-search-toolbar.c | 58 +++++++++------------------------------------
1 files changed, 12 insertions(+), 46 deletions(-)
---
diff --git a/src/bjb-search-toolbar.c b/src/bjb-search-toolbar.c
index 5ee255b..45a159c 100644
--- a/src/bjb-search-toolbar.c
+++ b/src/bjb-search-toolbar.c
@@ -51,13 +51,11 @@ struct _BjbSearchToolbar
GtkWidget *entry;
gchar *needle;
- GtkEntryBuffer *entry_buf;
BjbController *controller;
/* Signals */
gulong key_pressed;
- gulong deleted;
- gulong inserted;
+ gulong text_id;
GtkWidget *window;
@@ -120,51 +118,24 @@ bjb_search_toolbar_set_property (GObject *object,
}
static void
-action_search_entry (GtkEntry *entry, BjbController *controller)
+action_entry_text_change_callback (GtkEntry *entry,
+ GParamSpec *pspec,
+ BjbSearchToolbar *self)
{
- bjb_controller_set_needle (controller, gtk_entry_get_text (entry));
+ bjb_controller_set_needle (BJB_CONTROLLER (self->controller),
+ gtk_entry_get_text (entry));
}
-
-
-static void
-action_entry_insert_callback (GtkEntryBuffer *buffer,
- guint position,
- gchar *chars,
- guint n_chars,
- BjbSearchToolbar *self)
-{
- action_search_entry (GTK_ENTRY (self->entry),
- self->controller);
-}
-
-
-
-
-static void
-action_entry_delete_callback (GtkEntryBuffer *buffer,
- guint position,
- guint n_chars,
- BjbSearchToolbar *self)
-{
- action_search_entry (GTK_ENTRY (self->entry),
- self->controller);
-}
-
-
void
bjb_search_toolbar_disconnect (BjbSearchToolbar *self)
{
if (self->key_pressed)
g_signal_handler_disconnect (self->window, self->key_pressed);
- if (self->inserted)
- g_signal_handler_disconnect (self->entry_buf, self->inserted);
- if (self->deleted)
- g_signal_handler_disconnect (self->entry_buf, self->deleted);
+ if (self->text_id)
+ g_signal_handler_disconnect (self->entry, self->text_id);
self->key_pressed = 0;
- self->inserted = 0;
- self->deleted = 0;
+ self->text_id = 0;
}
void
@@ -176,13 +147,9 @@ bjb_search_toolbar_connect (BjbSearchToolbar *self)
G_CALLBACK(on_key_pressed), self);
- if (self->inserted == 0)
- self->inserted = g_signal_connect (self->entry_buf, "inserted-text",
- G_CALLBACK (action_entry_insert_callback), self);
-
- if (self->deleted == 0)
- self->deleted = g_signal_connect (self->entry_buf, "deleted-text",
- G_CALLBACK (action_entry_delete_callback), self);
+ if (self->text_id == 0)
+ self->text_id = g_signal_connect (self->entry, "notify::text",
+ G_CALLBACK (action_entry_text_change_callback), self);
}
static void
@@ -194,7 +161,6 @@ bjb_search_toolbar_constructed (GObject *obj)
/* Get the needle from controller */
self->needle = bjb_controller_get_needle (self->controller);
- self->entry_buf = gtk_entry_get_buffer (GTK_ENTRY (self->entry));
if (self->needle && g_strcmp0 (self->needle, "") != 0)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]