commonutilities/common/src/glxfilterfactory.cpp
changeset 70 a91aa46552be
parent 49 f291796e213d
--- a/commonutilities/common/src/glxfilterfactory.cpp	Fri Sep 17 08:29:24 2010 +0300
+++ b/commonutilities/common/src/glxfilterfactory.cpp	Mon Oct 04 00:17:18 2010 +0300
@@ -223,7 +223,20 @@
     filterProperties.iExcludeAnimation = ETrue;;
     return CreateCombinedFilterL(filterProperties, aOriginalFilter);
     }
-    
+
+// ---------------------------------------------------------------------------
+// Creates a URI filter object
+// ---------------------------------------------------------------------------
+//   
+EXPORT_C CMPXFilter* TGlxFilterFactory::CreateMimeTypeFilterL(const TDesC& aMimeType)
+    {
+    TGlxFilterProperties filterProperties;
+    filterProperties.iItemType = EGlxFilterImage;
+    filterProperties.iNoDRM = ETrue;
+    filterProperties.iMimeType = &aMimeType;
+    return CreateCombinedFilterL(filterProperties);
+    }
+
 // ---------------------------------------------------------------------------
 // Creates a combined filter object.
 // ---------------------------------------------------------------------------
@@ -470,7 +483,19 @@
         {
         filter->SetTextValueL(KGlxFilterGeneralUri, *uri);    
         }
-   
+    const TDesC* mimeType = aFilterProperties.iMimeType;
+    if( aOriginalFilter->IsSupported(KGlxFilterGeneralMimeType) )
+        {
+        if( !aOverrideOriginal || ( !aFilterProperties.iMimeType ) )
+            {
+	        mimeType = &aOriginalFilter->ValueText(KGlxFilterGeneralMimeType);
+            }
+        }
+    if( mimeType )
+        {
+        filter->SetTextValueL(KGlxFilterGeneralMimeType, *mimeType);    
+        }
+    
     CleanupStack::Pop(filter);
     return filter;
     }
@@ -548,6 +573,10 @@
         {
         filterProperties.iUri = &aFilter->ValueText(KGlxFilterGeneralUri);
         }
+    if( aFilter->IsSupported(KGlxFilterGeneralMimeType) )
+        {
+        filterProperties.iMimeType = &aFilter->ValueText(KGlxFilterGeneralMimeType);
+        }
     return filterProperties;
     }