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:
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( KConfig & config );
00104 virtual void writeConfig( KConfig & config ) ;
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
This file is part of the documentation for kmail Library Version 3.2.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Apr 26 23:23:19 2004 by
doxygen 1.3.6-20040222 written by
Dimitri van Heesch, © 1997-2003