[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