Move ChangeRecorder to kmkernel. It's more logical

svn path=/branches/work/akonadi-ports/kdepim/; revision=1044695
wilder-work
Laurent Montel 17 years ago
parent e1808568e2
commit 49f9998b5e
  1. 20
      folderselectiontreeview.cpp
  2. 4
      folderselectiontreeview.h
  3. 24
      kmkernel.cpp
  4. 5
      kmkernel.h
  5. 2
      kmmainwidget.cpp
  6. 8
      newcomposerwin.cpp

@ -44,14 +44,12 @@ public:
:filterModel( 0 ),
collectionFolderView( 0 ),
entityModel( 0 ),
monitor( 0 ),
quotaModel( 0 ),
readableproxy( 0 )
{
}
FolderTreeView *collectionFolderView;
Akonadi::EntityTreeModel *entityModel;
Akonadi::ChangeRecorder *monitor;
Akonadi::QuotaColorProxyModel *quotaModel;
Akonadi::StatisticsProxyModel *filterModel;
ReadableCollectionProxyModel *readableproxy;
@ -66,17 +64,7 @@ FolderSelectionTreeView::FolderSelectionTreeView( QWidget *parent, KXMLGUIClient
lay->setMargin( 0 );
Akonadi::Session *session = new Akonadi::Session( "KMail Session", this );
// monitor collection changes
d->monitor = new Akonadi::ChangeRecorder( this );
d->monitor->setCollectionMonitored( Akonadi::Collection::root() );
d->monitor->fetchCollection( true );
d->monitor->setAllMonitored( true );
d->monitor->setMimeTypeMonitored( "message/rfc822" );
d->monitor->setResourceMonitored( "akonadi_search_resource" , true );
// TODO: Only fetch the envelope etc if possible.
d->monitor->itemFetchScope().fetchFullPayload(true);
d->entityModel = new Akonadi::EntityTreeModel( session, d->monitor, this );
d->entityModel = new Akonadi::EntityTreeModel( session, KMKernel::self()->monitor(), this );
@ -129,11 +117,6 @@ void FolderSelectionTreeView::selectCollectionFolder( const Akonadi::Collection
d->collectionFolderView->selectionModel()->select(colIndex, QItemSelectionModel::SelectCurrent);
}
Akonadi::ChangeRecorder * FolderSelectionTreeView::monitorFolders()
{
return d->monitor;
}
void FolderSelectionTreeView::setSelectionMode( QAbstractItemView::SelectionMode mode )
{
d->collectionFolderView->setSelectionMode( mode );
@ -245,4 +228,5 @@ ReadableCollectionProxyModel *FolderSelectionTreeView::readableCollectionProxyMo
return d->readableproxy;
}
#include "folderselectiontreeview.moc"

@ -49,9 +49,6 @@ public:
DisplayNever ///< Nevery display tooltips
};
Akonadi::ChangeRecorder *monitorFolders();
void selectCollectionFolder( const Akonadi::Collection & col );
@ -79,7 +76,6 @@ public:
void readConfig();
private:
class FolderSelectionTreeViewPrivate;
FolderSelectionTreeViewPrivate * const d;

@ -72,6 +72,7 @@ using KWallet::Wallet;
#include <akonadi/collection.h>
#include <akonadi/collectionfetchjob.h>
#include <akonadi/changerecorder.h>
#include <akonadi/itemfetchscope.h>
#include "actionscheduler.h"
#include <QByteArray>
@ -105,6 +106,18 @@ KMKernel::KMKernel (QObject *parent, const char *name) :
mIdentityManager(0), mConfigureDialog(0), mMailService(0),
mMailManager( 0 ), mContextMenuShown( false ), mWallet( 0 )
{
// monitor collection changes
mMonitor = new Akonadi::ChangeRecorder( this );
mMonitor->setCollectionMonitored( Akonadi::Collection::root() );
mMonitor->fetchCollection( true );
mMonitor->setAllMonitored( true );
mMonitor->setMimeTypeMonitored( "message/rfc822" );
mMonitor->setResourceMonitored( "akonadi_search_resource" , true );
// TODO: Only fetch the envelope etc if possible.
mMonitor->itemFetchScope().fetchFullPayload(true);
mStorageDebug = KDebug::registerArea( "Storage Debug", false /* disable by default */ );
kDebug();
setObjectName( name );
@ -196,6 +209,11 @@ Akonadi::AgentManager *KMKernel::agentManager()
return Akonadi::AgentManager::self();
}
Akonadi::ChangeRecorder * KMKernel::monitor()
{
return mMonitor;
}
int KMKernel::storageDebug()
{
KMKernel *theKernel = self();
@ -1513,12 +1531,6 @@ void KMKernel::init()
the_weaver = new ThreadWeaver::Weaver( this );
connect( the_folderMgr, SIGNAL( folderRemoved(const Akonadi::Collection &) ),
this, SIGNAL( folderRemoved(const Akonadi::Collection&) ) );
#if 0
connect( the_searchFolderMgr, SIGNAL( folderRemoved(const Akonadi::Collection&) ),
this, SIGNAL( folderRemoved(const Akonadi::Collection&) ) );
#endif
mBackgroundTasksTimer = new QTimer( this );
mBackgroundTasksTimer->setSingleShot( true );
connect( mBackgroundTasksTimer, SIGNAL( timeout() ), this, SLOT( slotRunBackgroundTasks() ) );

@ -27,6 +27,7 @@ Q_DECLARE_METATYPE(QVector<QStringList>)
namespace Akonadi {
class Collection;
class ChangeRecorder;
}
namespace KIO {
@ -266,7 +267,7 @@ public:
Akonadi::AgentManager *agentManager();
Akonadi::ChangeRecorder *monitor();
//TODO port to akonadi void cleanupImapFolders();
void testDir(const char *_name);
@ -445,7 +446,6 @@ protected slots:
signals:
void configChanged();
void folderRemoved( const Akonadi::Collection &aFolder );
void onlineStatusChanged( GlobalSettings::EnumNetworkState::type );
void customTemplatesChanged();
@ -534,6 +534,7 @@ private:
QString mAddMessageLastFolder;
Akonadi::AgentManager *mAgentManager;
Akonadi::ChangeRecorder *mMonitor;
// special debug area
int mStorageDebug;

@ -871,7 +871,7 @@ void KMMainWidget::createWidgets()
mCollectionFolderView = new FolderSelectionTreeView( this, mGUIClient );
connect( mCollectionFolderView->folderTreeView(), SIGNAL( currentChanged( const Akonadi::Collection &) ), this, SLOT( slotFolderChanged( const Akonadi::Collection& ) ) );
connect( mCollectionFolderView->monitorFolders(), SIGNAL( collectionRemoved( const Akonadi::Collection &) ), this, SLOT( slotCollectionRemoved( const Akonadi::Collection& ) ) );
connect( KMKernel::self()->monitor(), SIGNAL( collectionRemoved( const Akonadi::Collection &) ), this, SLOT( slotCollectionRemoved( const Akonadi::Collection& ) ) );
mCollectionFolderView->setSelectionMode( QAbstractItemView::ExtendedSelection );
const KConfigGroup cfg( KGlobal::config(), "CollectionFolderView" );

@ -144,6 +144,8 @@ using KMail::TemplateParser;
#include <memory>
#include <akonadi/collectioncombobox.h>
#include <akonadi/changerecorder.h>
#include <messageviewer/objecttreeemptysource.h>
// MOC
#include "newcomposerwin.moc"
@ -364,12 +366,8 @@ KMComposeWin::KMComposeWin( KMime::Message *aMsg, Composer::TemplateContext cont
connect( mEdtFrom, SIGNAL(completionModeChanged(KGlobalSettings::Completion)),
SLOT(slotCompletionModeChanged(KGlobalSettings::Completion)) );
#if 0
connect( kmkernel->folderMgr(), SIGNAL(folderRemoved(const Akonadi::Collection&)),
connect( kmkernel->monitor(), SIGNAL(collectionRemoved(const Akonadi::Collection&)),
SLOT(slotFolderRemoved(const Akonadi::Collection&)) );
#else
kDebug() << "AKONADI PORT: Disabled code in " << Q_FUNC_INFO;
#endif
connect( kmkernel, SIGNAL( configChanged() ),
this, SLOT( slotConfigChanged() ) );

Loading…
Cancel
Save