20 #include "mimetypechecker.h"
22 #include "mimetypechecker_p.h"
24 #include "collection.h"
27 using namespace Akonadi;
53 return d->mWantedMimeTypes.values();
58 d->mWantedMimeTypes = QSet<QString>::fromList( mimeTypes );
63 d->mWantedMimeTypes.insert( mimeType );
68 d->mWantedMimeTypes.remove( mimeType );
73 if ( d->mWantedMimeTypes.isEmpty() || !item.
isValid() )
76 const QString mimeType = item.
mimeType();
77 if ( mimeType.isEmpty() )
80 return d->isWantedMimeType( mimeType );
85 if ( d->mWantedMimeTypes.isEmpty() || !collection.
isValid() )
89 if ( contentMimeTypes.isEmpty() )
92 foreach (
const QString &mimeType, contentMimeTypes ) {
93 if ( mimeType.isEmpty() )
96 if ( d->isWantedMimeType( mimeType ) )
105 if ( wantedMimeType.isEmpty() || !item.
isValid() )
108 const QString mimeType = item.
mimeType();
109 if ( mimeType.isEmpty() )
112 if ( mimeType == wantedMimeType )
115 KMimeType::Ptr mimeTypePtr = KMimeType::mimeType( mimeType, KMimeType::ResolveAliases );
116 if ( mimeTypePtr.isNull() )
119 return mimeTypePtr->is( wantedMimeType );
124 if ( wantedMimeType.isEmpty() || !collection.
isValid() )
128 if ( contentMimeTypes.isEmpty() )
131 foreach (
const QString &mimeType, contentMimeTypes ) {
132 if ( mimeType.isEmpty() )
135 if ( mimeType == wantedMimeType )
138 KMimeType::Ptr mimeTypePtr = KMimeType::mimeType( mimeType, KMimeType::ResolveAliases );
139 if ( mimeTypePtr.isNull() )
142 if ( mimeTypePtr->is( wantedMimeType ) )
151 return d->isWantedMimeType( mimeType );
156 foreach (
const QString &mt, mimeTypes ) {
157 if ( d->isWantedMimeType( mt ) )