[gtk/file-filter2: 23/27] simplifications
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/file-filter2: 23/27] simplifications
- Date: Sun, 5 Jul 2020 16:44:42 +0000 (UTC)
commit 81caf9b35c6024290f7729ec46d4e71353940a26
Author: Matthias Clasen <mclasen redhat com>
Date: Sun Jul 5 12:37:41 2020 -0400
simplifications
gtk/gtkfilefilter.c | 69 +++++++++++++++++++++++++----------------------------
1 file changed, 33 insertions(+), 36 deletions(-)
---
diff --git a/gtk/gtkfilefilter.c b/gtk/gtkfilefilter.c
index c3ba18e2e9..7f2560f477 100644
--- a/gtk/gtkfilefilter.c
+++ b/gtk/gtkfilefilter.c
@@ -784,20 +784,11 @@ gtk_file_filter_filter (GtkFileFilter *filter,
GFileInfo *info)
{
GSList *tmp_list;
- GtkFileFilterFlags contains = GTK_FILE_FILTER_DISPLAY_NAME;
- if (g_file_info_has_attribute (info, G_FILE_ATTRIBUTE_STANDARD_FAST_CONTENT_TYPE))
- contains |= GTK_FILE_FILTER_MIME_TYPE;
- if (g_file_info_has_attribute (info, "standard::file"))
- contains |= GTK_FILE_FILTER_FILENAME | GTK_FILE_FILTER_URI;
-
- for (tmp_list = filter->rules; tmp_list; tmp_list = tmp_list->next)
+ for (tmp_list = file_filter->rules; tmp_list; tmp_list = tmp_list->next)
{
FilterRule *rule = tmp_list->data;
- if ((contains & rule->needed) != rule->needed)
- continue;
-
switch (rule->type)
{
case FILTER_RULE_MIME_TYPE:
@@ -807,52 +798,58 @@ gtk_file_filter_filter (GtkFileFilter *filter,
gboolean match;
filter_content_type = g_file_info_get_content_type (info);
- rule_content_type = g_content_type_from_mime_type (rule->u.mime_type);
- match = filter_content_type != NULL &&
- rule_content_type != NULL &&
- g_content_type_is_a (filter_content_type, rule_content_type);
- g_free (rule_content_type);
-
- if (match)
- return TRUE;
+ if (filter_content_type)
+ {
+ rule_content_type = g_content_type_from_mime_type (rule->u.mime_type);
+ match = g_content_type_is_a (filter_content_type, rule_content_type);
+ g_free (rule_content_type);
+
+ if (match)
+ return TRUE;
+ }
}
break;
+
case FILTER_RULE_PATTERN:
{
const char *display_name;
display_name = g_file_info_get_display_name (info);
- if (display_name != NULL &&
- _gtk_fnmatch (rule->u.pattern, display_name, FALSE))
- return TRUE;
+ if (display_name)
+ {
+ if (_gtk_fnmatch (rule->u.pattern, display_name, FALSE))
+ return TRUE;
+ }
}
break;
+
case FILTER_RULE_PIXBUF_FORMATS:
{
const char *filter_content_type;
- GSList *list;
filter_content_type = g_file_info_get_content_type (info);
- if (!filter_content_type)
- break;
-
- for (list = rule->u.pixbuf_formats; list; list = list->next)
+ if (filter_content_type)
{
- int i;
- char **mime_types;
+ GSList *list;
- mime_types = gdk_pixbuf_format_get_mime_types (list->data);
-
- for (i = 0; mime_types[i] != NULL; i++)
+ for (list = rule->u.pixbuf_formats; list; list = list->next)
{
- if (strcmp (mime_types[i], filter_content_type) == 0)
+ int i;
+ char **mime_types;
+
+ mime_types = gdk_pixbuf_format_get_mime_types (list->data);
+
+ for (i = 0; mime_types[i] != NULL; i++)
{
- g_strfreev (mime_types);
- return TRUE;
+ if (strcmp (mime_types[i], filter_content_type) == 0)
+ {
+ g_strfreev (mime_types);
+ return TRUE;
+ }
}
- }
- g_strfreev (mime_types);
+ g_strfreev (mime_types);
+ }
}
}
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]