author | conber <conber> | 2002-06-15 18:26:36 (UTC) |
---|---|---|
committer | conber <conber> | 2002-06-15 18:26:36 (UTC) |
commit | f797160d879c74652b27bca3df8a74243465d65c (patch) (unidiff) | |
tree | eb6a376174ba1e532127d099df6a02d201e2e34f | |
parent | ff47b17768607d8819ef5cd3316a1cab0abdcf3a (diff) | |
download | opie-f797160d879c74652b27bca3df8a74243465d65c.zip opie-f797160d879c74652b27bca3df8a74243465d65c.tar.gz opie-f797160d879c74652b27bca3df8a74243465d65c.tar.bz2 |
fixed bug. you should be able to browse and search in an imap account now.
-rw-r--r-- | noncore/unsupported/mail2/libmail/imaphandler.cpp | 9 | ||||
-rw-r--r-- | noncore/unsupported/mail2/libmail/imaphandler.h | 2 |
2 files changed, 10 insertions, 1 deletions
diff --git a/noncore/unsupported/mail2/libmail/imaphandler.cpp b/noncore/unsupported/mail2/libmail/imaphandler.cpp index 66c92c5..730a004 100644 --- a/noncore/unsupported/mail2/libmail/imaphandler.cpp +++ b/noncore/unsupported/mail2/libmail/imaphandler.cpp | |||
@@ -1,15 +1,16 @@ | |||
1 | #include "imapresponse.h" | 1 | #include "imapresponse.h" |
2 | #include "imaphandler.h" | 2 | #include "imaphandler.h" |
3 | #include "imapbase.h" | 3 | #include "imapbase.h" |
4 | 4 | ||
5 | IMAPHandler::IMAPHandler(const Account &account) | 5 | IMAPHandler::IMAPHandler(const Account &account) |
6 | : QObject(), _account(account) | 6 | : QObject(), _account(account) |
7 | { | 7 | { |
8 | _ready = false; | ||
8 | _loggingin = false; | 9 | _loggingin = false; |
9 | _loggedin = false; | 10 | _loggedin = false; |
10 | _tag = 0; | 11 | _tag = 0; |
11 | _ibase = new IMAPBase(account); | 12 | _ibase = new IMAPBase(account); |
12 | 13 | ||
13 | connect(_ibase, SIGNAL(dataReceived(const QString &)), SLOT(slotDataReceived(const QString &))); | 14 | connect(_ibase, SIGNAL(dataReceived(const QString &)), SLOT(slotDataReceived(const QString &))); |
14 | connect(_ibase, SIGNAL(lookingUpHost()), SLOT(slotLookingUpHost())); | 15 | connect(_ibase, SIGNAL(lookingUpHost()), SLOT(slotLookingUpHost())); |
15 | connect(_ibase, SIGNAL(hostFound()), SLOT(slotHostFound())); | 16 | connect(_ibase, SIGNAL(hostFound()), SLOT(slotHostFound())); |
@@ -284,16 +285,24 @@ QString IMAPHandler::escape(const QString &in) | |||
284 | 285 | ||
285 | QString IMAPHandler::tag(bool count) | 286 | QString IMAPHandler::tag(bool count) |
286 | { | 287 | { |
287 | return QString("a%1").arg(count ? _tag++ : _tag); | 288 | return QString("a%1").arg(count ? _tag++ : _tag); |
288 | } | 289 | } |
289 | 290 | ||
290 | void IMAPHandler::slotDataReceived(const QString &data) | 291 | void IMAPHandler::slotDataReceived(const QString &data) |
291 | { | 292 | { |
293 | if (!_ready) { | ||
294 | // The first data is always the greeting string. | ||
295 | // We can ignore it. | ||
296 | _ready = true; | ||
297 | return; | ||
298 | } | ||
299 | |||
300 | |||
292 | IMAPResponseParser parser(data); | 301 | IMAPResponseParser parser(data); |
293 | IMAPResponse response = parser.response(); | 302 | IMAPResponse response = parser.response(); |
294 | response.setImapHandler(this); | 303 | response.setImapHandler(this); |
295 | 304 | ||
296 | if (!_loggingin) emit gotResponse(response); | 305 | if (!_loggingin) emit gotResponse(response); |
297 | else { | 306 | else { |
298 | if (response.statusResponse().status() == IMAPResponseEnums::OK) { | 307 | if (response.statusResponse().status() == IMAPResponseEnums::OK) { |
299 | _loggingin = false; | 308 | _loggingin = false; |
diff --git a/noncore/unsupported/mail2/libmail/imaphandler.h b/noncore/unsupported/mail2/libmail/imaphandler.h index 8cb42db..cc47a85 100644 --- a/noncore/unsupported/mail2/libmail/imaphandler.h +++ b/noncore/unsupported/mail2/libmail/imaphandler.h | |||
@@ -74,13 +74,13 @@ protected slots: | |||
74 | void slotConnected(); | 74 | void slotConnected(); |
75 | void slotDisconnected(); | 75 | void slotDisconnected(); |
76 | void slotError(int err); | 76 | void slotError(int err); |
77 | 77 | ||
78 | private: | 78 | private: |
79 | Account _account; | 79 | Account _account; |
80 | IMAPBase *_ibase; | 80 | IMAPBase *_ibase; |
81 | unsigned int _tag; | 81 | unsigned int _tag; |
82 | bool _loggingin, _loggedin; | 82 | bool _ready, _loggingin, _loggedin; |
83 | 83 | ||
84 | }; | 84 | }; |
85 | 85 | ||
86 | #endif | 86 | #endif |