summaryrefslogtreecommitdiff
path: root/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
authoralwin <alwin>2003-12-28 12:57:44 (UTC)
committer alwin <alwin>2003-12-28 12:57:44 (UTC)
commitb41e3eb92eab8bf61fd20db70d0317c816b1c2f0 (patch) (side-by-side diff)
tree5795854d7de75edc4385edc6ee7389809f98f4e1 /noncore/net/mail/libmailwrapper/pop3wrapper.cpp
parentb834b22bade330b2d684c59b7fc1031a8bf650c5 (diff)
downloadopie-b41e3eb92eab8bf61fd20db70d0317c816b1c2f0.zip
opie-b41e3eb92eab8bf61fd20db70d0317c816b1c2f0.tar.gz
opie-b41e3eb92eab8bf61fd20db70d0317c816b1c2f0.tar.bz2
basic folder handling for pop3 accounts
some code dups reduced
Diffstat (limited to 'noncore/net/mail/libmailwrapper/pop3wrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/libmailwrapper/pop3wrapper.cpp31
1 files changed, 27 insertions, 4 deletions
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
index b85fbf6..2e70dee 100644
--- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
+++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp
@@ -206,9 +206,6 @@ void POP3wrapper::logout()
QList<Folder>* POP3wrapper::listFolders()
{
- /* TODO: integrate MH directories
- but not before version 0.1 ;)
- */
QList<Folder> * folders = new QList<Folder>();
folders->setAutoDelete( false );
Folder*inb=new Folder("INBOX","/");
@@ -222,10 +219,36 @@ void POP3wrapper::deleteMail(const RecMail&mail)
if (!m_pop3) return;
int err = mailpop3_dele(m_pop3,mail.getNumber());
if (err != MAILPOP3_NO_ERROR) {
- qDebug("error deleting mail");
+ Global::statusMessage(tr("error deleting mail"));
}
}
void POP3wrapper::answeredMail(const RecMail&)
{
}
+
+int POP3wrapper::deleteAllMail(const Folder*)
+{
+ login();
+ if (!m_pop3) return 0;
+ carray * messages = 0;
+
+ /* if connected this info is cached! */
+ int err = 0;
+ mailpop3_list( m_pop3, &messages );
+
+ int res = 1;
+ for (unsigned int i = 0; messages!=0 && i < carray_count(messages);++i) {
+ mailpop3_msg_info *info;
+ err = mailpop3_get_msg_info(m_pop3,i+1,&info);
+ if (info->msg_deleted)
+ continue;
+ err = mailpop3_dele(m_pop3,i+1);
+ if (err != MAILPOP3_NO_ERROR) {
+ Global::statusMessage(tr("Error deleting mail %1").arg(i+1));
+ res = 0;
+ break;
+ }
+ }
+ return res;
+}