From 7e22b0aba2a3fe296ded6e292e7b0e947cfaef19 Mon Sep 17 00:00:00 2001 From: Till Adam Date: Fri, 17 Jun 2005 09:22:58 +0000 Subject: [PATCH] Backport of status setting fix from trunk. If the status of single mails was changed locally, but nothing else, the "status changed locally" flag was not set, and the status changes thus lost on sync. svn path=/branches/kdepim/proko2/kdepim/; revision=426420 --- kmfoldercachedimap.cpp | 7 ++++++- kmfoldercachedimap.h | 3 ++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/kmfoldercachedimap.cpp b/kmfoldercachedimap.cpp index 43d2fa294..26e12a8be 100644 --- a/kmfoldercachedimap.cpp +++ b/kmfoldercachedimap.cpp @@ -1121,11 +1121,16 @@ void KMFolderCachedImap::slotImapStatusChanged(KMFolder* folder, const QString&, } } + // This is not perfect, what if the status didn't really change? Oh well ... +void KMFolderCachedImap::setStatus( int id, KMMsgStatus status, bool toggle ) +{ + KMFolderMaildir::setStatus(id, status, toggle); + mStatusChangedLocally = true; +} void KMFolderCachedImap::setStatus(QValueList& ids, KMMsgStatus status, bool toggle) { KMFolderMaildir::setStatus(ids, status, toggle); - // This is not perfect, what if the status didn't really change? Oh well ... mStatusChangedLocally = true; } diff --git a/kmfoldercachedimap.h b/kmfoldercachedimap.h index 3fb11adb6..5a16e8e3a 100644 --- a/kmfoldercachedimap.h +++ b/kmfoldercachedimap.h @@ -216,7 +216,8 @@ public: void setACLList( const ACLList& arr ); // Reimplemented so the mStatusChangedLocally bool can be set - virtual void setStatus(QValueList& ids, KMMsgStatus status, bool toggle); + virtual void setStatus( int id, KMMsgStatus status, bool toggle ); + virtual void setStatus( QValueList& ids, KMMsgStatus status, bool toggle ); QString annotationFolderType() const { return mAnnotationFolderType; }