summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/imapwrapper.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/libmailwrapper/imapwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/imapwrapper.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/noncore/net/mail/libmailwrapper/imapwrapper.cpp b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
index 98634a3..4b633ea 100644
--- a/noncore/net/mail/libmailwrapper/imapwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/imapwrapper.cpp
@@ -1056,3 +1056,33 @@ void IMAPwrapper::mvcpAllMails(Folder*fromFolder,const QString&targetFolder,Abst
1056 deleteAllMail(fromFolder); 1056 deleteAllMail(fromFolder);
1057 } 1057 }
1058} 1058}
1059
1060void IMAPwrapper::mvcpMail(const RecMail&mail,const QString&targetFolder,AbstractMail*targetWrapper,bool moveit)
1061{
1062 if (targetWrapper != this) {
1063 qDebug("Using generic");
1064 AbstractMail::mvcpMail(mail,targetFolder,targetWrapper,moveit);
1065 return;
1066 }
1067 mailimap_set *set = 0;
1068 login();
1069 if (!m_imap) {
1070 return;
1071 }
1072 int err = selectMbox(mail.getMbox());
1073 if ( err != MAILIMAP_NO_ERROR ) {
1074 return;
1075 }
1076 set = mailimap_set_new_single(mail.getNumber());
1077 err = mailimap_copy(m_imap,set,targetFolder.latin1());
1078 mailimap_set_free( set );
1079 if ( err != MAILIMAP_NO_ERROR ) {
1080 QString error_msg = tr("error copy mail: %1").arg(m_imap->imap_response);
1081 Global::statusMessage(error_msg);
1082 qDebug(error_msg);
1083 return;
1084 }
1085 if (moveit) {
1086 deleteMail(mail);
1087 }
1088}