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 | |||
@@ -3,6 +3,7 @@ | |||
3 | 3 | ||
4 | #include "imapwrapper.h" | 4 | #include "imapwrapper.h" |
5 | #include "mailtypes.h" | 5 | #include "mailtypes.h" |
6 | #include "logindialog.h" | ||
6 | #include <libetpan/mailimap.h> | 7 | #include <libetpan/mailimap.h> |
7 | 8 | ||
8 | IMAPwrapper::IMAPwrapper( IMAPaccount *a ) | 9 | IMAPwrapper::IMAPwrapper( IMAPaccount *a ) |
@@ -36,8 +37,22 @@ void IMAPwrapper::login() | |||
36 | } | 37 | } |
37 | server = account->getServer().latin1(); | 38 | server = account->getServer().latin1(); |
38 | port = account->getPort().toUInt(); | 39 | port = account->getPort().toUInt(); |
39 | user = account->getUser().latin1(); | 40 | if ( account->getUser().isEmpty() || account->getPassword().isEmpty() ) { |
40 | pass = account->getPassword().latin1(); | 41 | LoginDialog login( account->getUser(), account->getPassword(), NULL, 0, true ); |
42 | login.show(); | ||
43 | if ( QDialog::Accepted == login.exec() ) { | ||
44 | // ok | ||
45 | user = strdup( login.getUser().latin1() ); | ||
46 | pass = strdup( login.getPassword().latin1() ); | ||
47 | } else { | ||
48 | // cancel | ||
49 | qDebug( "IMAP: Login canceled" ); | ||
50 | return; | ||
51 | } | ||
52 | } else { | ||
53 | user = account->getUser().latin1(); | ||
54 | pass = account->getPassword().latin1(); | ||
55 | } | ||
41 | 56 | ||
42 | m_imap = mailimap_new( 20, &imap_progress ); | 57 | m_imap = mailimap_new( 20, &imap_progress ); |
43 | /* connect */ | 58 | /* connect */ |