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.