summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/mail/libmailwrapper/mboxwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/mboxwrapper.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
index 0aa33dd..540a971 100644
--- a/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/mboxwrapper.cpp
@@ -256,48 +256,69 @@ int MBOXwrapper::deleteAllMail(const Folder*tfolder)
Global::statusMessage(tr("Error initializing mbox"));
res = 0;
}
if (res) {
folder = mailfolder_new( storage,(char*)p.latin1(),NULL);
r = mailfolder_connect(folder);
if (r != MAIL_NO_ERROR) {
Global::statusMessage(tr("Error initializing mbox"));
res = 0;
}
}
if (res) {
r = mailsession_get_messages_list(folder->fld_session,&l);
if (r != MAIL_NO_ERROR) {
qDebug("Error message list");
res=0;
}
}
for(unsigned int i = 0 ; l!= 0 && res==1 && i < carray_count(l->msg_tab) ; ++i) {
r = mailsession_remove_message(folder->fld_session,i+1);
if (r != MAIL_NO_ERROR) {
Global::statusMessage(tr("Error deleting mail %1").arg(i+1));
res = 0;
break;
}
}
if (l) mailmessage_list_free(l);
if (folder) mailfolder_free(folder);
if (storage) mailstorage_free(storage);
return res;
}
int MBOXwrapper::deleteMbox(const Folder*tfolder)
{
if (!tfolder) return 0;
QString p = MBOXPath+tfolder->getDisplayName();
QFile fi(p);
if (!fi.exists()) {
Global::statusMessage(tr("Mailbox doesn't exist."));
return 0;
}
if (!fi.remove()) {
Global::statusMessage(tr("Error deleting Mailbox."));
return 0;
}
return 1;
}
+void MBOXwrapper::statusFolder(folderStat&target_stat,const QString & mailbox)
+{
+ mailfolder*folder = 0;
+ mailstorage*storage = mailstorage_new(NULL);
+ target_stat.message_count = 0;
+ target_stat.message_unseen = 0;
+ target_stat.message_recent = 0;
+ QString p = MBOXPath+"/"+mailbox;
+ QFile fi(p);
+ if (!fi.exists()) {
+ Global::statusMessage(tr("Mailbox doesn't exist."));
+ return;
+ }
+ int r = mbox_mailstorage_init(storage,(char*)p.latin1(),0,0,0);
+ folder = mailfolder_new( storage,(char*)p.latin1(),NULL);
+ r = mailfolder_connect(folder);
+ r = mailsession_status_folder(folder->fld_session,(char*)mailbox.latin1(),&target_stat.message_count,
+ &target_stat.message_recent,&target_stat.message_unseen);
+ if (folder) mailfolder_free(folder);
+ if (storage) mailstorage_free(storage);
+}