kmfoldermgr.h
00001
00002
00003
00004 #ifndef kmfoldermgr_h
00005 #define kmfoldermgr_h
00006
00007 #include <qstring.h>
00008 #include <qvaluelist.h>
00009 #include <qobject.h>
00010 #include <qguardedptr.h>
00011
00012 #include "kmfolderdir.h"
00013
00014 class KMFolder;
00015 class KMMsgDict;
00016
00017 class KMFolderMgr: public QObject
00018 {
00019 Q_OBJECT
00020
00021 public:
00022 KMFolderMgr(const QString& basePath, KMFolderDirType dirType = KMStandardDir);
00023 virtual ~KMFolderMgr();
00024
00026 QString basePath() const { return mBasePath; }
00027
00029 virtual void setBasePath(const QString&);
00030
00032 KMFolderRootDir& dir();
00033
00036 virtual KMFolder* find(const QString& folderName, bool foldersOnly=TRUE);
00037
00039 virtual KMFolder* findIdString(const QString& folderId, KMFolderDir *dir=0);
00040
00043 virtual KMFolder* findOrCreate(const QString& folderName, bool sysFldr=TRUE);
00044
00045 virtual void getFolderURLS( QStringList& flist,
00046 const QString& prefix=QString::null,
00047 KMFolderDir *adir=0 );
00048 virtual KMFolder* getFolderByURL( const QString& vpath,
00049 const QString& prefix=QString::null,
00050 KMFolderDir *adir=0 );
00051
00054 virtual KMFolder* createFolder(const QString& fName, bool sysFldr=FALSE,
00055 KMFolderType aFolderType=KMFolderTypeMbox,
00056 KMFolderDir *aFolderDir = 0);
00057
00059 virtual void remove(KMFolder* obsoleteFolder);
00060
00062 virtual void contentsChanged(void);
00063
00065 virtual void reload(void);
00066
00069 virtual void createFolderList( QStringList *str,
00070 QValueList<QGuardedPtr<KMFolder> > *folders );
00071
00074 virtual void createFolderList( QStringList *str,
00075 QValueList<QGuardedPtr<KMFolder> > *folders,
00076 KMFolderDir *adir,
00077 const QString& prefix,
00078 bool i18nized=FALSE );
00079
00082 virtual void createI18nFolderList( QStringList *str,
00083 QValueList<QGuardedPtr<KMFolder> > *folders );
00084
00086 virtual void syncAllFolders( KMFolderDir *adir = 0 );
00087
00089 virtual void expireAllFolders( KMFolderDir *adir = 0 );
00090
00093 void readMsgDict(KMMsgDict *dict, KMFolderDir *dir=0, int pass = 1);
00094
00096 void writeMsgDict(KMMsgDict *dict, KMFolderDir *dir=0);
00097
00099 void quiet(bool);
00100
00102 int folderCount(KMFolderDir *dir=0);
00103
00107 void invalidateFolder(KMMsgDict *dict, KMFolder *folder);
00108
00109 public slots:
00111 void compactAll();
00112 void expireAll();
00113
00114 signals:
00119 void changed();
00120
00122 void folderRemoved(KMFolder*);
00123
00125 void folderAdded(KMFolder*);
00126
00128 void folderInvalidated(KMFolder*);
00129
00131 void msgAdded(KMFolder*, Q_UINT32);
00132
00134 void msgRemoved(KMFolder*, Q_UINT32);
00135
00137 void msgChanged(KMFolder*, Q_UINT32, int delta);
00138
00140 void msgHeaderChanged(KMFolder*, int idx);
00141
00143 void progress();
00144
00145 protected:
00146
00148 void compactAllAux(KMFolderDir* dir);
00149
00151 void removeFolderAux(KMFolder* aFolder);
00152
00154 void removeDirAux(KMFolderDir* aFolderDir);
00155
00156 QString mBasePath;
00157 KMFolderRootDir mDir;
00158 int mQuiet;
00159 bool mChanged;
00160 };
00161
00162 #endif
This file is part of the documentation for kmail Library Version 3.2.2.