[Xfce4-commits] [xfce/xfce4-settings] 02/02: settings-manager: Improve search by including keywords (Bug #10694)

noreply at xfce.org noreply at xfce.org
Fri Feb 28 22:06:44 CET 2020


This is an automated email from the git hooks/post-receive script.

o   c   h   o   s   i       p   u   s   h   e   d       a       c   o   m   m   i   t       t   o       b   r   a   n   c   h       m   a   s   t   e   r   
   in repository xfce/xfce4-settings.

commit 8f1c9f36cb79ec7ae128061cd5ab272d772cebcd
Author: Simon Steinbeiss <simon.steinbeiss at elfenbeinturm.at>
Date:   Fri Feb 28 22:03:59 2020 +0100

    settings-manager: Improve search by including keywords (Bug #10694)
---
 xfce4-settings-manager/xfce-settings-manager-dialog.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/xfce4-settings-manager/xfce-settings-manager-dialog.c b/xfce4-settings-manager/xfce-settings-manager-dialog.c
index 612adb9..889c9a6 100644
--- a/xfce4-settings-manager/xfce-settings-manager-dialog.c
+++ b/xfce4-settings-manager/xfce-settings-manager-dialog.c
@@ -1249,10 +1249,12 @@ xfce_settings_manager_dialog_menu_reload (XfceSettingsManagerDialog *dialog)
     GList               *lnext;
     GarconMenuDirectory *directory;
     GList               *items, *lp;
+    GList               *keywords, *kli;
     gint                 i = 0;
     gchar               *item_text;
     gchar               *normalized;
     gchar               *filter_text;
+    GString             *item_keywords;
     DialogCategory      *category;
 
     g_return_if_fail (XFCE_IS_SETTINGS_MANAGER_DIALOG (dialog));
@@ -1298,10 +1300,19 @@ xfce_settings_manager_dialog_menu_reload (XfceSettingsManagerDialog *dialog)
                 items = g_list_sort (items, xfce_settings_manager_dialog_menu_sort);
                 for (lp = items; lp != NULL; lp = lp->next)
                 {
-                    /* create independent search string */
-                    item_text = g_strdup_printf ("%s\n%s",
+                    /* create independent search string based on name, comment and keywords */
+                    keywords = garcon_menu_item_get_keywords (lp->data);
+                    item_keywords = g_string_new (NULL);
+                    for (kli = keywords; kli != NULL; kli = kli->next)
+                    {
+                        g_string_append (item_keywords, kli->data);
+                    }
+                    item_text = g_strdup_printf ("%s\n%s\n%s",
                         garcon_menu_item_get_name (lp->data),
-                        garcon_menu_item_get_comment (lp->data));
+                        garcon_menu_item_get_comment (lp->data),
+                        item_keywords->str);
+                    g_string_free (item_keywords, FALSE);
+                    g_list_free (kli);
                     normalized = g_utf8_normalize (item_text, -1, G_NORMALIZE_DEFAULT);
                     g_free (item_text);
                     filter_text = g_utf8_casefold (normalized, -1);

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Xfce4-commits mailing list