[balsa] balsa-message: Port the find bar to GtkSearch*
- From: Peter Bloomfield <peterb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [balsa] balsa-message: Port the find bar to GtkSearch*
- Date: Thu, 9 May 2019 20:13:16 +0000 (UTC)
commit 029162f6d5e8b830935283b6e15f958c22d2e7a1
Author: Peter Bloomfield <PeterBloomfield bellsouth net>
Date: Thu May 9 16:12:03 2019 -0400
balsa-message: Port the find bar to GtkSearch*
balsa-message: Port the find-in-message bar to GtkSearchBar and
GtkSearchEntry
* src/balsa-message.c (bm_find_bar_new), (bm_disable_find_entry),
(balsa_message_init), (balsa_message_find_in_message):
ChangeLog | 8 ++++++++
src/balsa-message.c | 22 +++++++++++++++-------
2 files changed, 23 insertions(+), 7 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index eb304312c..b475cfe7b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2019-05-09 Peter Bloomfield <pbloomfield bellsouth net>
+
+ balsa-message: Port the find-in-message bar to GtkSearchBar and
+ GtkSearchEntry
+
+ * src/balsa-message.c (bm_find_bar_new), (bm_disable_find_entry),
+ (balsa_message_init), (balsa_message_find_in_message):
+
2019-05-01 Peter Bloomfield <pbloomfield bellsouth net>
mailbox-local: Use g_ptr_array_new_with_free_func() to manage
diff --git a/src/balsa-message.c b/src/balsa-message.c
index 67a57f305..e35d74df6 100644
--- a/src/balsa-message.c
+++ b/src/balsa-message.c
@@ -605,6 +605,7 @@ bm_find_bar_new(BalsaMessage * bm)
GtkWidget *hbox;
GtkToolItem *tool_item;
GtkWidget *image;
+ GtkWidget *search_bar;
toolbar = gtk_toolbar_new();
gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH_HORIZ);
@@ -612,7 +613,7 @@ bm_find_bar_new(BalsaMessage * bm)
hbox = gtk_box_new(GTK_ORIENTATION_HORIZONTAL, 6);
gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new(_("Find:")),
FALSE, FALSE, 0);
- bm->find_entry = gtk_entry_new();
+ bm->find_entry = gtk_search_entry_new();
g_signal_connect(bm->find_entry, "changed",
G_CALLBACK(bm_find_entry_changed_cb), bm);
gtk_box_pack_start(GTK_BOX(hbox), bm->find_entry, FALSE, FALSE, 0);
@@ -643,7 +644,14 @@ bm_find_bar_new(BalsaMessage * bm)
gtk_container_add(GTK_CONTAINER(tool_item), bm->find_label);
gtk_toolbar_insert(GTK_TOOLBAR(toolbar), tool_item, -1);
- return toolbar;
+ search_bar = gtk_search_bar_new();
+ gtk_search_bar_set_search_mode(GTK_SEARCH_BAR(search_bar), FALSE);
+ gtk_search_bar_set_show_close_button(GTK_SEARCH_BAR(search_bar), TRUE);
+ gtk_search_bar_connect_entry(GTK_SEARCH_BAR(search_bar),
+ GTK_ENTRY(bm->find_entry));
+ gtk_container_add(GTK_CONTAINER(search_bar), toolbar);
+
+ return search_bar;
}
static void bm_disable_find_entry(BalsaMessage * bm);
@@ -683,7 +691,7 @@ bm_disable_find_entry(BalsaMessage * bm)
g_signal_handlers_disconnect_by_func
(gtk_widget_get_toplevel(GTK_WIDGET(bm)),
G_CALLBACK(bm_find_pass_to_entry), bm);
- gtk_widget_hide(bm->find_bar);
+ gtk_search_bar_set_search_mode(GTK_SEARCH_BAR(bm->find_bar), FALSE);
}
/*
@@ -818,11 +826,11 @@ balsa_message_init(BalsaMessage * bm)
bm->wrap_text = balsa_app.browse_wrap;
bm->shown_headers = balsa_app.shown_headers;
- gtk_widget_show_all(GTK_WIDGET(bm));
-
- /* Find-in-message toolbar that is hidden by default. */
+ /* Find-in-message search bar, initially hidden. */
bm->find_bar = bm_find_bar_new(bm);
gtk_box_pack_start(GTK_BOX(vbox), bm->find_bar, FALSE, FALSE, 0);
+
+ gtk_widget_show_all(GTK_WIDGET(bm));
}
static void
@@ -3338,7 +3346,7 @@ balsa_message_find_in_message(BalsaMessage * bm)
bm_find_set_status(bm, BM_FIND_STATUS_INIT);
- gtk_widget_show_all(bm->find_bar);
+ gtk_search_bar_set_search_mode(GTK_SEARCH_BAR(bm->find_bar), TRUE);
if (gtk_widget_get_window(bm->find_entry))
gtk_widget_grab_focus(bm->find_entry);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]