summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDon Sanders <don.sanders@nokia.com>2010-10-09 23:54:36 +1000
committerDon Sanders <don.sanders@nokia.com>2010-10-09 23:54:36 +1000
commita4793f043c93769aa556386dd54a8afe62a4c32e (patch)
tree32feb8b8379d8cfb7a9c716d180d4f82276370f7
parentb2a3b87ee600b85a8078d7ea464645b27b8c65d0 (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.ui2
-rw-r--r--src/plugins/messageservices/imap/imapstrategy.cpp7
-rw-r--r--src/plugins/messageservices/pop/popsettings.ui2
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>