readd setShowImap/setShowOutbox

svn path=/trunk/KDE/kdepim/kmail/; revision=1139491
wilder-work
Laurent Montel 16 years ago
parent ebdbbd8611
commit 2de747f7b8
  1. 2
      antispamwizard.cpp
  2. 4
      folderrequester.cpp
  3. 7
      folderselectiondialog.cpp
  4. 4
      folderselectiondialog.h
  5. 39
      readablecollectionproxymodel.cpp
  6. 6
      readablecollectionproxymodel.h

@ -1165,6 +1165,8 @@ ASWizVirusRulesPage::ASWizVirusRulesPage( QWidget * parent, const char * name )
mFolderTree->folderTreeView()->expandAll();
mFolderTree->readableCollectionProxyModel()->setAccessRights( Akonadi::Collection::CanCreateCollection );
mFolderTree->readableCollectionProxyModel()->setHideVirtualFolder( true );
mFolderTree->readableCollectionProxyModel()->setHideOutboxFolder( true );
mFolderTree->readableCollectionProxyModel()->setHideImapFolder( true );
mFolderTree->selectCollectionFolder( KMKernel::self()->trashCollectionFolder() );
mFolderTree->folderTreeView()->setDragDropMode( QAbstractItemView::NoDragDrop );

@ -79,6 +79,10 @@ void FolderRequester::slotOpenDialog()
options |= FolderSelectionDialog::HideVirtualFolder;
if ( mNotCreateNewFolder )
options |= FolderSelectionDialog::NotAllowToCreateNewFolder;
if ( !mShowImapFolders )
options |= FolderSelectionDialog::HideImapFolder;
if ( !mShowOutbox )
options |= FolderSelectionDialog::HideOutboxFolder;
MessageViewer::AutoQPointer<FolderSelectionDialog> dlg(
new FolderSelectionDialog( this, options ) );

@ -70,8 +70,15 @@ FolderSelectionDialog::FolderSelectionDialog( QWidget *parent, SelectionFolderOp
d->folderTreeWidget->readableCollectionProxyModel()->setAccessRights( Akonadi::Collection::CanCreateCollection );
if ( options & FolderSelectionDialog::HideVirtualFolder )
d->folderTreeWidget->readableCollectionProxyModel()->setHideVirtualFolder( true );
d->folderTreeWidget->readableCollectionProxyModel()->setHideSpecificFolder( true );
if ( options & FolderSelectionDialog::HideOutboxFolder )
d->folderTreeWidget->readableCollectionProxyModel()->setHideOutboxFolder( true );
if ( options & FolderSelectionDialog::HideImapFolder )
d->folderTreeWidget->readableCollectionProxyModel()->setHideImapFolder( true );
d->folderTreeWidget->folderTreeView()->setTooltipsPolicy( FolderTreeWidget::DisplayNever );
d->folderTreeWidget->folderTreeView()->setDragDropMode( QAbstractItemView::NoDragDrop );
layout->addWidget( d->folderTreeWidget );

@ -38,7 +38,9 @@ public:
EnableCheck = 1,
ShowUnreadCount = 2,
HideVirtualFolder = 4,
NotAllowToCreateNewFolder = 8
NotAllowToCreateNewFolder = 8,
HideOutboxFolder = 16,
HideImapFolder = 32
};
Q_DECLARE_FLAGS( SelectionFolderOptions, SelectionFolderOption )

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

@ -45,6 +45,12 @@ public:
bool hideSpecificFolder() const;
void setHideOutboxFolder( bool hide );
bool hideOutboxFolder() const;
void setHideImapFolder( bool hide );
bool hideImapFolder() const;
void setNecessaryRight( Akonadi::Collection::Rights right );
protected:

Loading…
Cancel
Save