summaryrefslogtreecommitdiff
path: root/noncore/net/mail/opiemail.cpp
Side-by-side diff
Diffstat (limited to 'noncore/net/mail/opiemail.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/mail/opiemail.cpp30
1 files changed, 23 insertions, 7 deletions
diff --git a/noncore/net/mail/opiemail.cpp b/noncore/net/mail/opiemail.cpp
index d3d3cdb..ea0019d 100644
--- a/noncore/net/mail/opiemail.cpp
+++ b/noncore/net/mail/opiemail.cpp
@@ -15,2 +15,3 @@
#include "selectstore.h"
+#include "selectsmtp.h"
@@ -70,11 +71,26 @@ void OpieMail::slotSendQueued()
QList<Account> list = settings->getAccounts();
+ QList<SMTPaccount> smtpList;
+ smtpList.setAutoDelete(false);
Account *it;
-// if (list.count()==1) {
- for ( it = list.first(); it; it = list.next() ) {
- if ( it->getType().compare( "SMTP" ) == 0 ) {
- smtp = static_cast<SMTPaccount *>(it);
- break;
- }
+ for ( it = list.first(); it; it = list.next() ) {
+ if ( it->getType().compare( "SMTP" ) == 0 ) {
+ smtp = static_cast<SMTPaccount *>(it);
+ smtpList.append(smtp);
}
-// }
+ }
+ if (smtpList.count()==0) {
+ QMessageBox::information(0,tr("Info"),tr("Define a smtp account first"));
+ return;
+ }
+ if (smtpList.count()==1) {
+ smtp = smtpList.at(0);
+ } else {
+ smtp = 0;
+ selectsmtp selsmtp;
+ selsmtp.setSelectionlist(&smtpList);
+ selsmtp.showMaximized();
+ if (selsmtp.exec()==QDialog::Accepted) {
+ smtp = selsmtp.selected_smtp();
+ }
+ }
if (smtp) {