From 9a1bb8e31eb55cea6d849022a649604f56161c1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Meyer?= Date: Tue, 12 Nov 2019 09:43:57 +0100 Subject: [PATCH 5/6] Save the state of the "highlight all" button in the search bar The state of the "case insensitive" checkbox is saved, so it makes sense to do the same for the "highlight all" button. Firefox does it, too. --- mousepad/mousepad-search-bar.c | 3 +++ mousepad/mousepad-settings.h | 1 + mousepad/org.xfce.mousepad.gschema.xml | 7 +++++++ 3 files changed, 11 insertions(+) diff --git a/mousepad/mousepad-search-bar.c b/mousepad/mousepad-search-bar.c index 963c32a..27da932 100644 --- a/mousepad/mousepad-search-bar.c +++ b/mousepad/mousepad-search-bar.c @@ -193,6 +193,7 @@ mousepad_search_bar_init (MousepadSearchBar *bar) /* init variables */ bar->highlight_id = 0; bar->match_case = match_case; + bar->highlight_all = MOUSEPAD_SETTING_GET_BOOLEAN (SEARCH_HIGHLIGHT_ALL); /* the close button */ item = gtk_tool_button_new_from_stock (GTK_STOCK_CLOSE); @@ -256,6 +257,8 @@ mousepad_search_bar_init (MousepadSearchBar *bar) g_signal_connect (G_OBJECT (item), "clicked", G_CALLBACK (mousepad_search_bar_highlight_toggled), bar); gtk_widget_show (GTK_WIDGET (item)); + MOUSEPAD_SETTING_BIND (SEARCH_HIGHLIGHT_ALL, item, "active", G_SETTINGS_BIND_DEFAULT); + /* check button for case sensitive, including the proxy menu item */ item = gtk_tool_item_new (); g_signal_connect_object (G_OBJECT (bar), "destroy", G_CALLBACK (gtk_widget_destroy), item, G_CONNECT_SWAPPED); diff --git a/mousepad/mousepad-settings.h b/mousepad/mousepad-settings.h index 4993045..6c7131d 100644 --- a/mousepad/mousepad-settings.h +++ b/mousepad/mousepad-settings.h @@ -63,6 +63,7 @@ G_BEGIN_DECLS #define MOUSEPAD_SETTING_SEARCH_MATCH_WHOLE_WORD "/state/search/match-whole-word" #define MOUSEPAD_SETTING_SEARCH_REPLACE_ALL "/state/search/replace-all" #define MOUSEPAD_SETTING_SEARCH_REPLACE_ALL_LOCATION "/state/search/replace-all-location" +#define MOUSEPAD_SETTING_SEARCH_HIGHLIGHT_ALL "/state/search/highlight-all" #define MOUSEPAD_SETTING_WINDOW_HEIGHT "/state/window/height" #define MOUSEPAD_SETTING_WINDOW_WIDTH "/state/window/width" #define MOUSEPAD_SETTING_WINDOW_TOP "/state/window/top" diff --git a/mousepad/org.xfce.mousepad.gschema.xml b/mousepad/org.xfce.mousepad.gschema.xml index 105a14a..360bf46 100644 --- a/mousepad/org.xfce.mousepad.gschema.xml +++ b/mousepad/org.xfce.mousepad.gschema.xml @@ -370,6 +370,13 @@ the replace-all is performed in all currently open documents. + + false + Highlight all + + When true search results are highlighted, otherwise they aren't. + + -- 2.21.0