68 #include <popcmtm.h> // CPop3ClientMtm |
68 #include <popcmtm.h> // CPop3ClientMtm |
69 #include <cemailaccounts.h> //CEmailAccounts |
69 #include <cemailaccounts.h> //CEmailAccounts |
70 #include <msvfind.h> // CMsvFindOperation |
70 #include <msvfind.h> // CMsvFindOperation |
71 #include <mtmdef.h> // TMsvPartList |
71 #include <mtmdef.h> // TMsvPartList |
72 #include <utf.h> // CnvUtfConverter |
72 #include <utf.h> // CnvUtfConverter |
73 #include <MMsvAttachmentManager.h> |
73 #include <mmsvattachmentmanager.h> |
74 #include <CMsvMimeHeaders.h> // Attachemt mimeheader |
74 #include <cmsvmimeheaders.h> // Attachemt mimeheader |
75 #include <eikenv.h> |
75 #include <eikenv.h> |
76 #include <smut.h> |
76 #include <smut.h> |
77 #include <smuthdr.h> |
77 #include <smuthdr.h> |
78 #include <mtuireg.h> // CMtmUiRegistry |
78 #include <mtuireg.h> // CMtmUiRegistry |
79 #include <mtmuibas.h> // CBaseMtmUi |
79 #include <mtmuibas.h> // CBaseMtmUi |
80 #include <senduiconsts.h> |
80 #include <SendUiConsts.h> |
81 #include <SendUi.h> // SendUi API |
81 #include <sendui.h> // SendUi API |
82 #include <cmessagedata.h> //CMessageData |
82 #include <CMessageData.h> //CMessageData |
83 #include <APGCLI.H> |
83 #include <apgcli.h> |
84 #include <rsendas.h> |
84 #include <rsendas.h> |
85 #include <rsendasmessage.h> |
85 #include <rsendasmessage.h> |
86 #include <cmsvrecipientlist.h> |
86 #include <cmsvrecipientlist.h> |
87 #include <imapset.h> |
87 #include <imapset.h> |
88 #include <MIUTMSG.H> |
88 #include <miutmsg.h> |
89 #include <charconv.h> |
89 #include <charconv.h> |
90 #include <imcvtext.h> // KImcvMultipart declaration |
90 #include <imcvtext.h> // KImcvMultipart declaration |
91 |
91 |
92 #include <QTextCodec> |
92 #include <QTextCodec> |
93 |
93 |
772 // Add receivers |
772 // Add receivers |
773 QList<QMessageAddress> list(message.to()); |
773 QList<QMessageAddress> list(message.to()); |
774 TPtrC16 receiver(KNullDesC); |
774 TPtrC16 receiver(KNullDesC); |
775 QString qreceiver; |
775 QString qreceiver; |
776 for (int i = 0; i < list.size(); ++i) { |
776 for (int i = 0; i < list.size(); ++i) { |
777 qreceiver = list.at(i).recipient(); |
777 qreceiver = list.at(i).addressee(); |
778 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
778 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
779 messageData->AppendToAddressL(receiver, KNullDesC); |
779 messageData->AppendToAddressL(receiver, KNullDesC); |
780 } |
780 } |
781 // Set Body text |
781 // Set Body text |
782 QString body = message.textContent(); |
782 QString body = message.textContent(); |
807 // Add receivers |
807 // Add receivers |
808 QList<QMessageAddress> list(message.to()); |
808 QList<QMessageAddress> list(message.to()); |
809 TPtrC16 receiver(KNullDesC); |
809 TPtrC16 receiver(KNullDesC); |
810 QString qreceiver; |
810 QString qreceiver; |
811 for (int i = 0; i < list.size(); ++i) { |
811 for (int i = 0; i < list.size(); ++i) { |
812 qreceiver = list.at(i).recipient(); |
812 qreceiver = list.at(i).addressee(); |
813 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
813 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
814 messageData->AppendToAddressL(receiver, KNullDesC); |
814 messageData->AppendToAddressL(receiver, KNullDesC); |
815 } |
815 } |
816 |
816 |
817 // Set Subject |
817 // Set Subject |
876 // Add receivers |
876 // Add receivers |
877 QList<QMessageAddress> list(message.to()); |
877 QList<QMessageAddress> list(message.to()); |
878 TPtrC16 receiver(KNullDesC); |
878 TPtrC16 receiver(KNullDesC); |
879 QString qreceiver; |
879 QString qreceiver; |
880 for (int i = 0; i < list.size(); ++i) { |
880 for (int i = 0; i < list.size(); ++i) { |
881 qreceiver = list.at(i).recipient(); |
881 qreceiver = list.at(i).addressee(); |
882 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
882 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
883 messageData->AppendToAddressL(receiver, KNullDesC); |
883 messageData->AppendToAddressL(receiver, KNullDesC); |
884 } |
884 } |
885 //cc |
885 //cc |
886 QList<QMessageAddress> ccList(message.cc()); |
886 QList<QMessageAddress> ccList(message.cc()); |
887 TPtrC16 ccReceiver(KNullDesC); |
887 TPtrC16 ccReceiver(KNullDesC); |
888 QString ccQreceiver; |
888 QString ccQreceiver; |
889 for (int i = 0; i < ccList.size(); ++i) { |
889 for (int i = 0; i < ccList.size(); ++i) { |
890 ccQreceiver = ccList.at(i).recipient(); |
890 ccQreceiver = ccList.at(i).addressee(); |
891 ccReceiver.Set(reinterpret_cast<const TUint16*>(ccQreceiver.utf16())); |
891 ccReceiver.Set(reinterpret_cast<const TUint16*>(ccQreceiver.utf16())); |
892 messageData->AppendCcAddressL(ccReceiver, KNullDesC); |
892 messageData->AppendCcAddressL(ccReceiver, KNullDesC); |
893 } |
893 } |
894 //bcc |
894 //bcc |
895 QList<QMessageAddress> bccList(message.bcc()); |
895 QList<QMessageAddress> bccList(message.bcc()); |
896 TPtrC16 bccReceiver(KNullDesC); |
896 TPtrC16 bccReceiver(KNullDesC); |
897 QString bccQreceiver; |
897 QString bccQreceiver; |
898 for (int i = 0; i < bccList.size(); ++i) { |
898 for (int i = 0; i < bccList.size(); ++i) { |
899 bccQreceiver = bccList.at(i).recipient(); |
899 bccQreceiver = bccList.at(i).addressee(); |
900 bccReceiver.Set(reinterpret_cast<const TUint16*>(bccQreceiver.utf16())); |
900 bccReceiver.Set(reinterpret_cast<const TUint16*>(bccQreceiver.utf16())); |
901 messageData->AppendBccAddressL(bccReceiver, KNullDesC); |
901 messageData->AppendBccAddressL(bccReceiver, KNullDesC); |
902 } |
902 } |
903 |
903 |
904 // Set Subject |
904 // Set Subject |
2458 QList<QMessageAddress> list(message.to()); |
2458 QList<QMessageAddress> list(message.to()); |
2459 if (!list.empty()){ |
2459 if (!list.empty()){ |
2460 TPtrC16 receiver(KNullDesC); |
2460 TPtrC16 receiver(KNullDesC); |
2461 QString qreceiver; |
2461 QString qreceiver; |
2462 for (int i = 0; i < list.size(); ++i) { |
2462 for (int i = 0; i < list.size(); ++i) { |
2463 qreceiver = list.at(i).recipient(); |
2463 qreceiver = list.at(i).addressee(); |
2464 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
2464 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
2465 ipSmsMtm->AddAddresseeL(receiver); |
2465 ipSmsMtm->AddAddresseeL(receiver); |
2466 ipSmsMtm->SaveMessageL(); |
2466 ipSmsMtm->SaveMessageL(); |
2467 } |
2467 } |
2468 } |
2468 } |
2580 // Add receivers |
2580 // Add receivers |
2581 QList<QMessageAddress> list(message.to()); |
2581 QList<QMessageAddress> list(message.to()); |
2582 TPtrC16 receiver(KNullDesC); |
2582 TPtrC16 receiver(KNullDesC); |
2583 QString qreceiver; |
2583 QString qreceiver; |
2584 for (int i = 0; i < list.size(); ++i) { |
2584 for (int i = 0; i < list.size(); ++i) { |
2585 qreceiver = list.at(i).recipient(); |
2585 qreceiver = list.at(i).addressee(); |
2586 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
2586 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
2587 ipMmsMtm->AddAddresseeL(receiver); |
2587 ipMmsMtm->AddAddresseeL(receiver); |
2588 } |
2588 } |
2589 |
2589 |
2590 // Set Subject |
2590 // Set Subject |
2799 QList<QMessageAddress> list(message.to()); |
2799 QList<QMessageAddress> list(message.to()); |
2800 if (!list.empty()){ |
2800 if (!list.empty()){ |
2801 TPtrC16 receiver(KNullDesC); |
2801 TPtrC16 receiver(KNullDesC); |
2802 QString qreceiver; |
2802 QString qreceiver; |
2803 for (int i = 0; i < list.size(); ++i) { |
2803 for (int i = 0; i < list.size(); ++i) { |
2804 qreceiver = list.at(i).recipient(); |
2804 qreceiver = list.at(i).addressee(); |
2805 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
2805 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
2806 ipSmsMtm->AddAddresseeL(receiver); |
2806 ipSmsMtm->AddAddresseeL(receiver); |
2807 ipSmsMtm->SaveMessageL(); |
2807 ipSmsMtm->SaveMessageL(); |
2808 } |
2808 } |
2809 } |
2809 } |
2860 QList<QMessageAddress> list(message.to()); |
2860 QList<QMessageAddress> list(message.to()); |
2861 if (!list.empty()){ |
2861 if (!list.empty()){ |
2862 TPtrC16 receiver(KNullDesC); |
2862 TPtrC16 receiver(KNullDesC); |
2863 QString qreceiver; |
2863 QString qreceiver; |
2864 for (int i = 0; i < list.size(); ++i) { |
2864 for (int i = 0; i < list.size(); ++i) { |
2865 qreceiver = list.at(i).recipient(); |
2865 qreceiver = list.at(i).addressee(); |
2866 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
2866 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
2867 ipMmsMtm->AddAddresseeL(receiver); |
2867 ipMmsMtm->AddAddresseeL(receiver); |
2868 } |
2868 } |
2869 } |
2869 } |
2870 |
2870 |
3083 msvEntry.SetUnread(true); |
3083 msvEntry.SetUnread(true); |
3084 msvEntry.SetNew(true); |
3084 msvEntry.SetNew(true); |
3085 } |
3085 } |
3086 |
3086 |
3087 msvEntry.iDescription.Set(TPtrC(reinterpret_cast<const TUint16*>(message.subject().utf16()))); |
3087 msvEntry.iDescription.Set(TPtrC(reinterpret_cast<const TUint16*>(message.subject().utf16()))); |
3088 msvEntry.iDetails.Set(TPtrC(reinterpret_cast<const TUint16*>(message.from().recipient().utf16()))); |
3088 msvEntry.iDetails.Set(TPtrC(reinterpret_cast<const TUint16*>(message.from().addressee().utf16()))); |
3089 |
3089 |
3090 if (mtmUid == KUidMsgTypeSMTP) { |
3090 if (mtmUid == KUidMsgTypeSMTP) { |
3091 ipSmtpMtm->Entry().ChangeL(msvEntry); |
3091 ipSmtpMtm->Entry().ChangeL(msvEntry); |
3092 } else { |
3092 } else { |
3093 CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC(); |
3093 CMsvOperationWait* pMsvOperationWait = CMsvOperationWait::NewLC(); |
3231 QList<QMessageAddress> toList(message.to()); |
3231 QList<QMessageAddress> toList(message.to()); |
3232 if (toList.count() > 0){ |
3232 if (toList.count() > 0){ |
3233 TPtrC16 receiver(KNullDesC); |
3233 TPtrC16 receiver(KNullDesC); |
3234 QString qreceiver; |
3234 QString qreceiver; |
3235 for (int i = 0; i < toList.size(); ++i) { |
3235 for (int i = 0; i < toList.size(); ++i) { |
3236 qreceiver = toList.at(i).recipient(); |
3236 qreceiver = toList.at(i).addressee(); |
3237 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3237 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3238 emailEntry->ToRecipients().AppendL(receiver); |
3238 emailEntry->ToRecipients().AppendL(receiver); |
3239 } |
3239 } |
3240 } |
3240 } |
3241 |
3241 |
3242 QList<QMessageAddress> ccList(message.cc()); |
3242 QList<QMessageAddress> ccList(message.cc()); |
3243 if (ccList.count() > 0){ |
3243 if (ccList.count() > 0){ |
3244 TPtrC16 receiver(KNullDesC); |
3244 TPtrC16 receiver(KNullDesC); |
3245 QString qreceiver; |
3245 QString qreceiver; |
3246 for (int i = 0; i < ccList.size(); ++i) { |
3246 for (int i = 0; i < ccList.size(); ++i) { |
3247 qreceiver = ccList.at(i).recipient(); |
3247 qreceiver = ccList.at(i).addressee(); |
3248 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3248 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3249 emailEntry->CcRecipients().AppendL(receiver); |
3249 emailEntry->CcRecipients().AppendL(receiver); |
3250 } |
3250 } |
3251 } |
3251 } |
3252 |
3252 |
3253 QList<QMessageAddress> bccList(message.bcc()); |
3253 QList<QMessageAddress> bccList(message.bcc()); |
3254 if (bccList.count() > 0){ |
3254 if (bccList.count() > 0){ |
3255 TPtrC16 receiver(KNullDesC); |
3255 TPtrC16 receiver(KNullDesC); |
3256 QString qreceiver; |
3256 QString qreceiver; |
3257 for (int i = 0; i < bccList.size(); ++i) { |
3257 for (int i = 0; i < bccList.size(); ++i) { |
3258 qreceiver = bccList.at(i).recipient(); |
3258 qreceiver = bccList.at(i).addressee(); |
3259 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3259 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3260 emailEntry->BccRecipients().AppendL(receiver); |
3260 emailEntry->BccRecipients().AppendL(receiver); |
3261 } |
3261 } |
3262 } |
3262 } |
3263 |
3263 |
3578 pImMimeHeader->StoreL(*pMsvStore); |
3578 pImMimeHeader->StoreL(*pMsvStore); |
3579 |
3579 |
3580 CImHeader* pImHeader = CImHeader::NewLC(); |
3580 CImHeader* pImHeader = CImHeader::NewLC(); |
3581 pImHeader->RestoreL(*pMsvStore); |
3581 pImHeader->RestoreL(*pMsvStore); |
3582 pImHeader->SetSubjectL(TPtrC(reinterpret_cast<const TUint16*>(message.subject().utf16()))); |
3582 pImHeader->SetSubjectL(TPtrC(reinterpret_cast<const TUint16*>(message.subject().utf16()))); |
3583 pImHeader->SetFromL(TPtrC(reinterpret_cast<const TUint16*>(message.from().recipient().utf16()))); |
3583 pImHeader->SetFromL(TPtrC(reinterpret_cast<const TUint16*>(message.from().addressee().utf16()))); |
3584 |
3584 |
3585 QList<QMessageAddress> toList(message.to()); |
3585 QList<QMessageAddress> toList(message.to()); |
3586 if (toList.count() > 0) { |
3586 if (toList.count() > 0) { |
3587 TPtrC16 receiver(KNullDesC); |
3587 TPtrC16 receiver(KNullDesC); |
3588 QString qreceiver; |
3588 QString qreceiver; |
3589 for (int i = 0; i < toList.size(); ++i) { |
3589 for (int i = 0; i < toList.size(); ++i) { |
3590 qreceiver = toList.at(i).recipient(); |
3590 qreceiver = toList.at(i).addressee(); |
3591 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3591 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3592 pImHeader->ToRecipients().AppendL(receiver); |
3592 pImHeader->ToRecipients().AppendL(receiver); |
3593 } |
3593 } |
3594 } |
3594 } |
3595 |
3595 |
3596 QList<QMessageAddress> ccList(message.cc()); |
3596 QList<QMessageAddress> ccList(message.cc()); |
3597 if (ccList.count() > 0) { |
3597 if (ccList.count() > 0) { |
3598 TPtrC16 receiver(KNullDesC); |
3598 TPtrC16 receiver(KNullDesC); |
3599 QString qreceiver; |
3599 QString qreceiver; |
3600 for (int i = 0; i < ccList.size(); ++i) { |
3600 for (int i = 0; i < ccList.size(); ++i) { |
3601 qreceiver = ccList.at(i).recipient(); |
3601 qreceiver = ccList.at(i).addressee(); |
3602 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3602 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3603 pImHeader->CcRecipients().AppendL(receiver); |
3603 pImHeader->CcRecipients().AppendL(receiver); |
3604 } |
3604 } |
3605 } |
3605 } |
3606 |
3606 |
3607 QList<QMessageAddress> bccList(message.bcc()); |
3607 QList<QMessageAddress> bccList(message.bcc()); |
3608 if (bccList.count() > 0) { |
3608 if (bccList.count() > 0) { |
3609 TPtrC16 receiver(KNullDesC); |
3609 TPtrC16 receiver(KNullDesC); |
3610 QString qreceiver; |
3610 QString qreceiver; |
3611 for (int i = 0; i < bccList.size(); ++i) { |
3611 for (int i = 0; i < bccList.size(); ++i) { |
3612 qreceiver = bccList.at(i).recipient(); |
3612 qreceiver = bccList.at(i).addressee(); |
3613 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3613 receiver.Set(reinterpret_cast<const TUint16*>(qreceiver.utf16())); |
3614 pImHeader->BccRecipients().AppendL(receiver); |
3614 pImHeader->BccRecipients().AppendL(receiver); |
3615 } |
3615 } |
3616 } |
3616 } |
3617 |
3617 |
3624 CleanupStack::PopAndDestroy(pImMimeHeader); |
3624 CleanupStack::PopAndDestroy(pImMimeHeader); |
3625 |
3625 |
3626 TMsvEntry changedEntry = pMsvEntry->Entry(); |
3626 TMsvEntry changedEntry = pMsvEntry->Entry(); |
3627 changedEntry.iDescription.Set(TPtrC(reinterpret_cast<const TUint16*>(message.subject().utf16()))); |
3627 changedEntry.iDescription.Set(TPtrC(reinterpret_cast<const TUint16*>(message.subject().utf16()))); |
3628 if (toList.count() > 0) { |
3628 if (toList.count() > 0) { |
3629 changedEntry.iDetails.Set(TPtrC(reinterpret_cast<const TUint16*>(toList.at(0).recipient().utf16()))); |
3629 changedEntry.iDetails.Set(TPtrC(reinterpret_cast<const TUint16*>(toList.at(0).addressee().utf16()))); |
3630 } |
3630 } |
3631 if (!message.receivedDate().isNull() || !message.date().isNull()) { |
3631 if (!message.receivedDate().isNull() || !message.date().isNull()) { |
3632 // Change the date to given date |
3632 // Change the date to given date |
3633 if (!message.date().isNull()) { |
3633 if (!message.date().isNull()) { |
3634 changedEntry.iDate = qDateTimeToSymbianTTime(message.date()); |
3634 changedEntry.iDate = qDateTimeToSymbianTTime(message.date()); |