diff options
author | Don Sanders <don.sanders@nokia.com> | 2012-03-23 14:32:33 +0200 |
---|---|---|
committer | Don Sanders <don.sanders@nokia.com> | 2012-03-23 15:37:09 +0200 |
commit | 8dac4e44f63d810251f4e68f79f45450b01de73d (patch) | |
tree | 61870c9cf5a78b0919fe3c07dda5acbcc9a94391 | |
parent | 544658f9c533a7aaa354765d783cc214d5735467 (diff) |
Use QAlignedTimer with a 1 min interval for sending imap idle done
When available requires Qt5.
-rw-r--r-- | src/plugins/messageservices/imap/imap.pro | 2 | ||||
-rw-r--r-- | src/plugins/messageservices/imap/imapclient.cpp | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/plugins/messageservices/imap/imap.pro b/src/plugins/messageservices/imap/imap.pro index 627fe439..7dbd8e83 100644 --- a/src/plugins/messageservices/imap/imap.pro +++ b/src/plugins/messageservices/imap/imap.pro @@ -4,7 +4,7 @@ CONFIG += qmfmessageserver qmfclient plugin target.path += $$QMF_INSTALL_ROOT/lib/qmf/plugins/messageservices -QT += core network +QT += core network alignedtimer QT += widgets DEPENDPATH += . diff --git a/src/plugins/messageservices/imap/imapclient.cpp b/src/plugins/messageservices/imap/imapclient.cpp index 03c8f752..e334a67a 100644 --- a/src/plugins/messageservices/imap/imapclient.cpp +++ b/src/plugins/messageservices/imap/imapclient.cpp @@ -53,6 +53,11 @@ #include <QFile> #include <QDir> +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) +#include <QAlignedTimer> +using namespace QtAlignedTimer; +#endif + #ifdef QT_QMF_HAVE_ZLIB #define QMFALLOWCOMPRESS 1 #else @@ -317,7 +322,11 @@ protected: QMailFolder _folder; private: +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) + QAlignedTimer _idleTimer; // Send a DONE command every 29 minutes +#else QTimer _idleTimer; // Send a DONE command every 29 minutes +#endif QTimer _idleRecoveryTimer; // Check command hasn't hung int _idleRetryDelay; // Try to restablish IDLE state enum IdleRetryDelay { InitialIdleRetryDelay = 30 }; //seconds @@ -360,7 +369,13 @@ void IdleProtocol::idleContinuation(ImapCommand command, const QString &type) qMailLog(IMAP) << objectName() << "IDLE: Idle connection established."; // We are now idling +#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) + _idleTimer.setMinimumInterval(idleTimeout - 60*1000); + _idleTimer.setMaximumInterval(idleTimeout); + _idleTimer.start(); +#else _idleTimer.start(idleTimeout); +#endif _idleRecoveryTimer.stop(); handleIdling(); |