author | jgf <jgf> | 2003-12-18 16:02:47 (UTC) |
---|---|---|
committer | jgf <jgf> | 2003-12-18 16:02:47 (UTC) |
commit | 5b88f5d05b2f3f5d106b58b07bc7018f757cfc03 (patch) (side-by-side diff) | |
tree | 27f8a7ccb9dd659ea8484cb12c0e3dc3c3c99252 /noncore/net/mail/libmailwrapper/pop3wrapper.cpp | |
parent | 5cb08b0c69ffc7216405b552e17ff0541578bda0 (diff) | |
download | opie-5b88f5d05b2f3f5d106b58b07bc7018f757cfc03.zip opie-5b88f5d05b2f3f5d106b58b07bc7018f757cfc03.tar.gz opie-5b88f5d05b2f3f5d106b58b07bc7018f757cfc03.tar.bz2 |
ask for user/password if field is empty
Diffstat (limited to 'noncore/net/mail/libmailwrapper/pop3wrapper.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/net/mail/libmailwrapper/pop3wrapper.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp index 22a4c70..b0b985c 100644 --- a/noncore/net/mail/libmailwrapper/pop3wrapper.cpp +++ b/noncore/net/mail/libmailwrapper/pop3wrapper.cpp @@ -1,11 +1,12 @@ #include <stdlib.h> #include "pop3wrapper.h" #include "mailtypes.h" +#include "logindialog.h" #include <libetpan/mailpop3.h> #include <libetpan/mailmime.h> #include <libetpan/data_message_driver.h> #include <qfile.h> /* we don't fetch messages larger than 5 MB */ #define HARD_MSG_SIZE_LIMIT 5242880 @@ -352,18 +353,33 @@ void POP3wrapper::login() if ( m_pop3 != NULL ) return; const char *server, *user, *pass; uint16_t port; int err = MAILPOP3_NO_ERROR; server = account->getServer().latin1(); port = account->getPort().toUInt(); + + 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( "POP3: Login canceled" ); + return; + } + } else { user = account->getUser().latin1(); pass = account->getPassword().latin1(); + } m_pop3 = mailpop3_new( 200, &pop3_progress ); // connect if (account->getSSL()) { err = mailpop3_ssl_connect( m_pop3, (char*)server, port ); } else { err = mailpop3_socket_connect( m_pop3, (char*)server, port ); |