diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch) | |
tree | 67208f7c145782a7e90b123b982ca78d88cc2c87 /kmailcvt/filter_pmail.hxx | |
download | tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'kmailcvt/filter_pmail.hxx')
-rw-r--r-- | kmailcvt/filter_pmail.hxx | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/kmailcvt/filter_pmail.hxx b/kmailcvt/filter_pmail.hxx new file mode 100644 index 000000000..9db76d11f --- /dev/null +++ b/kmailcvt/filter_pmail.hxx @@ -0,0 +1,76 @@ +/*************************************************************************** + FilterPMail.hxx - Pegasus-Mail import + ------------------- + begin : Sat Jan 6 2001 + copyright : (C) 2001 by Holger Schurig + email : [email protected] + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +#ifndef FILTER_PMAIL_HXX +#define FILTER_PMAIL_HXX + +#include <qdir.h> +#include <qvaluelist.h> + +#include "filters.hxx" + +class FilterPMail : public Filter +{ +public: + FilterPMail(); + ~FilterPMail(); + + void import(FilterInfo *info); + +protected: + /** this looks for all files with the filemask 'mask' and calls the 'workFunc' on each of them */ + void processFiles(const QString& mask, void(FilterPMail::* workFunc)(const QString&) ); + /** this function imports one *.CNM message */ + void importNewMessage(const QString& file); + /** this function imports one mail folder file (*.PMM) */ + void importMailFolder(const QString& file); + /** imports a 'unix' format mail folder (*.MBX) */ + void importUnixMailFolder(const QString& file); + /** this function recreate the folder structure */ + bool parseFolderMatrix(); + /** this function parse the folder structure */ + QString getFolderName(QString ID); + +private: + /** the working directory */ + QDir dir; + /** pointer to the info */ + FilterInfo * inf; + + /** Folder structure here has 5 entries. */ + typedef FolderStructureBase<5> FolderStructure; + /** List with the folder matrix, which contains following strings: + 1. type (2 for root-folder, 1 for folder, 0 for mailarchiv) + 2. type (1 for root-folder, 3 for folder, 0 for mailarchiv) + 3. "ID:flag:filename" of folder/archiv + 4. "ID:name" of parent folder + 5. name of folder/archiv + */ + QValueList<FolderStructure> folderMatrix; + typedef QValueList<FolderStructure>::Iterator FolderStructureIterator; + + bool folderParsed; + + QString chosenDir; + + /** which file (of totalFiles) is now in the work? */ + int currentFile; + /** total number of files that get imported */ + int totalFiles; + +}; +#endif |