kmail Library API Documentation

kmacctcachedimap.h

00001 00032 #ifndef KMAcctCachedImap_h 00033 #define KMAcctCachedImap_h 00034 00035 #include "imapaccountbase.h" 00036 00037 #include <qguardedptr.h> 00038 00039 class KMFolderCachedImap; 00040 class KMFolderTreeItem; 00041 namespace KMail { 00042 class FolderJob; 00043 class ImapJob; 00044 class CachedImapJob; 00045 } 00046 using KMail::ImapJob; 00047 using KMail::CachedImapJob; 00048 00049 namespace KIO { 00050 class Job; 00051 } 00052 00053 class KMAcctCachedImap: public KMail::ImapAccountBase 00054 { 00055 Q_OBJECT 00056 friend class ImapJob; 00057 friend class CachedImapJob; 00058 00059 protected: // ### Hacks 00060 void setPrefixHook(); 00061 00062 public: 00063 virtual ~KMAcctCachedImap(); 00064 virtual void init(); 00065 00067 virtual void pseudoAssign( const KMAccount * a ); 00068 00072 virtual void setAutoExpunge(bool); 00073 00077 virtual QString type() const; 00078 virtual void processNewMail( bool interactive ); 00079 00083 void killJobsForItem(KMFolderTreeItem * fti); 00084 00088 virtual void killAllJobs( bool disconnectSlave=false ); 00089 00093 virtual void cancelMailCheck(); 00094 00098 virtual void setImapFolder(KMFolderCachedImap *); 00099 KMFolderCachedImap* imapFolder() const { return mFolder; } 00100 00101 bool isProgressDialogEnabled() const { return mProgressDialogEnabled; } 00102 void setProgressDialogEnabled( bool enable ) { mProgressDialogEnabled = enable; } 00103 00104 virtual void readConfig( /*const*/ KConfig/*Base*/ & config ); 00105 virtual void writeConfig( KConfig/*Base*/ & config ) /*const*/; 00106 00110 virtual void invalidateIMAPFolders(); 00111 virtual void invalidateIMAPFolders( KMFolderCachedImap* ); 00112 00116 void addDeletedFolder( const QString& subFolderPath ); 00117 00121 bool isDeletedFolder( const QString& subFolderPath ) const; 00122 00126 bool isPreviouslyDeletedFolder( const QString& subFolderPath ) const; 00127 00131 void removeDeletedFolder( const QString& subFolderPath ); 00132 00136 void addRenamedFolder( const QString& subFolderPath, 00137 const QString& oldLabel, const QString& newName ); 00138 00143 void removeRenamedFolder( const QString& subFolderPath ); 00144 00145 struct RenamedFolder { 00146 RenamedFolder() {} // for QMap 00147 RenamedFolder( const QString& oldLabel, const QString& newName ) 00148 : mOldLabel( oldLabel ), mNewName( newName ) {} 00149 QString mOldLabel; 00150 QString mNewName; 00151 }; 00152 00156 QString renamedFolder( const QString& imapPath ) const; 00160 const QMap<QString, RenamedFolder>& renamedFolders() const { return mRenamedFolders; } 00161 00165 void addUnreadMsgCount( const KMFolderCachedImap *folder, int countUnread ); 00166 00170 void addLastUnreadMsgCount( const KMFolderCachedImap *folder, 00171 int countLastUnread ); 00172 00176 virtual FolderStorage* const rootFolder() const; 00177 00178 protected: 00179 friend class KMAcctMgr; 00180 KMAcctCachedImap(KMAcctMgr* owner, const QString& accountName, uint id); 00181 00182 protected slots: 00184 void postProcessNewMail(KMFolderCachedImap*, bool); 00185 00186 void slotProgressItemCanceled( ProgressItem* ); 00187 00188 virtual void slotCheckQueuedFolders(); 00189 00190 private: 00191 QValueList<KMFolderCachedImap*> killAllJobsInternal( bool disconnectSlave ); 00192 void processNewMail( KMFolderCachedImap* folder, bool interactive, bool recurse ); 00193 00194 private: 00195 QPtrList<CachedImapJob> mJobList; 00196 KMFolderCachedImap *mFolder; 00197 bool mProgressDialogEnabled; 00198 QStringList mDeletedFolders; // folders deleted in this session 00199 QStringList mPreviouslyDeletedFolders; // folders deleted in a previous session 00200 QMap<QString, RenamedFolder> mRenamedFolders; 00201 }; 00202 00203 #endif /*KMAcctCachedImap_h*/
KDE Logo
This file is part of the documentation for kmail Library Version 3.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Oct 21 19:46:46 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003