diff options
| author | Don Sanders <don.sanders@nokia.com> | 2010-10-09 23:54:36 +1000 |
|---|---|---|
| committer | Don Sanders <don.sanders@nokia.com> | 2010-10-09 23:54:36 +1000 |
| commit | a4793f043c93769aa556386dd54a8afe62a4c32e (patch) | |
| tree | 32feb8b8379d8cfb7a9c716d180d4f82276370f7 | |
| parent | b2a3b87ee600b85a8078d7ea464645b27b8c65d0 (diff) | |
Allow download limit to be 0 for POP/IMAP account configuration2010W40
useful for testing get headers only functionality.
Make IMAP behave as expected for download limit of 0 e.g.
get headers only.
Make IMAP behave as expected for account with
autoDownload == false, e.g. get entire message.
(POP tested and didn't require changes)
| -rw-r--r-- | src/plugins/messageservices/imap/imapsettings.ui | 2 | ||||
| -rw-r--r-- | src/plugins/messageservices/imap/imapstrategy.cpp | 7 | ||||
| -rw-r--r-- | src/plugins/messageservices/pop/popsettings.ui | 2 |
3 files changed, 8 insertions, 3 deletions
diff --git a/src/plugins/messageservices/imap/imapsettings.ui b/src/plugins/messageservices/imap/imapsettings.ui index 6d42a0ea..6816f91d 100644 --- a/src/plugins/messageservices/imap/imapsettings.ui +++ b/src/plugins/messageservices/imap/imapsettings.ui @@ -248,7 +248,7 @@ <string>K</string> </property> <property name="minimum"> - <number>5</number> + <number>0</number> </property> <property name="maximum"> <number>5000</number> diff --git a/src/plugins/messageservices/imap/imapstrategy.cpp b/src/plugins/messageservices/imap/imapstrategy.cpp index 835f4b22..1f2b948e 100644 --- a/src/plugins/messageservices/imap/imapstrategy.cpp +++ b/src/plugins/messageservices/imap/imapstrategy.cpp @@ -1423,6 +1423,8 @@ void ImapFetchSelectedMessagesStrategy::newConnection(ImapStrategyContextBase *c ImapConfiguration imapCfg(context->config()); if (!imapCfg.isAutoDownload()) { _headerLimit = imapCfg.maxMailSize() * 1024; + } else { + _headerLimit = INT_MAX; } ImapMessageListStrategy::newConnection(context); @@ -2086,6 +2088,9 @@ void ImapSynchronizeBaseStrategy::recursivelyCompleteParts(ImapStrategyContextBa int &partsToRetrieve, int &bytesLeft) { + if (bytesLeft <= 0) + return; + if (partContainer.multipartType() == QMailMessage::MultipartAlternative) { // See if there is a preferred sub-part to retrieve ImapConfiguration imapCfg(context->config()); @@ -2155,7 +2160,7 @@ void ImapSynchronizeBaseStrategy::messageFlushed(ImapStrategyContextBase *contex ImapFolderListStrategy::messageFlushed(context, message); if (_error) return; - if (_transferState == Preview) { + if ((_transferState == Preview) && (_headerLimit > 0)) { if (message.size() < _headerLimit) { _completionList.append(message.id()); } else { diff --git a/src/plugins/messageservices/pop/popsettings.ui b/src/plugins/messageservices/pop/popsettings.ui index 8819ebbf..53c00c71 100644 --- a/src/plugins/messageservices/pop/popsettings.ui +++ b/src/plugins/messageservices/pop/popsettings.ui @@ -314,7 +314,7 @@ <string>K</string> </property> <property name="minimum"> - <number>5</number> + <number>0</number> </property> <property name="maximum"> <number>5000</number> |
