diff --git a/imapjob.cpp b/imapjob.cpp index 68dc42f57..1d040995e 100644 --- a/imapjob.cpp +++ b/imapjob.cpp @@ -233,8 +233,10 @@ void ImapJob::slotGetNextMessage() } else if ( mPartSpecifier == "HEADER" ) { path += ";SECTION=HEADER"; } else { - path += ";SECTION=" + mPartSpecifier; + path += ";SECTION=BODY.PEEK[" + mPartSpecifier +"]"; } + } else { + path += ";SECTION=BODY.PEEK"; } url.setPath( path ); // kdDebug(5006) << "ImapJob::slotGetNextMessage - retrieve " << url.path() << endl; diff --git a/kmreaderwin.cpp b/kmreaderwin.cpp index 6588be636..228075786 100644 --- a/kmreaderwin.cpp +++ b/kmreaderwin.cpp @@ -1407,15 +1407,17 @@ void KMReaderWin::slotTouchMessage() { if (message()) { - if (message()->isNew() || message()->isUnread() || message()->isRead()) - message()->setStatus(KMMsgStatusRead); - if ( message()->isNew() || message()->isUnread() ) { + SerNumList serNums; + if (message()->isNew() || message()->isUnread()) { + serNums.append( message()->getMsgSerNum() ); + KMCommand *command = new KMSetStatusCommand( KMMsgStatusRead, serNums ); + command->start(); KMMessage * receipt = message()->createMDN( MDN::ManualAction, - MDN::Displayed, - true /* allow GUI */ ); + MDN::Displayed, + true /* allow GUI */ ); if ( receipt ) - if ( !kmkernel->msgSender()->send( receipt ) ) // send or queue - KMessageBox::error( this, i18n("Couldn't send MDN!") ); + if ( !kmkernel->msgSender()->send( receipt ) ) // send or queue + KMessageBox::error( this, i18n("Couldn't send MDN!") ); } } }