summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/mhwrapper.cpp25
1 files changed, 14 insertions, 11 deletions
diff --git a/noncore/net/mail/libmailwrapper/mhwrapper.cpp b/noncore/net/mail/libmailwrapper/mhwrapper.cpp
index 85f9cf0..5adba55 100644
--- a/noncore/net/mail/libmailwrapper/mhwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mhwrapper.cpp
@@ -67,9 +67,9 @@ void MHwrapper::listMessages(const QString & mailbox, QList<RecMail> &target )
return;
}
QString f = buildPath(mailbox);
- int r = mailsession_select_folder(m_storage->sto_session,(char*)mailbox.latin1());
+ int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
if (r!=MAIL_NO_ERROR) {
- qDebug("error selecting folder!");
+ qDebug("listMessages: error selecting folder!");
return;
}
parseList(target,m_storage->sto_session,f);
@@ -236,18 +236,21 @@ encodedString* MHwrapper::fetchRawBody(const RecMail&mail)
void MHwrapper::deleteMails(const QString & mailbox,QList<RecMail> &target)
{
-#if 0
- QString p = MHPath+"/";
- p+=mailbox;
- mailmbox_folder*f = 0;
- int r = mailmbox_init(p.latin1(),0,1,0,&f);
+ QString f = buildPath(mailbox);
+ int r = mailsession_select_folder(m_storage->sto_session,(char*)f.latin1());
if (r != MAIL_NO_ERROR) {
- qDebug("Error init folder");
+ qDebug("deleteMails: error selecting folder!");
return;
}
- deleteMails(f,target);
- mailmbox_done(f);
-#endif
+ RecMail*c = 0;
+ for (unsigned int i=0; i < target.count();++i) {
+ c = target.at(i);
+ r = mailsession_remove_message(m_storage->sto_session,c->getNumber());
+ if (r != MAIL_NO_ERROR) {
+ qDebug("error deleting mail");
+ break;
+ }
+ }
}
int MHwrapper::deleteAllMail(const Folder*tfolder)