summaryrefslogtreecommitdiffstats
path: root/kmail/kmfolderdir.h
diff options
context:
space:
mode:
Diffstat (limited to 'kmail/kmfolderdir.h')
-rw-r--r--kmail/kmfolderdir.h92
1 files changed, 92 insertions, 0 deletions
diff --git a/kmail/kmfolderdir.h b/kmail/kmfolderdir.h
new file mode 100644
index 00000000..5fa30b86
--- /dev/null
+++ b/kmail/kmfolderdir.h
@@ -0,0 +1,92 @@
+#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*/
+