[gedit/wip/search-fixes] ViewFrame: call start_search() when an option is toggled
- From: Sébastien Wilmet <swilmet src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gedit/wip/search-fixes] ViewFrame: call start_search() when an option is toggled
- Date: Wed, 28 Aug 2013 10:45:22 +0000 (UTC)
commit bcb27858c1973ddb40c38e83cb06fcf1de4209fc
Author: Sébastien Wilmet <swilmet gnome org>
Date: Wed Aug 28 12:39:29 2013 +0200
ViewFrame: call start_search() when an option is toggled
When we open the simple search, the cursor position is stored.
start_search() always search at this stored location. And when
start_search() is finished, it updates the background color for the
search state (found/not found).
gedit/gedit-view-frame.c | 61 +++++++++++++++++++++++++++++++++++++++-------
1 files changed, 52 insertions(+), 9 deletions(-)
---
diff --git a/gedit/gedit-view-frame.c b/gedit/gedit-view-frame.c
index 2d8c631..c300596 100644
--- a/gedit/gedit-view-frame.c
+++ b/gedit/gedit-view-frame.c
@@ -712,10 +712,41 @@ update_search_text (GeditViewFrame *frame)
}
static void
+regex_toggled_cb (GtkCheckMenuItem *menu_item,
+ GeditViewFrame *frame)
+{
+ gtk_source_search_settings_set_regex_enabled (frame->priv->search_settings,
+ gtk_check_menu_item_get_active (menu_item));
+
+ start_search (frame);
+}
+
+static void
+at_word_boundaries_toggled_cb (GtkCheckMenuItem *menu_item,
+ GeditViewFrame *frame)
+{
+ gtk_source_search_settings_set_at_word_boundaries (frame->priv->search_settings,
+ gtk_check_menu_item_get_active (menu_item));
+
+ start_search (frame);
+}
+
+static void
+case_sensitive_toggled_cb (GtkCheckMenuItem *menu_item,
+ GeditViewFrame *frame)
+{
+ gtk_source_search_settings_set_case_sensitive (frame->priv->search_settings,
+ gtk_check_menu_item_get_active (menu_item));
+
+ start_search (frame);
+}
+
+static void
add_popup_menu_items (GeditViewFrame *frame,
GtkWidget *menu)
{
GtkWidget *menu_item;
+ gboolean val;
/* create "Wrap Around" menu item. */
menu_item = gtk_check_menu_item_new_with_mnemonic (_("_Wrap Around"));
@@ -733,9 +764,13 @@ add_popup_menu_items (GeditViewFrame *frame,
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
- g_object_bind_property (frame->priv->search_settings, "regex-enabled",
- menu_item, "active",
- G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
+ val = gtk_source_search_settings_get_regex_enabled (frame->priv->search_settings);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_item), val);
+
+ g_signal_connect (menu_item,
+ "toggled",
+ G_CALLBACK (regex_toggled_cb),
+ frame);
/* create "Match Entire Word Only" menu item. */
menu_item = gtk_check_menu_item_new_with_mnemonic (_("Match _Entire Word Only"));
@@ -743,9 +778,13 @@ add_popup_menu_items (GeditViewFrame *frame,
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
- g_object_bind_property (frame->priv->search_settings, "at-word-boundaries",
- menu_item, "active",
- G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
+ val = gtk_source_search_settings_get_at_word_boundaries (frame->priv->search_settings);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_item), val);
+
+ g_signal_connect (menu_item,
+ "toggled",
+ G_CALLBACK (at_word_boundaries_toggled_cb),
+ frame);
/* create "Match Case" menu item. */
menu_item = gtk_check_menu_item_new_with_mnemonic (_("_Match Case"));
@@ -753,9 +792,13 @@ add_popup_menu_items (GeditViewFrame *frame,
gtk_menu_shell_prepend (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
- g_object_bind_property (frame->priv->search_settings, "case-sensitive",
- menu_item, "active",
- G_BINDING_BIDIRECTIONAL | G_BINDING_SYNC_CREATE);
+ val = gtk_source_search_settings_get_case_sensitive (frame->priv->search_settings);
+ gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menu_item), val);
+
+ g_signal_connect (menu_item,
+ "toggled",
+ G_CALLBACK (case_sensitive_toggled_cb),
+ frame);
}
static void
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]