|
|
|
|
@ -21,6 +21,7 @@ |
|
|
|
|
#include "readablecollectionproxymodel.h" |
|
|
|
|
#include "foldercollection.h" |
|
|
|
|
#include "util.h" |
|
|
|
|
#include "kmkernel.h" |
|
|
|
|
|
|
|
|
|
#include <akonadi/collection.h> |
|
|
|
|
#include <akonadi/entitytreemodel.h> |
|
|
|
|
@ -37,12 +38,16 @@ public: |
|
|
|
|
Private() |
|
|
|
|
: enableCheck( false ), |
|
|
|
|
hideVirtualFolder( false ), |
|
|
|
|
hideSpecificFolder( false ) |
|
|
|
|
hideSpecificFolder( false ), |
|
|
|
|
hideOutboxFolder( false ), |
|
|
|
|
hideImapFolder( false ) |
|
|
|
|
{ |
|
|
|
|
} |
|
|
|
|
bool enableCheck; |
|
|
|
|
bool hideVirtualFolder; |
|
|
|
|
bool hideSpecificFolder; |
|
|
|
|
bool hideOutboxFolder; |
|
|
|
|
bool hideImapFolder; |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
ReadableCollectionProxyModel::ReadableCollectionProxyModel( QObject *parent ) |
|
|
|
|
@ -97,6 +102,7 @@ bool ReadableCollectionProxyModel::hideVirtualFolder() const |
|
|
|
|
void ReadableCollectionProxyModel::setHideSpecificFolder( bool hide ) |
|
|
|
|
{ |
|
|
|
|
d->hideSpecificFolder = hide; |
|
|
|
|
invalidate(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool ReadableCollectionProxyModel::hideSpecificFolder() const |
|
|
|
|
@ -104,6 +110,28 @@ bool ReadableCollectionProxyModel::hideSpecificFolder() const |
|
|
|
|
return d->hideSpecificFolder; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void ReadableCollectionProxyModel::setHideOutboxFolder( bool hide ) |
|
|
|
|
{ |
|
|
|
|
d->hideOutboxFolder = hide; |
|
|
|
|
invalidate(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool ReadableCollectionProxyModel::hideOutboxFolder() const |
|
|
|
|
{ |
|
|
|
|
return d->hideOutboxFolder; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void ReadableCollectionProxyModel::setHideImapFolder( bool hide ) |
|
|
|
|
{ |
|
|
|
|
d->hideImapFolder = hide; |
|
|
|
|
invalidate(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool ReadableCollectionProxyModel::hideImapFolder() const |
|
|
|
|
{ |
|
|
|
|
return d->hideImapFolder; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool ReadableCollectionProxyModel::acceptRow( int sourceRow, const QModelIndex &sourceParent) const |
|
|
|
|
{ |
|
|
|
|
const QModelIndex modelIndex = sourceModel()->index( sourceRow, 0, sourceParent ); |
|
|
|
|
@ -119,6 +147,15 @@ bool ReadableCollectionProxyModel::acceptRow( int sourceRow, const QModelIndex & |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if ( d->hideOutboxFolder ) { |
|
|
|
|
if ( collection == KMKernel::self()->outboxCollectionFolder() ) |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
if ( d->hideImapFolder ) { |
|
|
|
|
if ( collection.resource().startsWith( IMAP_RESOURCE_IDENTIFIER ) ) |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return Akonadi::EntityRightsFilterModel::acceptRow( sourceRow, sourceParent ); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|