1 #include "settingsform.h"
\r
2 #include "ui_settingsform.h"
\r
4 SettingsForm::SettingsForm(QWidget *parent) :
\r
6 ui(new Ui::SettingsForm)
\r
9 ui->syncUsernameLineEdit->setInputMethodHints(Qt::ImhNoAutoUppercase);
\r
10 ui->syncPasswordLineEdit->setInputMethodHints(Qt::ImhNoAutoUppercase);
\r
11 ui->syncUrlLineEdit->setInputMethodHints(Qt::ImhNoAutoUppercase);
\r
12 settings = new QSettings(WILLEM_LIU, EASY_LIST);
\r
13 ui->syncPasswordLineEdit->installEventFilter(this);
\r
17 SettingsForm::~SettingsForm()
\r
22 void SettingsForm::shown()
\r
24 ui->syncUsernameLineEdit->setText(settings->value(USERNAME,"").toString());
\r
25 ui->syncPasswordLineEdit->setText(settings->value(PASSWORD,"").toString());
\r
26 if(settings->contains(PASSWORD))
\r
28 ui->syncPasswordLineEdit->setReadOnly(true);
\r
31 QString syncUrl = settings->value(SYNC_URL, DEFAULT_SYNC_URL).toString();
\r
32 if(syncUrl.compare("http://www.willemliu.nl/qt/maemo/easylist/getList.php") == 0)
\r
34 syncUrl = "http://easylist.willemliu.nl/getList.php";
\r
36 ui->syncUrlLineEdit->setText(syncUrl);
\r
37 ui->syncUsernameLineEdit->setFocus(Qt::ActiveWindowFocusReason);
\r
40 bool SettingsForm::eventFilter(QObject *obj, QEvent *e)
\r
42 if(obj == ui->syncPasswordLineEdit && ui->syncPasswordLineEdit->isReadOnly() && e->type() == QEvent::MouseButtonRelease)
\r
44 int res = QMessageBox::warning(this, "Clear Password",
\r
45 "Are you sure you would like to change the password?",
\r
46 QMessageBox::Yes, QMessageBox::Cancel);
\r
47 if(res==QMessageBox::Yes)
\r
49 ui->syncPasswordLineEdit->setReadOnly(false);
\r
50 ui->syncPasswordLineEdit->clear();
\r
54 return QWidget::eventFilter(obj,e);
\r
58 void SettingsForm::on_restoreSyncPushButton_clicked()
\r
60 ui->syncUrlLineEdit->setText(DEFAULT_SYNC_URL);
\r
63 void SettingsForm::on_applyPushButton_clicked()
\r
69 void SettingsForm::on_savePushButton_clicked()
\r
72 emit signalNavigate(0);
\r
75 void SettingsForm::saveSync()
\r
77 settings->setValue(USERNAME, ui->syncUsernameLineEdit->text());
\r
78 QVariant passString = ui->syncPasswordLineEdit->text();
\r
80 if(ui->syncPasswordLineEdit->isReadOnly()) //Password is already a hash
\r
82 settings->setValue(PASSWORD, passString);
\r
86 QString passMd5 = QCryptographicHash::hash(passString.toByteArray(), QCryptographicHash::Md5).toHex().constData();
\r
87 // We save the md5 hash of the password instead of the real password so it won't be retrievable.
\r
88 settings->setValue(PASSWORD, passMd5);
\r
90 settings->setValue(SYNC_URL, ui->syncUrlLineEdit->text());
\r
94 void SettingsForm::on_cancelPushButton_clicked()
\r
96 emit signalNavigate(0);
\r