Added UserSettings class to save login settings.
authorOlavi Pulkkinen <olavi.pulkkinen@fudeco.com>
Tue, 30 Mar 2010 08:24:30 +0000 (11:24 +0300)
committerOlavi Pulkkinen <olavi.pulkkinen@fudeco.com>
Tue, 30 Mar 2010 08:24:30 +0000 (11:24 +0300)
Other settings may be added later - if needed.

Client/speedfreak.pro
Client/usersettings.cpp [new file with mode: 0644]
Client/usersettings.h [new file with mode: 0644]

index 78c2985..fadaa4b 100644 (file)
@@ -8,12 +8,14 @@ SOURCES += main.cpp \
     creditsdialog.cpp \
     routedialog.cpp \
     routesavedialog.cpp \
-    welcomedialog.cpp
+    welcomedialog.cpp \
+    usersettings.cpp
 HEADERS += mainwindow.h \
     creditsdialog.h \
     routedialog.h \
     routesavedialog.h \
-    welcomedialog.h
+    welcomedialog.h \
+    usersettings.h
 FORMS += mainwindow.ui \
     creditsdialog.ui \
     routedialog.ui \
diff --git a/Client/usersettings.cpp b/Client/usersettings.cpp
new file mode 100644 (file)
index 0000000..fa6527f
--- /dev/null
@@ -0,0 +1,76 @@
+/*
+ * UserSettings class
+ *
+ * @author     Olavi Pulkkinen <olavi.pulkkinen@fudeco.com>
+ * @copyright  (c) 2010 Speed Freak team
+ * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
+ */
+
+#include "usersettings.h"
+#include <QSettings>
+
+UserSettings::UserSettings()
+{
+}
+
+void UserSettings::readLoginSettings( QString *userName, QString *password)
+{
+     QSettings settings("SpeedFreakSoft", "logins");
+
+     // paluu =  settings.status();
+     *userName = settings.value("userName").toString();
+     *password = settings.value("password").toString();
+}
+
+void UserSettings::writeLoginSettings( QString userName, QString password)
+{
+    // To do multiple logins - if needed later
+    /*****
+    struct Login {
+         QString userName;
+         QString password;
+     };
+     QList<Login> logins;
+     ...
+
+    QSettings settings;
+    settings.beginWriteArray("logins");
+    for (int i = 0; i < logins.size(); ++i) {
+        settings.setArrayIndex(i);
+        settings.setValue("userName", list.at(i).userName);
+        settings.setValue("password", list.at(i).password);
+    }
+    settings.endArray();
+    ******/
+    QSettings settings("SpeedFreakSoft", "logins");
+    settings.setValue("userName", userName);
+    settings.setValue("password", password);
+}
+
+void saveLogin( QString userName, QString password)
+{
+    UserSettings myLogin;
+
+    myLogin.writeLoginSettings( userName, password);
+}
+
+/*
+  * Function to test if login info saved.
+  * Returns true if so.
+  */
+bool loginSaved()
+{
+    UserSettings myLogin;
+    QString userName, password;
+
+    myLogin.readLoginSettings( &userName, &password);
+
+    if (userName.length() > 0)
+    {
+        return true;
+    }
+    else
+    {
+        return false;
+    }
+}
diff --git a/Client/usersettings.h b/Client/usersettings.h
new file mode 100644 (file)
index 0000000..6465fb6
--- /dev/null
@@ -0,0 +1,25 @@
+/*
+ * UserSettings class
+ *
+ * @author     Olavi Pulkkinen <olavi.pulkkinen@fudeco.com>
+ * @copyright  (c) 2010 Speed Freak team
+ * @license    http://opensource.org/licenses/gpl-license.php GNU Public License
+ */
+
+#ifndef USERSETTINGS_H
+#define USERSETTINGS_H
+
+#include <QObject>
+
+class UserSettings : public QObject
+{
+public:
+    UserSettings();
+    void readLoginSettings( QString *userName, QString *password);
+    void writeLoginSettings( QString userName, QString password);
+};
+
+bool loginSaved( void);
+void saveLogin( QString userName, QString password);
+
+#endif // USERSETTINGS_H