kmail

copyfolderjob.h
1 
28 #ifndef COPYFOLDERJOB_H
29 #define COPYFOLDERJOB_H
30 
31 #include "folderjob.h"
32 
33 #include <tqguardedptr.h>
34 
35 class FolderStorage;
36 class KMFolderDir;
37 class KMFolder;
38 class KMCommand;
39 
40 class KMFolderNode;
41 
42 namespace KMail {
43 
50 class CopyFolderJob : public FolderJob
51 {
52  Q_OBJECT
53  TQ_OBJECT
54 public:
60  CopyFolderJob( FolderStorage* const storage, KMFolderDir* const newParent = 0 );
61 
62  virtual ~CopyFolderJob();
63 
64  virtual void execute();
65 
69  KMFolder* targetFolder() const { return mNewFolder; }
70 
71 protected slots:
72 
74  bool createTargetDir();
75 
78 
81  void slotCopyCompleted( KMCommand *command );
82 
85  void slotCopyNextChild( bool success = true );
86 
90  void rollback();
91 
95  void folderCreationDone( const TQString &name, bool success );
96 
97 signals:
99  void folderCopyComplete( bool success );
100 
101 protected:
102  TQGuardedPtr<FolderStorage> const mStorage;
103  KMFolderDir* const mNewParent;
104  TQGuardedPtr<KMFolder> mNewFolder;
105  TQPtrListIterator<KMFolderNode> mChildFolderNodeIterator;
106  KMFolder* mNextChildFolder;
107 };
108 
109 } // namespace KMail
110 
111 #endif /* COPYFOLDERJOB_H */