allow to expure mail from trash

svn path=/branches/work/akonadi-ports/kdepim/; revision=1047104
wilder-work
Laurent Montel 17 years ago
parent c5bffbcd25
commit cc24789294
  1. 25
      foldercollectionmonitor.cpp
  2. 6
      foldercollectionmonitor.h
  3. 2
      kmkernel.cpp

@ -20,6 +20,9 @@
#include <akonadi/changerecorder.h>
#include <akonadi/collection.h>
#include <akonadi/itemfetchscope.h>
#include <akonadi/itemdeletejob.h>
#include <akonadi/itemfetchjob.h>
#include <akonadi/item.h>
FolderCollectionMonitor::FolderCollectionMonitor(QObject *parent)
:QObject( parent )
@ -54,3 +57,25 @@ void FolderCollectionMonitor::compactAllFolders( bool immediate )
kDebug() << "AKONADI PORT: Need to implement it " << Q_FUNC_INFO;
}
void FolderCollectionMonitor::expure( const Akonadi::Collection & col )
{
Akonadi::ItemFetchJob *job = new Akonadi::ItemFetchJob( col,this );
connect( job, SIGNAL( result( KJob* ) ), this, SLOT( slotFetchJob( KJob* ) ) );
}
void FolderCollectionMonitor::slotFetchJob( KJob *job )
{
if ( job->error() ) {
static_cast<KIO::Job*>(job)->ui()->showErrorMessage();
return;
}
Akonadi::ItemFetchJob *fjob = dynamic_cast<Akonadi::ItemFetchJob*>( job );
if ( !fjob )
return;
Akonadi::Item::List lstItem = fjob->items();
Akonadi::ItemDeleteJob *jobDelete = new Akonadi::ItemDeleteJob(lstItem,this );
}

@ -20,8 +20,11 @@
#define FOLDERCOLLECTIONMONITOR_H
#include <QObject>
#include <kio/job.h>
#include <kio/jobuidelegate.h>
namespace Akonadi {
class ChangeRecorder;
class Collection;
}
class FolderCollectionMonitor : public QObject
@ -34,6 +37,9 @@ public:
Akonadi::ChangeRecorder * monitor();
void expireAllFolders(bool immediate );
void compactAllFolders( bool immediate );
void expure( const Akonadi::Collection& );
private slots:
void slotFetchJob( KJob *job );
private:
Akonadi::ChangeRecorder *mMonitor;
};

@ -2132,6 +2132,8 @@ void KMKernel::slotEmptyTrash()
}
#else
kDebug() << "AKONADI PORT: Disabled code in " << Q_FUNC_INFO;
Akonadi::Collection trash = trashCollectionFolder();
mFolderCollectionMonitor->expure( trash );
#endif
}

Loading…
Cancel
Save