23 #include <tqptrlist.h>
56 enum ArchiveType { Zip = 0, Tar = 1, TarBz2 = 2, TarGz = 3 };
58 explicit BackupJob( TQWidget *parent = 0 );
60 void setRootFolder( KMFolder *rootFolder );
61 void setSaveLocation( const KURL &savePath );
62 void setArchiveType( ArchiveType type );
63 void setDeleteFoldersAfterCompletion( bool deleteThem );
68 void messageRetrieved( KMMessage *message );
69 void folderJobFinished( KMail::FolderJob *job );
70 void processCurrentMessage();
76 void archiveNextFolder();
77 void archiveNextMessage();
78 TQString stripRootPath( const TQString &path ) const;
79 bool hasChildren( KMFolder *folder ) const;
81 void abort( const TQString &errorMessage );
82 bool writeDirHelper( const TQString &directoryPath, const TQString &permissionPath );
84 KURL mMailArchivePath;
85 ArchiveType mArchiveType;
88 TQWidget *mParentWidget;
89 bool mCurrentFolderOpen;
90 int mArchivedMessages;
92 KPIM::ProgressItem *mProgressItem;
94 bool mDeleteFoldersAfterCompletion;
101 TQPtrList<KMFolder> mPendingFolders;
103 TQValueList<unsigned long> mPendingMessages;
105 FolderJob *mCurrentJob;
Writes an entire folder structure to an archive file.
|