]> Pileus Git - ~andy/gtk/commitdiff
Use xdg_mime_mime_type_subclass() to match mime types. This also gives use
authorMatthias Clasen <mclasen@redhat.com>
Mon, 8 Nov 2004 21:25:27 +0000 (21:25 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 8 Nov 2004 21:25:27 +0000 (21:25 +0000)
2004-11-08  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkfilefilter.c (gtk_file_filter_filter): Use
xdg_mime_mime_type_subclass() to match mime types. This
also gives use wildcard matching. (#143760, #141224,
Tommi Komulainen, David A Knight)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-6
ChangeLog.pre-2-8
gtk/gtkfilefilter.c
gtk/xdgmime/ChangeLog
gtk/xdgmime/xdgmime.c

index d113e2d47aed2083b108200eddccf4c1c11a3bc7..be7317ba7a55cf5184138ead992944953b98779c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2004-11-08  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkfilefilter.c (gtk_file_filter_filter): Use 
+       xdg_mime_mime_type_subclass() to match mime types. This
+       also gives use wildcard matching. (#143760, #141224, 
+       Tommi Komulainen, David A Knight)
+
        * gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use 
        gtk_widget_{hide,show} instead of g_object_set (..."visible"...).
 
index d113e2d47aed2083b108200eddccf4c1c11a3bc7..be7317ba7a55cf5184138ead992944953b98779c 100644 (file)
@@ -1,5 +1,10 @@
 2004-11-08  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkfilefilter.c (gtk_file_filter_filter): Use 
+       xdg_mime_mime_type_subclass() to match mime types. This
+       also gives use wildcard matching. (#143760, #141224, 
+       Tommi Komulainen, David A Knight)
+
        * gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use 
        gtk_widget_{hide,show} instead of g_object_set (..."visible"...).
 
index d113e2d47aed2083b108200eddccf4c1c11a3bc7..be7317ba7a55cf5184138ead992944953b98779c 100644 (file)
@@ -1,5 +1,10 @@
 2004-11-08  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkfilefilter.c (gtk_file_filter_filter): Use 
+       xdg_mime_mime_type_subclass() to match mime types. This
+       also gives use wildcard matching. (#143760, #141224, 
+       Tommi Komulainen, David A Knight)
+
        * gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use 
        gtk_widget_{hide,show} instead of g_object_set (..."visible"...).
 
index d113e2d47aed2083b108200eddccf4c1c11a3bc7..be7317ba7a55cf5184138ead992944953b98779c 100644 (file)
@@ -1,5 +1,10 @@
 2004-11-08  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkfilefilter.c (gtk_file_filter_filter): Use 
+       xdg_mime_mime_type_subclass() to match mime types. This
+       also gives use wildcard matching. (#143760, #141224, 
+       Tommi Komulainen, David A Knight)
+
        * gtk/gtkaction.c (_gtk_action_sync_menu_visible): Use 
        gtk_widget_{hide,show} instead of g_object_set (..."visible"...).
 
index b248c78cae1d185d3eb64b3703b1a22302dba91a..561b6fa4d8ebc3cdf8735a6ce92fec0f45137d06 100644 (file)
@@ -26,6 +26,9 @@
 #include "gtkobject.h"
 #include "gtkprivate.h"
 
+#define XDG_PREFIX _gtk_xdg
+#include "xdgmime/xdgmime.h"
+
 typedef struct _GtkFileFilterClass GtkFileFilterClass;
 typedef struct _FilterRule FilterRule;
 
@@ -403,7 +406,7 @@ gtk_file_filter_filter (GtkFileFilter           *filter,
        {
        case FILTER_RULE_MIME_TYPE:
          if (filter_info->mime_type != NULL
-             && strcmp (rule->u.mime_type, filter_info->mime_type) == 0)
+             && xdg_mime_mime_type_subclass (filter_info->mime_type, rule->u.mime_type))
            return TRUE;
          break;
        case FILTER_RULE_PATTERN:
index d5fa32368f8a3c084afb51ef84558858135dc1be..5841b98a776516ee7ed1c923a5dc77b84277d9b6 100644 (file)
@@ -1,5 +1,8 @@
 2004-11-08  Matthias Clasen  <mclasen@redhat.com>
 
+       * xdgmime.c (xdg_mime_mime_type_subclass): Enable matching
+       of supertypes as text/*.
+
        * Sync from upstream
 
 2004-10-27  Matthias Clasen  <mclasen@redhat.com>
index df618b2798ef73666c2d540e78edcea146810693..df59f26834d4d293dc1a9e5f0a4631da2bfb8871 100644 (file)
@@ -573,7 +573,7 @@ xdg_mime_media_type_equal (const char *mime_a,
   return 0;
 }
 
-#if 0
+#if 1
 static int
 xdg_mime_is_super_type (const char *mime)
 {
@@ -605,7 +605,10 @@ xdg_mime_mime_type_subclass (const char *mime,
   if (strcmp (umime, ubase) == 0)
     return 1;
 
-#if 0  
+  /* We really want to handle text/* in GtkFileFilter, so we just
+   * turn on the supertype matching
+   */
+#if 1
   /* Handle supertypes */
   if (xdg_mime_is_super_type (ubase) &&
       xdg_mime_media_type_equal (umime, ubase))