Branch: refs/heads/master Author: Jiří Techet techet@gmail.com Committer: Jiří Techet techet@gmail.com Date: Thu, 13 Jan 2022 14:48:31 UTC Commit: 684c189bf2910c20d21f830dc14a91ecc8c66472 https://github.com/geany/geany/commit/684c189bf2910c20d21f830dc14a91ecc8c664...
Log Message: ----------- Simplify the filtering code a bit and follow Geany style
Modified Paths: -------------- src/symbols.c
Modified: src/symbols.c 39 lines changed, 16 insertions(+), 23 deletions(-) =================================================================== @@ -320,49 +320,42 @@ static GList *get_tag_list(GeanyDocument *doc, TMTagType tag_types) { GList *tag_names = NULL; guint i, j; - - GtkEntry *tfentry = NULL; // entry_tagfilter - gchar **tfarray = NULL; // Array of the Tag Filter - guint tfarlen = 0; // Length of the tfarray - gboolean tfapres = TRUE; // Result of the Tag Filter Applying + GtkEntry *tf_entry; + gchar **tf_strv;
g_return_val_if_fail(doc, NULL);
if (! doc->tm_file || ! doc->tm_file->tags_array) return NULL;
- tfentry = GTK_ENTRY(ui_lookup_widget(main_widgets.window, "entry_tagfilter")); - tfarray = g_strsplit_set(gtk_entry_get_text(tfentry), " ", -1); - tfarlen = g_strv_length(tfarray); + tf_entry = GTK_ENTRY(ui_lookup_widget(main_widgets.window, "entry_tagfilter")); + tf_strv = g_strsplit_set(gtk_entry_get_text(tf_entry), " ", -1);
for (i = 0; i < doc->tm_file->tags_array->len; ++i) { TMTag *tag = TM_TAG(doc->tm_file->tags_array->pdata[i]);
- if (G_UNLIKELY(tag == NULL)) - return NULL; - if (tag->type & tag_types) { - tfapres = TRUE; - for (j = 0; j < tfarlen; j++) + gboolean filtered = FALSE; + gchar **val; + + foreach_strv(val, tf_strv) { - if (tfarray[j][0] != '\0') + if (strstr(tag->name, *val) == NULL) { - if (g_strrstr(tag->name, tfarray[j]) == NULL) - { - tfapres = FALSE; - break; - } + filtered = TRUE; + break; } } - if (tfapres) tag_names = g_list_prepend(tag_names, tag); + if (!filtered) + tag_names = g_list_prepend(tag_names, tag); } } tag_names = g_list_sort(tag_names, compare_symbol_lines); - - g_strfreev(tfarray); - + + g_strfreev(tf_strv); + return tag_names; }
-------------- This E-Mail was brought to you by github_commit_mail.py (Source: https://github.com/geany/infrastructure).