SVN commit 1209933 by tokoe: Use Akonadi::MimeTypeChecker to correctly resolve mime types M +8 -12 recursivecollectionfilterproxymodel.cpp --- trunk/KDE/kdepimlibs/akonadi/recursivecollectionfilterproxymodel.cpp #1209932:1209933 @@ -20,7 +20,7 @@ #include "recursivecollectionfilterproxymodel.h" #include "entitytreemodel.h" -#include "entityhiddenattribute.h" +#include "mimetypechecker.h" #include @@ -60,19 +60,15 @@ { Q_D(const RecursiveCollectionFilterProxyModel); - QModelIndex rowIndex = sourceModel()->index(sourceRow, 0, sourceParent); - Akonadi::Collection col = rowIndex.data(Akonadi::EntityTreeModel::CollectionRole).value(); - if (!col.isValid()) - return false; + Akonadi::MimeTypeChecker checker; + checker.setWantedMimeTypes( d->includedMimeTypes.toList() ); - if (d->includedMimeTypes.isEmpty()) - return true; - - QSet contentMimeTypes = col.contentMimeTypes().toSet(); - - if ( contentMimeTypes.intersect(d->includedMimeTypes).isEmpty()) + const QModelIndex rowIndex = sourceModel()->index( sourceRow, 0, sourceParent ); + const Akonadi::Collection collection = rowIndex.data( Akonadi::EntityTreeModel::CollectionRole ).value(); + if ( !collection.isValid() ) return false; - return true; + + return checker.isWantedCollection( collection ); } void RecursiveCollectionFilterProxyModel::addContentMimeTypeInclusionFilter(const QString& mimeType)