]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkfilefilter.c
Translation updated by Ivar Smolin.
[~andy/gtk] / gtk / gtkfilefilter.c
index b248c78cae1d185d3eb64b3703b1a22302dba91a..936616191515ff1f44c0d6c31c3307978431c5ca 100644 (file)
 #include <config.h>
 #include <string.h>
 
-#include "gtkalias.h"
 #include "gtkfilefilter.h"
 #include "gtkobject.h"
 #include "gtkprivate.h"
 
+#include "gtkalias.h"
+
+#ifdef G_OS_UNIX
+#define XDG_PREFIX _gtk_xdg
+#include "xdgmime/xdgmime.h"
+#endif
+
 typedef struct _GtkFileFilterClass GtkFileFilterClass;
 typedef struct _FilterRule FilterRule;
 
@@ -376,7 +382,7 @@ gtk_file_filter_get_needed (GtkFileFilter *filter)
  * 
  * Tests whether a file should be displayed according to @filter.
  * The #GtkFileFilterInfo structure @filter_info should include
- * the fields returned feom gtk_file_filter_get_needed().
+ * the fields returned from gtk_file_filter_get_needed().
  *
  * This function will not typically be used by applications; it
  * is intended principally for use in the implementation of
@@ -403,7 +409,11 @@ gtk_file_filter_filter (GtkFileFilter           *filter,
        {
        case FILTER_RULE_MIME_TYPE:
          if (filter_info->mime_type != NULL
+#ifdef G_OS_UNIX
+             && xdg_mime_mime_type_subclass (filter_info->mime_type, rule->u.mime_type))
+#else
              && strcmp (rule->u.mime_type, filter_info->mime_type) == 0)
+#endif
            return TRUE;
          break;
        case FILTER_RULE_PATTERN:
@@ -444,3 +454,6 @@ gtk_file_filter_filter (GtkFileFilter           *filter,
 
   return FALSE;
 }
+
+#define __GTK_FILE_FILTER_C__
+#include "gtkaliasdef.c"