kmail

kmfolderdir.h

00001 #ifndef kmfolderdir_h
00002 #define kmfolderdir_h
00003 
00004 #include <tqstring.h>
00005 #include "kmfoldernode.h"
00006 #include "kmfoldertype.h"
00007 
00008 class KMFolder;
00009 class KMFolderMgr;
00010 
00011 
00015 class KMFolderDir: public KMFolderNode, public KMFolderNodeList
00016 {
00017   Q_OBJECT
00018 
00019 public:
00020   KMFolderDir( KMFolder * owner, KMFolderDir * parent = 0,
00021                const TQString& path = TQString::null,
00022                KMFolderDirType = KMStandardDir );
00023   virtual ~KMFolderDir();
00024 
00025   virtual bool isDir() const { return true; }
00026 
00030   void addDirToParent( const TQString &dirName, KMFolder *parentFolder );
00031 
00033   virtual bool reload();
00034 
00036   virtual TQString path() const;
00037 
00039   TQString label() const;
00040 
00042   virtual TQString prettyURL() const;
00043 
00047   virtual KMFolder* createFolder( const TQString& folderName,
00048                                   bool sysFldr=false,
00049                                   KMFolderType folderType=KMFolderTypeMbox );
00050 
00052   virtual KMFolderNode* hasNamedFolder(const TQString& name);
00053 
00055   virtual KMFolderMgr* manager() const;
00056 
00058   KMFolder* owner() const { return mOwner; }
00059 
00060   virtual KMFolderDirType type() const { return mDirType; }
00061 
00062 protected:
00063   KMFolder * mOwner;
00064   KMFolderDirType mDirType;
00065 };
00066 
00067 
00068 //-----------------------------------------------------------------------------
00069 
00070 class KMFolderRootDir: public KMFolderDir
00071 {
00072   Q_OBJECT
00073 
00074 public:
00075   KMFolderRootDir( KMFolderMgr* manager,
00076                    const TQString& path=TQString::null,
00077                    KMFolderDirType dirType = KMStandardDir );
00078   virtual ~KMFolderRootDir();
00079   virtual TQString path() const;
00080 
00082   virtual void setPath(const TQString&);
00083 
00084   virtual TQString prettyURL() const;
00085 
00086   void setBaseURL( const TQCString& baseURL );
00087 
00088   virtual KMFolderMgr* manager() const;
00089 
00090 protected:
00091   TQString mPath;
00092   KMFolderMgr *mManager;
00093   TQCString mBaseURL;
00094 };
00095 
00096 #endif /*kmfolderdir_h*/
00097