kmail
expirejob.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef EXPIREJOB_H
00029 #define EXPIREJOB_H
00030
00031 #include "jobscheduler.h"
00032 #include "kmcommands.h"
00033
00034 namespace KMail {
00035
00036 class ExpireJob : public ScheduledJob
00037 {
00038 Q_OBJECT
00039 TQ_OBJECT
00040 public:
00041 ExpireJob( KMFolder* folder, bool immediate );
00042 virtual ~ExpireJob();
00043
00044 virtual void execute();
00045 virtual void kill();
00046
00047 private slots:
00048 void slotDoWork();
00049 void slotMessagesMoved( KMCommand *command );
00050
00051 private:
00052 void done();
00053
00054 private:
00055 TQTimer mTimer;
00056 TQPtrList<KMMsgBase> mRemovedMsgs;
00057 int mCurrentIndex;
00058 int mMaxUnreadTime;
00059 int mMaxReadTime;
00060 bool mFolderOpen;
00061 KMFolder *mMoveToFolder;
00062 };
00063
00065 class ScheduledExpireTask : public ScheduledTask
00066 {
00067 public:
00070 ScheduledExpireTask( KMFolder* folder, bool immediate )
00071 : ScheduledTask( folder, immediate ) {}
00072 virtual ~ScheduledExpireTask() {}
00073 virtual ScheduledJob* run() {
00074 return folder() ? new ExpireJob( folder(), isImmediate() ) : 0;
00075 }
00076 virtual int taskTypeId() const { return 1; }
00077 };
00078
00079 }
00080
00081 #endif
00082
|