diff --git a/kmcommands.cpp b/kmcommands.cpp index 1e00b2269..41627bebd 100644 --- a/kmcommands.cpp +++ b/kmcommands.cpp @@ -1503,7 +1503,7 @@ KMCommand::Result KMRedirectCommand::execute() if ( !msg ) return Failed; - KMime::Message *newMsg = KMail::MessageHelper::createRedirect( &*msg, dlg->to() ); + KMime::Message *newMsg = KMail::MessageHelper::createRedirect( item, &*msg, dlg->to() ); KMFilterAction::sendMDN( &*msg, KMime::MDN::Dispatched ); const KMail::MessageSender::SendMethod method = dlg->sendImmediate() diff --git a/kmfilteraction.cpp b/kmfilteraction.cpp index c8bb5649d..7c9649dce 100644 --- a/kmfilteraction.cpp +++ b/kmfilteraction.cpp @@ -1774,11 +1774,13 @@ KMFilterAction::ReturnCode KMFilterActionRedirect::process(KMime::Message* aMsg) KMime::Message* msg; if ( mParameter.isEmpty() ) return ErrorButGoOn; - +#if 0 msg = KMail::MessageHelper::createRedirect( aMsg, mParameter ); sendMDN( aMsg, KMime::MDN::Dispatched ); - +#else + kDebug() << "AKONADI PORT: Disabled code in " << Q_FUNC_INFO; +#endif if ( !kmkernel->msgSender()->send( msg, KMail::MessageSender::SendLater ) ) { kDebug() << "KMFilterAction: could not redirect message (sending failed)"; return ErrorButGoOn; // error: couldn't send diff --git a/messagehelper.cpp b/messagehelper.cpp index aa7c3812a..745810dbc 100644 --- a/messagehelper.cpp +++ b/messagehelper.cpp @@ -795,7 +795,7 @@ KMime::Message * createResend( KMime::Message *origMsg ) return msg; } -KMime::Message* createRedirect( KMime::Message *origMsg, const QString &toStr ) +KMime::Message* createRedirect( const Akonadi::Item & item, KMime::Message *origMsg, const QString &toStr ) { // copy the message 1:1 KMime::Message* msg = new KMime::Message; @@ -841,11 +841,7 @@ KMime::Message* createRedirect( KMime::Message *origMsg, const QString &toStr ) header = new KMime::Headers::Generic( "X-KMail-Recipients", msg, toStr, "utf-8" ); msg->setHeader( header ); -#if 0 //TODO port to akonadi - msg->link( this, MessageStatus::statusForwarded() ); -#else - kDebug() << "AKONADI PORT: Disabled code in " << Q_FUNC_INFO; -#endif + link( msg, item, KPIM::MessageStatus::statusForwarded() ); return msg; } diff --git a/messagehelper.h b/messagehelper.h index b8e60d56a..7b1c2c2b7 100644 --- a/messagehelper.h +++ b/messagehelper.h @@ -101,7 +101,7 @@ namespace MessageHelper { user, mail is not changed and the reply-to field is set to the email address of the original sender */ - KMime::Message* createRedirect( KMime::Message *origMsg, const QString &toStr ); + KMime::Message* createRedirect( const Akonadi::Item &, KMime::Message *origMsg, const QString &toStr ); KMime::Message* createResend( KMime::Message *origMsg );