--- /dev/null
+#include "settingsform.h"\r
+#include "ui_settingsform.h"\r
+\r
+SettingsForm::SettingsForm(QWidget *parent) :\r
+ SlideWidget(parent),\r
+ ui(new Ui::SettingsForm)\r
+{\r
+ ui->setupUi(this);\r
+ ui->syncUsernameLineEdit->setInputMethodHints(Qt::ImhNoAutoUppercase);\r
+ ui->syncPasswordLineEdit->setInputMethodHints(Qt::ImhNoAutoUppercase);\r
+ ui->syncUrlLineEdit->setInputMethodHints(Qt::ImhNoAutoUppercase);\r
+ settings = new QSettings(WILLEM_LIU, EASY_LIST);\r
+ shown();\r
+}\r
+\r
+SettingsForm::~SettingsForm()\r
+{\r
+ delete ui;\r
+}\r
+\r
+void SettingsForm::shown()\r
+{\r
+ ui->syncUsernameLineEdit->clear();\r
+ ui->syncPasswordLineEdit->clear();\r
+ ui->syncUrlLineEdit->setText(settings->value(SYNC_URL, DEFAULT_SYNC_URL).toString());\r
+ ui->syncUsernameLineEdit->setFocus(Qt::ActiveWindowFocusReason);\r
+}\r
+\r
+void SettingsForm::on_restoreSyncPushButton_clicked()\r
+{\r
+ ui->syncUrlLineEdit->setText(DEFAULT_SYNC_URL);\r
+}\r
+\r
+void SettingsForm::on_applyPushButton_clicked()\r
+{\r
+ saveSync();\r
+}\r
+\r
+void SettingsForm::on_savePushButton_clicked()\r
+{\r
+ saveSync();\r
+ emit signalNavigate(0);\r
+}\r
+\r
+void SettingsForm::saveSync()\r
+{\r
+ settings->setValue(USERNAME, ui->syncUsernameLineEdit->text());\r
+ QVariant passString = ui->syncPasswordLineEdit->text();\r
+ QString passMd5 = QCryptographicHash::hash(passString.toByteArray(), QCryptographicHash::Md5).toHex().constData();\r
+ // We save the md5 hash of the password instead of the real password so it won't be retrievable.\r
+ settings->setValue(PASSWORD, passMd5);\r
+ settings->setValue(SYNC_URL, ui->syncUrlLineEdit->text());\r
+}\r
+\r
+void SettingsForm::on_cancelPushButton_clicked()\r
+{\r
+ emit signalNavigate(0);\r
+}\r