Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

accounteditor.cpp

Go to the documentation of this file.
00001 #include <qmultilineedit.h>
00002 #include <qbuttongroup.h>
00003 #include <qradiobutton.h>
00004 #include <qmessagebox.h>
00005 #include <qtoolbutton.h>
00006 #include <qtabwidget.h>
00007 #include <qlineedit.h>
00008 #include <qcheckbox.h>
00009 
00010 #include <qpe/resource.h>
00011 
00012 #include "accounteditor.h"
00013 #include "miscfunctions.h"
00014 
00015 AccountEditor::AccountEditor(Account account, QWidget *parent, const char *name, bool modal, WFlags fl)
00016         : AccountEditorBase(parent, name, modal, fl), _account(account)
00017 {
00018         TabWidget2->removePage(sslTab);
00019         showPasswd->setPixmap(Resource::loadPixmap("mail/showpasswd"));
00020 
00021         connect(showPasswd, SIGNAL(toggled(bool)), 
00022                 SLOT(showPasswdToggled(bool)));
00023 
00024         fillValues();
00025 }
00026 
00027 void AccountEditor::showPasswdToggled(bool toggled)
00028 {
00029         if (toggled) 
00030                 pass->setEchoMode(QLineEdit::Normal);
00031         else
00032                 pass->setEchoMode(QLineEdit::Password);
00033 }
00034 
00035 void AccountEditor::accept()
00036 {
00037         int numLf = 0;
00038         for (unsigned int i = 0; i <= signature->text().length(); i++) {
00039                 if (signature->text()[i] == '\n') numLf++;
00040         }
00041         if (numLf >= 4) {
00042                 int ret = QMessageBox::warning(this, tr("Warning"), tr("<p>Your signature is longer than 4 lines. This is considered inpolite by many people. You should shorten your signature.</p>"), tr("Change"), tr("Continue"));
00043                 if (ret == 0) return;
00044         }
00045 
00046         _account.setAccountName(_account.accountName() ? _account.accountName() : MiscFunctions::uniqueString());
00047         _account.setRealName(realname->text());
00048         _account.setEmail(email->text());
00049         _account.setOrg(org->text());
00050         _account.setImapServer(imapServer->text());
00051         _account.setImapPort(imapPort->text());
00052         _account.setSmtpServer(smtpServer->text());
00053         _account.setSmtpPort(smtpPort->text());
00054         _account.setUser(user->text());
00055         _account.setPass(pass->text());
00056         _account.setSmtpSsl(smtpssl->isChecked());
00057         _account.setSmtpSslPort(smtpsPort->text());
00058         _account.setImapSsl(imapssl->isChecked());
00059         _account.setImapSslPort(imapsPort->text());
00060         _account.setDefaultCc(addCc->isChecked());
00061         _account.setDefaultBcc(addBcc->isChecked());
00062         _account.setDefaultReplyTo(addReplyTo->isChecked());
00063         _account.setCc(cc->text());
00064         _account.setBcc(bcc->text());
00065         _account.setReplyTo(replyTo->text());
00066         _account.setSignature(signature->text());
00067 
00068         QDialog::accept();
00069 }
00070 
00071 void AccountEditor::fillValues()
00072 {
00073         realname->setText(_account.realName());
00074         email->setText(_account.email());
00075         org->setText(_account.org());
00076         imapServer->setText(_account.imapServer());
00077         imapPort->setText(!_account.imapPort().isEmpty() ? _account.imapPort() : QString("143"));
00078         smtpServer->setText(_account.smtpServer());
00079         smtpPort->setText(!_account.smtpPort().isEmpty() ? _account.smtpPort() : QString("25"));
00080         user->setText(_account.user());
00081         pass->setText(_account.pass());
00082         smtpssl->setChecked(_account.smtpSsl());
00083         smtpsPort->setText(_account.smtpSslPort());
00084         imapssl->setChecked(_account.imapSsl());
00085         imapsPort->setText(!_account.imapSslPort().isEmpty() ? _account.imapSslPort() : QString("993"));
00086         addCc->setChecked(_account.defaultCc());
00087         if (_account.defaultCc()) cc->setEnabled(true);
00088         addBcc->setChecked(_account.defaultBcc());
00089         if (_account.defaultBcc()) bcc->setEnabled(true);
00090         addReplyTo->setChecked(_account.defaultReplyTo());
00091         if (_account.defaultReplyTo()) replyTo->setEnabled(true);
00092         cc->setText(_account.cc());
00093         bcc->setText(_account.bcc());
00094         replyTo->setText(_account.replyTo());
00095         signature->setText(_account.signature());
00096 }
00097 

Generated on Sat Nov 5 16:18:06 2005 for OPIE by  doxygen 1.4.2