--- 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;
}