8#include <tqvaluelist.h>
10#include <tqguardedptr.h>
12#include "kmfolderdir.h"
16class KMFolderMgr:
public TQObject
22 KMFolderMgr(
const TQString& basePath, KMFolderDirType dirType = KMStandardDir);
23 virtual ~KMFolderMgr();
26 TQString basePath()
const {
return mBasePath; }
29 virtual void setBasePath(
const TQString&);
32 KMFolderRootDir& dir();
36 virtual KMFolder* find(
const TQString& folderName,
bool foldersOnly=
true);
39 virtual KMFolder* findIdString(
const TQString& folderId,
40 const uint
id = 0, KMFolderDir *dir = 0);
46 virtual KMFolder* findOrCreate(
const TQString& folderName,
bool sysFldr=
true,
51 virtual KMFolder* findById(
const uint
id);
53 virtual void getFolderURLS( TQStringList& flist,
54 const TQString& prefix=TQString(),
55 KMFolderDir *adir=0 );
56 virtual KMFolder* getFolderByURL(
const TQString& vpath,
57 const TQString& prefix=TQString(),
58 KMFolderDir *adir=0 );
62 virtual KMFolder* createFolder(
const TQString& fName,
bool sysFldr=
false,
63 KMFolderType aFolderType=KMFolderTypeMbox,
64 KMFolderDir *aFolderDir = 0);
67 virtual void remove(KMFolder* obsoleteFolder);
70 virtual void contentsChanged(
void);
73 virtual void reload(
void);
77 virtual void createFolderList( TQStringList *str,
78 TQValueList<TQGuardedPtr<KMFolder> > *folders );
82 virtual void createFolderList( TQStringList *str,
83 TQValueList<TQGuardedPtr<KMFolder> > *folders,
85 const TQString& prefix,
86 bool i18nized=
false );
90 virtual void createI18nFolderList( TQStringList *str,
91 TQValueList<TQGuardedPtr<KMFolder> > *folders );
94 void syncAllFolders( KMFolderDir *adir = 0 );
97 void compactAllFolders(
bool immediate, KMFolderDir *adir = 0 );
100 void expireAllFolders(
bool immediate, KMFolderDir *adir = 0 );
106 int folderCount(KMFolderDir *dir=0);
110 void tryReleasingFolder(KMFolder* folder, KMFolderDir *Dir=0);
116 void moveFolder( KMFolder* folder, KMFolderDir* newParent );
119 void renameFolder( KMFolder* folder,
const TQString& newName,
120 KMFolderDir* newParent = 0 );
123 void copyFolder( KMFolder* folder, KMFolderDir* newParent );
126 KMFolder* parentFolder( KMFolder* folder );
130 void compactAll() { compactAllFolders(
true ); }
136 void removeFolderAux(KMFolder* obsoleteFolder,
bool success);
139 void slotRenameDone( TQString newName,
bool success );
149 void folderRemoved(KMFolder*);
152 void folderAdded(KMFolder*);
155 void folderInvalidated(KMFolder*);
158 void msgAdded(KMFolder*, TQ_UINT32);
161 void msgRemoved(KMFolder*, TQ_UINT32);
164 void msgChanged(KMFolder*, TQ_UINT32,
int delta);
167 void msgHeaderChanged(KMFolder*,
int idx);
170 void folderMoveOrCopyOperationFinished();
175 void removeFolder(KMFolder* aFolder);
178 void removeDirAux(KMFolderDir* aFolderDir);
181 KMFolderRootDir mDir;
184 KMFolder* mRemoveOrig;