00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef EMPTYTRASHCOMMAND_P_H
00022 #define EMPTYTRASHCOMMAND_P_H
00023
00024 #include <commandbase_p.h>
00025
00026 #include "akonadi/agentinstance.h"
00027 #include "akonadi/collection.h"
00028
00029 class QAbstractItemModel;
00030 class KJob;
00031
00032 class EmptyTrashCommand : public CommandBase
00033 {
00034 Q_OBJECT
00035
00036 public:
00037 EmptyTrashCommand(const QAbstractItemModel* model, QObject* parent);
00038 EmptyTrashCommand(Akonadi::Collection folder, QObject* parent);
00039 void execute();
00040
00041 private slots:
00042 void slotExpungeJob( KJob *job );
00043 void slotDeleteJob( KJob *job );
00044 private:
00045 void expunge( const Akonadi::Collection& );
00046 Akonadi::AgentInstance::List agentInstances();
00047 Akonadi::Collection trashCollectionFolder();
00048 Akonadi::Collection collectionFromId(const Akonadi::Collection::Id& id) const;
00049 bool folderIsTrash( const Akonadi::Collection & col );
00050
00051 const QAbstractItemModel* mModel;
00052 Akonadi::Collection::Id the_trashCollectionFolder;
00053 Akonadi::Collection mFolder;
00054 };
00055
00056 #endif // EMPTYTRASHCOMMAND_P_H