You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdepim/kmail/kmfolderdir.h

93 lines
2.3 KiB

#ifndef kmfolderdir_h
#define kmfolderdir_h
#include <qstring.h>
#include "kmfoldernode.h"
#include "kmfoldertype.h"
class KMFolder;
class KMFolderMgr;
/** KMail list that manages the contents of one directory that may
* contain folders and/or other directories.
*/
class KMFolderDir: public KMFolderNode, public KMFolderNodeList
{
Q_OBJECT
public:
KMFolderDir( KMFolder * owner, KMFolderDir * parent = 0,
const QString& path = QString::null,
KMFolderDirType = KMStandardDir );
virtual ~KMFolderDir();
virtual bool isDir() const { return true; }
/** Read contents of directory. */
virtual bool reload();
/** Return full pathname of this directory. */
virtual QString path() const;
/** Returns the label of the folder for visualization. */
QString label() const;
/** URL of the node for visualization purposes. */
virtual QString prettyURL() const;
/** Create a mail folder in this directory with given name. If sysFldr==TRUE
the folder is marked as a (KMail) system folder.
Returns Folder on success. */
virtual KMFolder* createFolder(const QString& folderName,
bool sysFldr=false,
KMFolderType folderType=KMFolderTypeMbox);
/** Returns folder with given name or zero if it does not exist */
virtual KMFolderNode* hasNamedFolder(const QString& name);
/** Returns the folder manager that manages this folder */
virtual KMFolderMgr* manager() const;
/** Returns the folder whose children we are holding */
KMFolder* owner() const { return mOwner; }
virtual KMFolderDirType type() const { return mDirType; }
protected:
KMFolder * mOwner;
KMFolderDirType mDirType;
};
//-----------------------------------------------------------------------------
class KMFolderRootDir: public KMFolderDir
{
Q_OBJECT
public:
KMFolderRootDir(KMFolderMgr* manager,
const QString& path=QString::null,
KMFolderDirType dirType = KMStandardDir);
virtual ~KMFolderRootDir();
virtual QString path() const;
/** set the absolute path */
virtual void setPath(const QString&);
virtual QString prettyURL() const;
void setBaseURL( const QCString& baseURL );
virtual KMFolderMgr* manager() const;
protected:
QString mPath;
KMFolderMgr *mManager;
QCString mBaseURL;
};
#endif /*kmfolderdir_h*/