Added sync functionality with website. http://www.willemliu.nl/qt/maemo/easylist...
[easylist] / settingsform.cpp
diff --git a/settingsform.cpp b/settingsform.cpp
new file mode 100755 (executable)
index 0000000..be7f6c6
--- /dev/null
@@ -0,0 +1,58 @@
+#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