Diffstat (limited to 'noncore/net/mail/imapwrapper.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/mail/imapwrapper.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/noncore/net/mail/imapwrapper.cpp b/noncore/net/mail/imapwrapper.cpp index 838300a..cce3d34 100644 --- a/noncore/net/mail/imapwrapper.cpp +++ b/noncore/net/mail/imapwrapper.cpp @@ -4,4 +4,5 @@ #include "imapwrapper.h" #include "mailtypes.h" +#include "logindialog.h" #include <libetpan/mailimap.h> @@ -37,6 +38,20 @@ void IMAPwrapper::login() server = account->getServer().latin1(); port = account->getPort().toUInt(); - user = account->getUser().latin1(); - pass = account->getPassword().latin1(); + if ( account->getUser().isEmpty() || account->getPassword().isEmpty() ) { + LoginDialog login( account->getUser(), account->getPassword(), NULL, 0, true ); + login.show(); + if ( QDialog::Accepted == login.exec() ) { + // ok + user = strdup( login.getUser().latin1() ); + pass = strdup( login.getPassword().latin1() ); + } else { + // cancel + qDebug( "IMAP: Login canceled" ); + return; + } + } else { + user = account->getUser().latin1(); + pass = account->getPassword().latin1(); + } m_imap = mailimap_new( 20, &imap_progress ); |