diff options
author | Valerio Valerio <valerio.valerio@nokia.com> | 2012-01-13 10:33:01 +0200 |
---|---|---|
committer | Valerio Valerio <valerio.valerio@nokia.com> | 2012-01-13 10:33:01 +0200 |
commit | 0bac4adb4149237d2b9c0497ede76cc6aea4637a (patch) | |
tree | cb21a93b020a5945864dcdc4f07d6df51637f708 | |
parent | 09777ab94ffa0070a775d0df7c8924cd434fe3c1 (diff) | |
parent | 529c8511e723fa9b4438d40b05f9685085ff35e2 (diff) |
Merge branch 'master' of scm.dev.nokia.troll.no:addons/messagingframework
-rw-r--r-- | examples/qtmail/app/emailclient.cpp | 7 | ||||
-rw-r--r-- | src/plugins/messageservices/imap/imapclient.cpp | 24 | ||||
-rw-r--r-- | src/plugins/messageservices/imap/imapprotocol.cpp | 1 | ||||
-rw-r--r-- | src/plugins/messageservices/imap/imapstrategy.cpp | 3 |
4 files changed, 23 insertions, 12 deletions
diff --git a/examples/qtmail/app/emailclient.cpp b/examples/qtmail/app/emailclient.cpp index 08fcf319..86ada777 100644 --- a/examples/qtmail/app/emailclient.cpp +++ b/examples/qtmail/app/emailclient.cpp @@ -1210,7 +1210,12 @@ void EmailClient::saveAsDraft(QMailMessage& mail) mail.setStatus(QMailMessage::LocalOnly, true); inserted = QMailStore::instance()->addMessage(&mail); } else { - inserted = QMailStore::instance()->updateMessage(&mail); + QMailMessageId msgId = mail.id(); + mail.setId(QMailMessageId()); + mail.setStatus(QMailMessage::LocalOnly, true); + mail.setServerUid(QString()); + inserted = QMailStore::instance()->addMessage(&mail); + QMailStore::instance()->removeMessage(msgId, QMailStore::CreateRemovalRecord); } if (inserted) { diff --git a/src/plugins/messageservices/imap/imapclient.cpp b/src/plugins/messageservices/imap/imapclient.cpp index 3a774ee7..be9a71d4 100644 --- a/src/plugins/messageservices/imap/imapclient.cpp +++ b/src/plugins/messageservices/imap/imapclient.cpp @@ -357,7 +357,7 @@ void IdleProtocol::idleContinuation(ImapCommand command, const QString &type) if (command == IMAP_Idle) { if (type == QString("idling")) { - qMailLog(IMAP) << "IDLE: Idle connection established."; + qMailLog(IMAP) << objectName() << "IDLE: Idle connection established."; // We are now idling _idleTimer.start(idleTimeout); @@ -365,11 +365,11 @@ void IdleProtocol::idleContinuation(ImapCommand command, const QString &type) handleIdling(); } else if (type == QString("newmail")) { - qMailLog(IMAP) << "IDLE: new mail event occurred"; + qMailLog(IMAP) << objectName() << "IDLE: new mail event occurred"; // A new mail event occurred during idle emit idleNewMailNotification(_folder.id()); } else if (type == QString("flagschanged")) { - qMailLog(IMAP) << "IDLE: flags changed event occurred"; + qMailLog(IMAP) << objectName() << "IDLE: flags changed event occurred"; // A flags changed event occurred during idle emit idleFlagsChangedNotification(_folder.id()); } else { @@ -451,7 +451,7 @@ void IdleProtocol::idleCommandTransition(const ImapCommand command, const Operat } default: //default = all critical messages { - qMailLog(IMAP) << "IDLE: IMAP Idle unknown command response: " << command; + qMailLog(IMAP) << objectName() << "IDLE: IMAP Idle unknown command response: " << command; return; } } @@ -466,7 +466,8 @@ void IdleProtocol::idleTimeOut() void IdleProtocol::idleTransportError() { - qMailLog(IMAP) << "IDLE: An IMAP IDLE related error occurred.\n" + qMailLog(IMAP) << objectName() + << "IDLE: An IMAP IDLE related error occurred.\n" << "An attempt to automatically recover is scheduled in" << _idleRetryDelay << "seconds."; if (inUse()) @@ -482,7 +483,7 @@ void IdleProtocol::idleErrorRecovery() const int oneHour = 60*60; _idleRecoveryTimer.stop(); if (connected() && _idleTimer.isActive()) { - qMailLog(IMAP) << "IDLE: IMAP IDLE error recovery was successful. About to check for new mail."; + qMailLog(IMAP) << objectName() << "IDLE: IMAP IDLE error recovery was successful. About to check for new mail."; _idleRetryDelay = InitialIdleRetryDelay; emit idleNewMailNotification(_folder.id()); // Check for new messages arriving while idle connection was down emit idleFlagsChangedNotification(_folder.id()); @@ -621,7 +622,7 @@ void ImapClient::checkCommandResponse(ImapCommand command, OperationStatus statu case IMAP_UIDStore: { // Couldn't set a flag, ignore as we can stil continue - qMailLog(IMAP) << "could not store message flag"; + qMailLog(IMAP) << _protocol.objectName() << "could not store message flag"; break; } @@ -1665,8 +1666,10 @@ void ImapClient::monitor(const QMailFolderIdList &mailboxIds) void ImapClient::idleOpenRequested(IdleProtocol *idleProtocol) { if (_protocol.inUse()) { // Setting up new idle connection may be in progress - qMailLog(IMAP) << "IDLE: IMAP IDLE error recovery detected that the primary connection is " - "busy. Retrying to establish IDLE state in" << idleProtocol->idleRetryDelay()/2 << "seconds."; + qMailLog(IMAP) << _protocol.objectName() + << "IDLE: IMAP IDLE error recovery detected that the primary connection is " + "busy. Retrying to establish IDLE state in" + << idleProtocol->idleRetryDelay()/2 << "seconds."; return; } _protocol.close(); @@ -1677,7 +1680,8 @@ void ImapClient::idleOpenRequested(IdleProtocol *idleProtocol) delete protocol; } _idlesEstablished = false; - qMailLog(IMAP) << "IDLE: IMAP IDLE error recovery trying to establish IDLE state now."; + qMailLog(IMAP) << _protocol.objectName() + << "IDLE: IMAP IDLE error recovery trying to establish IDLE state now."; emit restartPushEmail(); } diff --git a/src/plugins/messageservices/imap/imapprotocol.cpp b/src/plugins/messageservices/imap/imapprotocol.cpp index 58a21c02..e7b4cf0b 100644 --- a/src/plugins/messageservices/imap/imapprotocol.cpp +++ b/src/plugins/messageservices/imap/imapprotocol.cpp @@ -2901,6 +2901,7 @@ bool ImapProtocol::open( const ImapConfiguration& config ) this, SLOT(incomingData())); } + qMailLog(IMAP) << objectName() << "About to open connection" << config.mailUserName() << config.mailServer(); // useful to see object name _transport->open( config.mailServer(), config.mailPort(), static_cast<QMailTransport::EncryptType>(config.mailEncryption()) ); return true; diff --git a/src/plugins/messageservices/imap/imapstrategy.cpp b/src/plugins/messageservices/imap/imapstrategy.cpp index b7108fca..e8b7672d 100644 --- a/src/plugins/messageservices/imap/imapstrategy.cpp +++ b/src/plugins/messageservices/imap/imapstrategy.cpp @@ -139,7 +139,8 @@ bool purge(ImapStrategyContextBase *context, const QMailMessageKey &removedKey) // We might have a deletion record for this UID vanishedIds << uid; } - if (!QMailStore::instance()->purgeMessageRemovalRecords(context->config().id(), vanishedIds)) { + if (!vanishedIds.isEmpty() && // guard to protect against deleting all removal records when vanishedIds is empty! + !QMailStore::instance()->purgeMessageRemovalRecords(context->config().id(), vanishedIds)) { result = false; qWarning() << "Unable to purge message records for account:" << context->config().id(); } |