Diffstat (limited to 'noncore/net/mail/opiemail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/opiemail.cpp | 41 |
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 | ||
105 | OpieMail::OpieMail( QWidget *parent, const char *name, WFlags ) | 105 | OpieMail::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 | ||
113 | OpieMail::~OpieMail() | 114 | OpieMail::~OpieMail() |
114 | { | 115 | { |
115 | if (settings) delete settings; | 116 | if (settings) delete settings; |
116 | } | 117 | } |
117 | 118 | ||
118 | void OpieMail::setup_signalblocking() | 119 | void 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 | ||
380 | void OpieMail::reEditMail() | 381 | void 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 | |||
391 | void 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 | |||
425 | void OpieMail::serverSelected(int m_isFolder) | ||
426 | { | ||
427 | mailView->clear(); | ||
428 | refreshMenu(m_isFolder); | ||
429 | } | ||