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
wilder-work
Till Adam 21 years ago
parent a6e7f2b743
commit 7e22b0aba2
  1. 7
      kmfoldercachedimap.cpp
  2. 3
      kmfoldercachedimap.h

@ -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<int>& 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;
}

@ -216,7 +216,8 @@ public:
void setACLList( const ACLList& arr );
// Reimplemented so the mStatusChangedLocally bool can be set
virtual void setStatus(QValueList<int>& ids, KMMsgStatus status, bool toggle);
virtual void setStatus( int id, KMMsgStatus status, bool toggle );
virtual void setStatus( QValueList<int>& ids, KMMsgStatus status, bool toggle );
QString annotationFolderType() const { return mAnnotationFolderType; }

Loading…
Cancel
Save