kmail Library API Documentation

kmacctcachedimap.h

00001 
00021 #ifndef KMAcctCachedImap_h
00022 #define KMAcctCachedImap_h
00023 
00024 #include "imapaccountbase.h"
00025 
00026 #include <qguardedptr.h>
00027 
00028 class KMFolderCachedImap;
00029 class KMFolderTreeItem;
00030 namespace KMail {
00031   class IMAPProgressDialog;
00032   class FolderJob;
00033   class ImapJob;
00034   class CachedImapJob;
00035 }
00036 using KMail::ImapJob;
00037 using KMail::CachedImapJob;
00038 
00039 namespace KIO {
00040   class Job;
00041 }
00042 
00043 class KMAcctCachedImap: public KMail::ImapAccountBase
00044 {
00045   Q_OBJECT
00046   friend class ImapJob;
00047   friend class CachedImapJob;
00048 
00049 protected: // ### Hacks
00050   void setPrefixHook();
00051 
00052 public:
00053   virtual ~KMAcctCachedImap();
00054   virtual void init();
00055 
00057   virtual void pseudoAssign( const KMAccount * a );
00058 
00062   virtual void setAutoExpunge(bool);
00063 
00067   virtual QString type() const;
00068   virtual void processNewMail( bool i ) { processNewMail( mFolder, i ); }
00069 
00070   void processNewMail( KMFolderCachedImap*, bool );
00071 
00075   virtual void displayProgress();
00076 
00080   void killJobsForItem(KMFolderTreeItem * fti);
00081 
00085   virtual void killAllJobs( bool disconnectSlave=false );
00086 
00090   void setIdle(bool aIdle) { mIdle = aIdle; }
00091 
00092   void slaveDied() { mSlave = 0; killAllJobs(); }
00093 
00097   virtual void setImapFolder(KMFolderCachedImap *);
00098 
00099   KMail::IMAPProgressDialog * imapProgressDialog() const;
00100   bool isProgressDialogEnabled() const { return mProgressDialogEnabled; }
00101   void setProgressDialogEnabled( bool enable ) { mProgressDialogEnabled = enable; }
00102 
00103   virtual void readConfig( /*const*/ KConfig/*Base*/ & config );
00104   virtual void writeConfig( KConfig/*Base*/ & config ) /*const*/;
00105 
00109   virtual void invalidateIMAPFolders();
00110   virtual void invalidateIMAPFolders( KMFolderCachedImap* );
00111 
00118   void listDirectory(QString path, bool onlySubscribed,
00119       bool secondStep = FALSE, KMFolder* parent = NULL, bool reset = false);  
00120 
00124   virtual void listDirectory();
00125 
00126 public slots:
00127   void processNewMail() { processNewMail( mFolder, true ); }
00128 
00132   void slotSlaveError(KIO::Slave *aSlave, int, const QString &errorMsg);
00133 
00134 protected:
00135   friend class KMAcctMgr;
00136   KMAcctCachedImap(KMAcctMgr* owner, const QString& accountName);
00137 
00138 protected slots:
00142   void slotIdleTimeout();
00143 
00147   void slotAbortRequested();
00148 
00152   void slotSimpleResult(KIO::Job * job);
00153 
00155   void postProcessNewMail(KMFolderCachedImap*, bool);
00156   void postProcessNewMail( KMFolder * f ) { ImapAccountBase::postProcessNewMail( f ); }
00157 
00158 private:
00159   QPtrList<CachedImapJob> mJobList;
00160   KMFolderCachedImap *mFolder;
00161   mutable QGuardedPtr<KMail::IMAPProgressDialog> mProgressDlg;
00162   bool mProgressDialogEnabled;
00163   bool mSyncActive;
00164 };
00165 
00166 #endif /*KMAcctCachedImap_h*/
KDE Logo
This file is part of the documentation for kmail Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat May 1 11:37:19 2004 by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2003