summaryrefslogtreecommitdiff
path: root/noncore/net/mail/accountitem.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/mail/accountitem.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/net/mail/accountitem.cpp133
1 files changed, 75 insertions, 58 deletions
diff --git a/noncore/net/mail/accountitem.cpp b/noncore/net/mail/accountitem.cpp
index c1574fd..4869df8 100644
--- a/noncore/net/mail/accountitem.cpp
+++ b/noncore/net/mail/accountitem.cpp
@@ -87,18 +87,18 @@ QPopupMenu * POP3viewItem::getContextMenu()
{
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
if (!account->getOffline())
{
- m->insertItem(QObject::tr("Disconnect",contextName),0);
- m->insertItem(QObject::tr("Set offline",contextName),1);
+ m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT);
+ m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE);
}
else
{
- m->insertItem(QObject::tr("Set online",contextName),1);
+ m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE);
}
}
return m;
}
void POP3viewItem::disconnect()
@@ -126,16 +126,16 @@ void POP3viewItem::setOnOffline()
}
void POP3viewItem::contextMenuSelected(int which)
{
switch (which)
{
- case 0:
+ case SERVER_MENU_DISCONNECT:
disconnect();
break;
- case 1:
+ case SERVER_MENU_OFFLINE:
setOnOffline();
break;
}
}
POP3folderItem::~POP3folderItem()
@@ -169,15 +169,15 @@ RECBODYP POP3folderItem::fetchBody(const RecMailP&aMail)
QPopupMenu * POP3folderItem::getContextMenu()
{
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
- m->insertItem(QObject::tr("Refresh header list",contextName),0);
- m->insertItem(QObject::tr("Delete all mails",contextName),1);
- m->insertItem(QObject::tr("Move/Copie all mails",contextName),2);
+ m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER);
+ m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS);
+ m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS);
}
return m;
}
void POP3folderItem::downloadMails()
{
@@ -188,21 +188,21 @@ void POP3folderItem::downloadMails()
void POP3folderItem::contextMenuSelected(int which)
{
AccountView * view = (AccountView*)listView();
switch (which)
{
- case 0:
+ case FOLDER_MENU_REFRESH_HEADER:
/* must be 'cause pop3 lists are cached */
pop3->getWrapper()->logout();
view->refreshCurrent();
break;
- case 1:
+ case FOLDER_MENU_DELETE_ALL_MAILS:
deleteAllMail(pop3->getWrapper(),folder);
break;
- case 2:
+ case FOLDER_MENU_MOVE_MAILS:
downloadMails();
break;
default:
break;
}
}
@@ -278,19 +278,19 @@ QPopupMenu * NNTPviewItem::getContextMenu()
{
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
if (!account->getOffline())
{
- m->insertItem(QObject::tr("Disconnect",contextName),0);
- m->insertItem(QObject::tr("Set offline",contextName),1);
- m->insertItem(QObject::tr("(Un-)Subscribe groups",contextName),2);
+ m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT);
+ m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE);
+ m->insertItem(QObject::tr("(Un-)Subscribe groups",contextName),SERVER_MENU_SUBSCRIBE);
}
else
{
- m->insertItem(QObject::tr("Set online",contextName),1);
+ m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE);
}
}
return m;
}
void NNTPviewItem::subscribeGroups()
@@ -327,19 +327,19 @@ void NNTPviewItem::setOnOffline()
}
void NNTPviewItem::contextMenuSelected(int which)
{
switch (which)
{
- case 0:
+ case SERVER_MENU_DISCONNECT:
disconnect();
break;
- case 1:
+ case SERVER_MENU_OFFLINE:
setOnOffline();
break;
- case 2:
+ case SERVER_MENU_SUBSCRIBE:
subscribeGroups();
break;
}
}
NNTPfolderItem::~NNTPfolderItem()
@@ -373,14 +373,14 @@ RECBODYP NNTPfolderItem::fetchBody(const RecMailP&aMail)
QPopupMenu * NNTPfolderItem::getContextMenu()
{
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
- m->insertItem(QObject::tr("Refresh header list",contextName),0);
- m->insertItem(QObject::tr("Copy all postings",contextName),1);
+ m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER);
+ m->insertItem(QObject::tr("Copy all postings",contextName),FOLDER_MENU_MOVE_MAILS);
}
return m;
}
void NNTPfolderItem::downloadMails()
{
@@ -391,18 +391,18 @@ void NNTPfolderItem::downloadMails()
void NNTPfolderItem::contextMenuSelected(int which)
{
AccountView * view = (AccountView*)listView();
switch (which)
{
- case 0:
- /* must be 'cause pop3 lists are cached */
+ case FOLDER_MENU_REFRESH_HEADER:
+ /* must be 'cause nntp lists are cached */
nntp->getWrapper()->logout();
view->refreshCurrent();
break;
- case 1:
+ case FOLDER_MENU_MOVE_MAILS:
downloadMails();
break;
default:
break;
}
}
@@ -495,21 +495,21 @@ QPopupMenu * IMAPviewItem::getContextMenu()
{
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
if (!account->getOffline())
{
- m->insertItem(QObject::tr("Refresh folder list",contextName),0);
- m->insertItem(QObject::tr("Create new folder",contextName),1);
+ m->insertItem(QObject::tr("Disconnect",contextName),SERVER_MENU_DISCONNECT);
+ m->insertItem(QObject::tr("Set offline",contextName),SERVER_MENU_OFFLINE);
m->insertSeparator();
- m->insertItem(QObject::tr("Disconnect",contextName),2);
- m->insertItem(QObject::tr("Set offline",contextName),3);
+ m->insertItem(QObject::tr("Refresh folder list",contextName),SERVER_MENU_REFRESH_FOLDER);
+ m->insertItem(QObject::tr("Create new folder",contextName),SERVER_MENU_CREATE_FOLDER);
}
else
{
- m->insertItem(QObject::tr("Set online",contextName),3);
+ m->insertItem(QObject::tr("Set online",contextName),SERVER_MENU_OFFLINE);
}
}
return m;
}
void IMAPviewItem::createNewFolder()
@@ -534,23 +534,23 @@ void IMAPviewItem::createNewFolder()
void IMAPviewItem::contextMenuSelected(int id)
{
odebug << "Id selected: " << id << "" << oendl;
switch (id)
{
- case 0:
+ case SERVER_MENU_REFRESH_FOLDER:
refreshFolders(true);
break;
- case 1:
+ case SERVER_MENU_CREATE_FOLDER:
createNewFolder();
break;
- case 2:
+ case SERVER_MENU_DISCONNECT:
removeChilds();
wrapper->logout();
break;
- case 3:
+ case SERVER_MENU_OFFLINE:
if (account->getOffline()==false)
{
removeChilds();
wrapper->logout();
}
account->setOffline(!account->getOffline());
@@ -632,23 +632,23 @@ QPopupMenu * IMAPfolderItem::getContextMenu()
{
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
if (folder->may_select())
{
- m->insertItem(QObject::tr("Refresh header list",contextName),0);
- m->insertItem(QObject::tr("Move/Copie all mails",contextName),4);
- m->insertItem(QObject::tr("Delete all mails",contextName),1);
+ m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER);
+ m->insertItem(QObject::tr("Move/Copy all mails",contextName),FOLDER_MENU_MOVE_MAILS);
+ m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS);
}
if (folder->no_inferior()==false)
{
- m->insertItem(QObject::tr("Create new subfolder",contextName),2);
+ m->insertItem(QObject::tr("Create new subfolder",contextName),FOLDER_MENU_NEW_SUBFOLDER);
}
if (folder->getDisplayName().lower()!="inbox")
{
- m->insertItem(QObject::tr("Delete folder",contextName),3);
+ m->insertItem(QObject::tr("Delete folder",contextName),FOLDER_MENU_DELETE_FOLDER);
}
}
return m;
}
void IMAPfolderItem::createNewFolder()
@@ -700,25 +700,29 @@ void IMAPfolderItem::downloadMails()
void IMAPfolderItem::contextMenuSelected(int id)
{
odebug << "Selected id: " << id << "" << oendl;
AccountView * view = (AccountView*)listView();
switch(id)
{
- case 0:
+ case FOLDER_MENU_REFRESH_HEADER:
view->refreshCurrent();
break;
- case 1:
+ case FOLDER_MENU_DELETE_ALL_MAILS:
deleteAllMail(imap->getWrapper(),folder);
break;
- case 2:
+ case FOLDER_MENU_NEW_SUBFOLDER:
+ if (folder->no_inferior()==false) {
createNewFolder();
+ }
break;
- case 3:
+ case FOLDER_MENU_DELETE_FOLDER:
+ if (folder->getDisplayName().lower()!="inbox") {
deleteFolder();
+ }
break;
- case 4:
+ case FOLDER_MENU_MOVE_MAILS:
downloadMails();
break;
default:
break;
}
}
@@ -756,12 +760,13 @@ void MHviewItem::refresh( QValueList<RecMailP> & target)
getWrapper()->listMessages( "",target );
}
void MHviewItem::refresh(bool force)
{
if (childCount()>0 && force==false) return;
+ odebug << "Refresh mh folders" << oendl;
removeChilds();
currentFolders.clear();
QValueList<FolderP> *folders = wrapper->listFolders();
QValueList<FolderP>::ConstIterator it;
MHfolderItem*item = 0;
MHfolderItem*pmaster = 0;
@@ -809,16 +814,16 @@ RECBODYP MHviewItem::fetchBody( const RecMailP &mail )
QPopupMenu * MHviewItem::getContextMenu()
{
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
- m->insertItem(QObject::tr("Refresh folder list",contextName),0);
- m->insertItem(QObject::tr("Create new folder",contextName),1);
- m->insertItem(QObject::tr("Delete all mails",contextName),2);
- m->insertItem(QObject::tr("Move/Copie all mails",contextName),3);
+ m->insertItem(QObject::tr("Refresh folder list",contextName),SERVER_MENU_REFRESH_FOLDER);
+ m->insertItem(QObject::tr("Create new folder",contextName),FOLDER_MENU_NEW_SUBFOLDER);
+ m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS);
+ m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS);
}
return m;
}
void MHviewItem::createFolder()
{
@@ -844,26 +849,32 @@ QStringList MHviewItem::subFolders()
{
return currentFolders;
}
void MHviewItem::contextMenuSelected(int which)
{
+ AccountView*view = 0;
+
switch (which)
{
- case 0:
+ case SERVER_MENU_REFRESH_FOLDER:
refresh(true);
break;
- case 1:
+ case FOLDER_MENU_NEW_SUBFOLDER:
createFolder();
break;
- case 2:
+ case FOLDER_MENU_DELETE_ALL_MAILS:
deleteAllMail(getWrapper(),folder);
break;
- case 3:
+ case FOLDER_MENU_MOVE_MAILS:
downloadMails();
break;
+ case FOLDER_MENU_REFRESH_HEADER:
+ view = (AccountView*)listView();
+ if (view) view->refreshCurrent();
+ break;
default:
break;
}
}
MHfolderItem::~MHfolderItem()
@@ -953,16 +964,17 @@ void MHfolderItem::deleteFolder()
QPopupMenu * MHfolderItem::getContextMenu()
{
QPopupMenu *m = new QPopupMenu(0);
if (m)
{
- m->insertItem(QObject::tr("Move/Copie all mails",contextName),2);
- m->insertItem(QObject::tr("Delete all mails",contextName),0);
- m->insertItem(QObject::tr("Create new subfolder",contextName),3);
- m->insertItem(QObject::tr("Delete folder",contextName),1);
+ m->insertItem(QObject::tr("Create new subfolder",contextName),FOLDER_MENU_NEW_SUBFOLDER);
+ m->insertItem(QObject::tr("Refresh header list",contextName),FOLDER_MENU_REFRESH_HEADER);
+ m->insertItem(QObject::tr("Move/Copie all mails",contextName),FOLDER_MENU_MOVE_MAILS);
+ m->insertItem(QObject::tr("Delete all mails",contextName),FOLDER_MENU_DELETE_ALL_MAILS);
+ m->insertItem(QObject::tr("Delete folder",contextName),FOLDER_MENU_DELETE_FOLDER);
}
return m;
}
void MHfolderItem::downloadMails()
{
@@ -991,26 +1003,31 @@ void MHfolderItem::createFolder()
}
}
}
void MHfolderItem::contextMenuSelected(int which)
{
+ AccountView*view = 0;
switch(which)
{
- case 0:
+ case FOLDER_MENU_DELETE_ALL_MAILS:
deleteAllMail(mbox->getWrapper(),folder);
break;
- case 1:
+ case FOLDER_MENU_DELETE_FOLDER:
deleteFolder();
break;
- case 2:
+ case FOLDER_MENU_MOVE_MAILS:
downloadMails();
break;
- case 3:
+ case FOLDER_MENU_NEW_SUBFOLDER:
createFolder();
break;
+ case FOLDER_MENU_REFRESH_HEADER:
+ view = (AccountView*)listView();
+ if (view) view->refreshCurrent();
+ break;
default:
break;
}
}
bool MHfolderItem::isDraftfolder()