From c8d0dd53a75b7142a5ce924e4afbea77b86e56b0 Mon Sep 17 00:00:00 2001 From: alwin Date: Mon, 05 Jan 2004 22:21:41 +0000 Subject: bugfix in imapwrapper storemail for all possible mail-accounts raw body fetch in all wrappers unified public interface dialog for selecting a target mailbox started --- (limited to 'noncore/net/mail/accountview.cpp') diff --git a/noncore/net/mail/accountview.cpp b/noncore/net/mail/accountview.cpp index 77fa706..faa6982 100644 --- a/noncore/net/mail/accountview.cpp +++ b/noncore/net/mail/accountview.cpp @@ -3,6 +3,7 @@ #include #include "defines.h" #include "newmaildir.h" +#include "selectstore.h" #include #include @@ -90,20 +91,33 @@ QPopupMenu * POP3folderItem::getContextMenu() if (m) { m->insertItem(QObject::tr("Refresh header list",contextName),0); m->insertItem(QObject::tr("Delete all mails",contextName),1); + m->insertItem(QObject::tr("Download all mails",contextName),2); } return m; } +void POP3folderItem::downloadMails() +{ + Selectstore sels; + sels.showMaximized(); + sels.exec(); +} + void POP3folderItem::contextMenuSelected(int which) { AccountView * view = (AccountView*)listView(); switch (which) { case 0: + /* must be 'cause pop3 lists are cached */ + pop3->getWrapper()->logout(); view->refreshCurrent(); break; case 1: deleteAllMail(pop3->getWrapper(),folder); break; + case 2: + downloadMails(); + break; default: break; } @@ -158,11 +172,8 @@ void IMAPviewItem::refresh(QList&) refreshFolders(false); } -void IMAPviewItem::refreshFolders(bool force) +void IMAPviewItem::removeChilds() { - if (childCount()>0 && force==false) return; - QList *folders = wrapper->listFolders(); - QListViewItem *child = firstChild(); while ( child ) { QListViewItem *tmp = child; @@ -170,6 +181,16 @@ void IMAPviewItem::refreshFolders(bool force) delete tmp; } +} + +void IMAPviewItem::refreshFolders(bool force) +{ + if (childCount()>0 && force==false) return; + + removeChilds(); + + QList *folders = wrapper->listFolders(); + Folder *it; QListViewItem*item = 0; QListViewItem*titem = 0; @@ -246,6 +267,10 @@ void IMAPviewItem::contextMenuSelected(int id) case 1: createNewFolder(); break; + case 2: + removeChilds(); + wrapper->logout(); + break; default: break; } -- cgit v0.9.0.2