summaryrefslogtreecommitdiff
path: root/noncore/net/mail/opiemail.cpp
Unidiff
Diffstat (limited to 'noncore/net/mail/opiemail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/opiemail.cpp41
1 files changed, 41 insertions, 0 deletions
diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp
index 7c6d314..1bc81e4 100644
--- a/noncore/net/mail/opiemail.cpp
+++ b/noncore/net/mail/opiemail.cpp
@@ -99,24 +99,25 @@ void ValueExplode::splitit()
99 } else { 99 } else {
100 m_LastParsed.append(tkeyvalues(iLine.mid(startpos,pos2-startpos),iLine.mid(pos2+1))); 100 m_LastParsed.append(tkeyvalues(iLine.mid(startpos,pos2-startpos),iLine.mid(pos2+1)));
101 } 101 }
102 } 102 }
103} 103}
104 104
105OpieMail::OpieMail( QWidget *parent, const char *name, WFlags ) 105OpieMail::OpieMail( QWidget *parent, const char *name, WFlags )
106 : MainWindow( parent, name, WStyle_ContextHelp ) 106 : MainWindow( parent, name, WStyle_ContextHelp )
107{ 107{
108 setup_signalblocking(); 108 setup_signalblocking();
109 settings = new Settings(); 109 settings = new Settings();
110 folderView->populate( settings->getAccounts() ); 110 folderView->populate( settings->getAccounts() );
111 connect(folderView,SIGNAL(refreshMenues(int)),this,SLOT(refreshMenu(int)));
111} 112}
112 113
113OpieMail::~OpieMail() 114OpieMail::~OpieMail()
114{ 115{
115 if (settings) delete settings; 116 if (settings) delete settings;
116} 117}
117 118
118void OpieMail::setup_signalblocking() 119void OpieMail::setup_signalblocking()
119{ 120{
120 /* for networking we must block SIGPIPE and Co. */ 121 /* for networking we must block SIGPIPE and Co. */
121 struct sigaction blocking_action,temp_action; 122 struct sigaction blocking_action,temp_action;
122 blocking_action.sa_handler = SIG_IGN; 123 blocking_action.sa_handler = SIG_IGN;
@@ -377,12 +378,52 @@ void OpieMail::slotMoveCopyMail()
377 folderView->refreshCurrent(); 378 folderView->refreshCurrent();
378} 379}
379 380
380void OpieMail::reEditMail() 381void OpieMail::reEditMail()
381{ 382{
382 if (!mailView->currentItem()) return; 383 if (!mailView->currentItem()) return;
383 384
384 ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp ); 385 ComposeMail compose( settings, this, 0, true , WStyle_ContextHelp );
385 compose.reEditMail(((MailListViewItem*)mailView->currentItem() )->data()); 386 compose.reEditMail(((MailListViewItem*)mailView->currentItem() )->data());
386 compose.slotAdjustColumns(); 387 compose.slotAdjustColumns();
387 QPEApplication::execDialog( &compose ); 388 QPEApplication::execDialog( &compose );
388} 389}
390
391void OpieMail::refreshMenu(int m_isFolder)
392{
393 if (QApplication::desktop()->width()<330) {
394 mailMenu->setItemEnabled(m_ServerMenuId,m_isFolder&1);
395 mailMenu->setItemEnabled(m_FolderMenuId,m_isFolder&2);
396 } else {
397 menuBar->setItemEnabled(m_ServerMenuId,m_isFolder&1);
398 menuBar->setItemEnabled(m_FolderMenuId,m_isFolder&2);
399 }
400
401 QMap<int,QString>::ConstIterator it;
402 QMap<int,QString> server_entries=folderView->currentServerMenu();
403 QMap<int,QString> folder_entries=folderView->currentFolderMenu();
404
405 int id;
406 unsigned int i;
407 for (i=0; i<folderMenu->count();++i) {
408 id = folderMenu->idAt(i);
409 folderMenu->setItemEnabled(id,false);
410 }
411 for (it=folder_entries.begin();it!=folder_entries.end();++it) {
412 folderMenu->changeItem(it.key(),it.data());
413 folderMenu->setItemEnabled(it.key(),true);
414 }
415 for (i=0; i<serverMenu->count();++i) {
416 id = serverMenu->idAt(i);
417 serverMenu->setItemEnabled(id,false);
418 }
419 for (it=server_entries.begin();it!=server_entries.end();++it) {
420 serverMenu->changeItem(it.key(),it.data());
421 serverMenu->setItemEnabled(it.key(),true);
422 }
423}
424
425void OpieMail::serverSelected(int m_isFolder)
426{
427 mailView->clear();
428 refreshMenu(m_isFolder);
429}