[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: extragear/pim/mailody/src
From: Tom Albers <tomalbers () kde ! nl>
Date: 2008-06-14 21:59:39
Message-ID: 1213480779.013180.1489.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 820601 by toma:
Add a collectionproxy, so we can put the inbox at the top.
M +1 -0 CMakeLists.txt
A collectionproxy.cpp [License: GPL (v2+)]
A collectionproxy.h [License: GPL (v2+)]
M +18 -16 mainwindow.cpp
M +3 -2 mainwindow.h
--- trunk/extragear/pim/mailody/src/CMakeLists.txt #820600:820601
@@ -21,6 +21,7 @@
database.cpp
addressbook.cpp
headerview.cpp
+collectionproxy.cpp
headerproxy.cpp
messageview.cpp
global.cpp
--- trunk/extragear/pim/mailody/src/mainwindow.cpp #820600:820601
@@ -21,6 +21,7 @@
// Own
#include "mainwindow.h"
+#include "collectionproxy.h"
#include "mainwindowadaptor.h"
#include "messagedata.h"
#include "headerwidget.h"
@@ -112,24 +113,25 @@
mailboxDock->setObjectName( "mailboxDock" );
// collection list (mailboxlist)
+ //view
m_collectionView = new Akonadi::CollectionView( this );
connect( m_collectionView, SIGNAL( clicked( const Akonadi::Collection ) ),
SLOT( collectionClicked( const Akonadi::Collection ) ) );
- m_collectionModel = new Akonadi::CollectionStatisticsModel( this );
- QSortFilterProxyModel *sortModel = new QSortFilterProxyModel( this );
- sortModel->setDynamicSortFilter( true );
- sortModel->setSortCaseSensitivity( Qt::CaseInsensitive );
- sortModel->setSourceModel( m_collectionModel );
+
+ // delegate
m_collectionView->setItemDelegate(
new Akonadi::CollectionStatisticsDelegate( m_collectionView ) );
- // filter
- m_collectionProxyModel = new Akonadi::CollectionFilterProxyModel( this );
- m_collectionProxyModel->setSourceModel( sortModel );
+ // model
+ m_collectionModel = new Akonadi::CollectionStatisticsModel( this );
+
+ // proxy
+ CollectionProxy *m_collectionProxy = new CollectionProxy( this );
+ m_collectionProxy->setSourceModel( m_collectionModel );
QStringList list;
list << "message/news" << "message/rfc822";
- m_collectionProxyModel->addMimeTypeFilters( list );
- m_collectionView->setModel( m_collectionProxyModel );
+ m_collectionProxy->addMimeTypeFilters( list );
+ m_collectionView->setModel( m_collectionProxy );
mailboxDock->setWidget( m_collectionView );
mailboxDock->setFeatures( QDockWidget::DockWidgetMovable | \
QDockWidget::DockWidgetClosable ); @@ -619,18 +621,18 @@
kDebug() << "Trying to find inbox";
// first iterate throught the resources.
- int totalResources = m_collectionProxyModel->rowCount();
+ int totalResources = m_collectionProxy->rowCount();
kDebug() << "Rows: " << totalResources;
for ( int i = 0; i < totalResources ; ++i ) {
- const QModelIndex resourceIndex = m_collectionProxyModel->index( i, 0 );
- kDebug() << "Evaluating resource:" << m_collectionProxyModel->data( \
resourceIndex ); + const QModelIndex resourceIndex = m_collectionProxy->index( \
i, 0 ); + kDebug() << "Evaluating resource:" << m_collectionProxy->data( \
resourceIndex );
// then iterate through the top level folders of that resource.
- int totalFolders = m_collectionProxyModel->rowCount( resourceIndex );
+ int totalFolders = m_collectionProxy->rowCount( resourceIndex );
kDebug() << "We have " << totalFolders << " folders in there";
for ( int j = 0 ; j < totalFolders ; ++j ) {
- const QModelIndex folderIndex = m_collectionProxyModel->index( j, 0, \
resourceIndex );
- const Akonadi::Collection collection = m_collectionProxyModel->data( \
folderIndex, + const QModelIndex folderIndex = m_collectionProxy->index( \
j, 0, resourceIndex ); + const Akonadi::Collection collection = \
m_collectionProxy->data( folderIndex,
\
Akonadi::CollectionModel::CollectionRole ).value<Akonadi::Collection>(); kDebug() << \
"Found folder: " << collection.remoteId();
--- trunk/extragear/pim/mailody/src/mainwindow.h #820600:820601
@@ -47,6 +47,7 @@
namespace Mailody
{
+class CollectionProxy;
class Database;
class QuickReplyWidget;
class MessageData;
@@ -199,8 +200,8 @@
// akonadi stuff
Akonadi::CollectionView *m_collectionView;
- Akonadi::CollectionStatisticsModel *m_collectionModel;
- Akonadi::CollectionFilterProxyModel *m_collectionProxyModel;
+ Akonadi::CollectionModel *m_collectionModel;
+ CollectionProxy *m_collectionProxy;
Akonadi::Collection m_currentCollection;
private slots:
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic