[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdepim/kmail
From:       Thomas McGuire <mcguire () kde ! org>
Date:       2010-04-04 22:59:49
Message-ID: 20100404230105.D6E5FAC857 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1111145 by tmcguire:

Move the ETM to KMKernel.

This way, it can be shared with other users.

 M  +1 -14     foldertreewidget.cpp  
 M  +0 -2      foldertreewidget.h  
 M  +15 -2     kmkernel.cpp  
 M  +3 -0      kmkernel.h  
 M  +3 -2      kmmainwidget.cpp  


--- trunk/KDE/kdepim/kmail/foldertreewidget.cpp #1111144:1111145
@@ -48,14 +48,12 @@
   FolderTreeWidgetPrivate()
     :filterModel( 0 ),
      collectionFolderView( 0 ),
-     entityModel( 0 ),
      quotaModel( 0 ),
      readableproxy( 0 )
   {
   }
   Akonadi::StatisticsProxyModel *filterModel;
   FolderTreeView *collectionFolderView;
-  Akonadi::EntityTreeModel *entityModel;
   Akonadi::QuotaColorProxyModel *quotaModel;
   ReadableCollectionProxyModel *readableproxy;
   KRecursiveFilterProxyModel *filterTreeViewModel;
@@ -73,13 +71,7 @@
 
   QVBoxLayout *lay = new QVBoxLayout( this );
   lay->setMargin( 0 );
-  Akonadi::Session *session = new Akonadi::Session( "KMail Session", this );
 
-  KMKernel::self()->monitor()->setSession( session );
-
-  d->entityModel = new Akonadi::EntityTreeModel( KMKernel::self()->monitor(), this \
                );
-  d->entityModel->setItemPopulationStrategy( \
                Akonadi::EntityTreeModel::LazyPopulation );
-
   d->label = new QLabel( i18n("You can start typing to filter the list of \
folders."), this);  lay->addWidget( d->label );
 
@@ -90,7 +82,7 @@
   lay->addWidget( d->filterFolderLineEdit );
 
   Akonadi::EntityMimeTypeFilterModel *collectionModel = new \
                Akonadi::EntityMimeTypeFilterModel( this );
-  collectionModel->setSourceModel( d->entityModel );
+  collectionModel->setSourceModel( KMKernel::self()->entityTreeModel() );
   collectionModel->addMimeTypeInclusionFilter( Akonadi::Collection::mimeType() );
   collectionModel->setHeaderGroup( Akonadi::EntityTreeModel::CollectionTreeHeaders \
);  collectionModel->setDynamicSortFilter( true );
@@ -216,11 +208,6 @@
   return d->collectionFolderView;
 }
 
-Akonadi::EntityTreeModel *FolderTreeWidget::entityModel()
-{
-  return d->entityModel;
-}
-
 void FolderTreeWidget::readConfig()
 {
   // Custom/System font support
--- trunk/KDE/kdepim/kmail/foldertreewidget.h #1111144:1111145
@@ -32,7 +32,6 @@
 class KLineEdit;
 
 namespace Akonadi {
-  class EntityTreeModel;
   class StatisticsProxyModel;
 }
 
@@ -83,7 +82,6 @@
   Akonadi::Collection::List selectedCollections() const;
 
   FolderTreeView *folderTreeView();
-  Akonadi::EntityTreeModel *entityModel();
 
   Akonadi::StatisticsProxyModel * statisticsProxyModel();
 
--- trunk/KDE/kdepim/kmail/kmkernel.cpp #1111144:1111145
@@ -71,6 +71,8 @@
 #include <Akonadi/AgentManager>
 #include <Akonadi/ItemFetchJob>
 #include <Akonadi/AttributeFactory>
+#include <Akonadi/Session>
+#include <Akonadi/EntityTreeModel>
 
 #include <QByteArray>
 #include <QDir>
@@ -165,15 +167,15 @@
     kWarning() << "Exiting after development version warning.";
     exit(42);
   }
-  mFolderCollectionMonitor = new FolderCollectionMonitor( this );
+
   kDebug();
+
   setObjectName( name );
   mySelf = this;
   the_startingUp = true;
   closed_by_user = true;
   the_firstInstance = true;
 
-
   the_undoStack = 0;
   the_filterMgr = 0;
   the_popFilterMgr = 0;
@@ -216,6 +218,12 @@
   }
   // till here ================================================
 
+  mFolderCollectionMonitor = new FolderCollectionMonitor( this );
+  Akonadi::Session *session = new Akonadi::Session( "Kernel Session", this );
+  monitor()->setSession( session );
+  mEntityTreeModel = new Akonadi::EntityTreeModel( monitor(), this );
+  mEntityTreeModel->setItemPopulationStrategy( \
Akonadi::EntityTreeModel::LazyPopulation ); +
   connect( MailTransport::TransportManager::self(),
            SIGNAL(transportRemoved(int,QString)),
            SLOT(transportRemoved(int,QString)) );
@@ -247,6 +255,11 @@
   return mFolderCollectionMonitor->monitor();
 }
 
+Akonadi::EntityTreeModel *KMKernel::entityTreeModel()
+{
+  return mEntityTreeModel;
+}
+
 void KMKernel::setupDBus()
 {
   (void) new KmailAdaptor( this );
--- trunk/KDE/kdepim/kmail/kmkernel.h #1111144:1111145
@@ -25,6 +25,7 @@
 namespace Akonadi {
   class Collection;
   class ChangeRecorder;
+  class EntityTreeModel;
 }
 
 namespace KIO {
@@ -222,6 +223,7 @@
   void readConfig();
 
   Akonadi::ChangeRecorder *monitor();
+  Akonadi::EntityTreeModel *entityTreeModel();
 
 //TODO port to akonadi   void cleanupImapFolders();
   void recoverDeadLetters();
@@ -422,6 +424,7 @@
   ThreadWeaver::Weaver *the_weaver;
 
   FolderCollectionMonitor *mFolderCollectionMonitor;
+  Akonadi::EntityTreeModel *mEntityTreeModel;
 
   int mWrapCol;
 };
--- trunk/KDE/kdepim/kmail/kmmainwidget.cpp #1111144:1111145
@@ -856,7 +856,7 @@
   const KConfigGroup cfg( KMKernel::config(), "CollectionFolderView" );
   mFolderTreeWidget->folderTreeView()->header()->restoreState( cfg.readEntry( \
"HeaderState", QByteArray() ) );  
-  mMessagePane = new MessageList::Pane( mFolderTreeWidget->entityModel(),
+  mMessagePane = new MessageList::Pane( KMKernel::self()->entityTreeModel(),
                                         \
mFolderTreeWidget->folderTreeView()->selectionModel(),  this );
 
@@ -950,7 +950,8 @@
     mFavoriteCollectionsView->setViewMode( QListView::IconMode );
 
     Akonadi::FavoriteCollectionsModel *favoritesModel = new \
                Akonadi::FavoriteCollectionsModel(
-        mFolderTreeWidget->entityModel(), KMKernel::config()->group( \
"FavoriteCollections" ), this ); +                                \
KMKernel::self()->entityTreeModel(), +                                \
KMKernel::config()->group( "FavoriteCollections" ), this );  \
mFavoriteCollectionsView->setModel( favoritesModel );  
     mAkonadiStandardActionManager->setFavoriteCollectionsModel( favoritesModel );


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic