00001
00022
#ifndef KMAcctImap_h
00023
#define KMAcctImap_h
00024
00025
#include "imapaccountbase.h"
00026
00027
class KMFolderImap;
00028
class KMFolderTreeItem;
00029
namespace KMail {
00030
class ImapJob;
00031 }
00032
namespace KIO {
00033
class Job;
00034 }
00035
00036
00037
class KMAcctImap:
public KMail::ImapAccountBase
00038 {
00039 Q_OBJECT
00040
friend class KMail::ImapJob;
00041
00042
protected:
00043
void setPrefixHook();
00044
00045
public:
00046
virtual ~KMAcctImap();
00047
00049
virtual void pseudoAssign(
const KMAccount * a );
00050
00054
virtual QString type(
void) const;
00055 virtual
void processNewMail(
bool);
00056
00060 virtual
void ignoreJobsForMessage( KMMessage * msg );
00061 virtual
void ignoreJobsForFolder(
KMFolder * folder );
00062 virtual
void removeSlaveJobsForFolder(
KMFolder * folder );
00063
00067
void killAllJobs(
bool disconnectSlave=false );
00068
00072
void setIdle(
bool aIdle) { mIdle = aIdle; }
00073
00077
virtual void setImapFolder(KMFolderImap *);
00078
00085
void listDirectory(QString path,
bool onlySubscribed,
00086
bool secondStep = FALSE,
KMFolder* parent = NULL,
bool reset =
false);
00087
00091
virtual void listDirectory();
00092
00098
virtual void readConfig(KConfig& config);
00099
00100
public slots:
00101
void processNewMail() { processNewMail(TRUE); }
00102
00106
void slotSlaveError(KIO::Slave *aSlave,
int,
const QString &errorMsg);
00107
00111
void slotUpdateFolderList();
00112
00113
protected:
00114
friend class KMAcctMgr;
00115
friend class KMPasswdDialog;
00116 KMAcctImap(KMAcctMgr* owner,
const QString& accountName);
00117
00118 QPtrList<KMail::ImapJob> mJobList;
00119 QGuardedPtr<KMFolderImap> mFolder;
00120
00121
protected slots:
00125
void slotIdleTimeout();
00126
00130
void slotAbortRequested();
00131
00135
void slotSimpleResult(KIO::Job * job);
00136
00138
void postProcessNewMail(KMFolderImap*,
bool);
00139
void postProcessNewMail(
KMFolder * f ) { ImapAccountBase::postProcessNewMail( f ); }
00140
00141 };
00142
00143
#endif