kmail
copyfolderjob.h00001
00028 #ifndef COPYFOLDERJOB_H
00029 #define COPYFOLDERJOB_H
00030
00031 #include "folderjob.h"
00032
00033 #include <qguardedptr.h>
00034
00035 class FolderStorage;
00036 class KMFolderDir;
00037 class KMFolder;
00038 class KMCommand;
00039
00040 class KMFolderNode;
00041
00042 namespace KMail {
00043
00050 class CopyFolderJob : public FolderJob
00051 {
00052 Q_OBJECT
00053 public:
00059 CopyFolderJob( FolderStorage* const storage, KMFolderDir* const newParent = 0 );
00060
00061 virtual ~CopyFolderJob();
00062
00063 virtual void execute();
00064
00068 KMFolder* targetFolder() const { return mNewFolder; }
00069
00070 protected slots:
00071
00073 bool createTargetDir();
00074
00076 void copyMessagesToTargetDir();
00077
00080 void slotCopyCompleted( KMCommand *command );
00081
00084 void slotCopyNextChild( bool success = true );
00085
00089 void rollback();
00090
00094 void folderCreationDone( const QString &name, bool success );
00095
00096 signals:
00098 void folderCopyComplete( bool success );
00099
00100 protected:
00101 QGuardedPtr<FolderStorage> const mStorage;
00102 KMFolderDir* const mNewParent;
00103 QGuardedPtr<KMFolder> mNewFolder;
00104 QPtrListIterator<KMFolderNode> mChildFolderNodeIterator;
00105 KMFolder* mNextChildFolder;
00106 };
00107
00108 }
00109
00110 #endif
|