From d30e81dac1985e72bb92ed8b2621694542ac2e2c Mon Sep 17 00:00:00 2001 From: Olavi Pulkkinen Date: Tue, 30 Mar 2010 11:24:30 +0300 Subject: [PATCH] Added UserSettings class to save login settings. Other settings may be added later - if needed. --- Client/speedfreak.pro | 6 ++-- Client/usersettings.cpp | 76 +++++++++++++++++++++++++++++++++++++++++++++++ Client/usersettings.h | 25 ++++++++++++++++ 3 files changed, 105 insertions(+), 2 deletions(-) create mode 100644 Client/usersettings.cpp create mode 100644 Client/usersettings.h diff --git a/Client/speedfreak.pro b/Client/speedfreak.pro index 78c2985..fadaa4b 100644 --- a/Client/speedfreak.pro +++ b/Client/speedfreak.pro @@ -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 index 0000000..fa6527f --- /dev/null +++ b/Client/usersettings.cpp @@ -0,0 +1,76 @@ +/* + * UserSettings class + * + * @author Olavi Pulkkinen + * @copyright (c) 2010 Speed Freak team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License + */ + +#include "usersettings.h" +#include + +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 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 index 0000000..6465fb6 --- /dev/null +++ b/Client/usersettings.h @@ -0,0 +1,25 @@ +/* + * UserSettings class + * + * @author Olavi Pulkkinen + * @copyright (c) 2010 Speed Freak team + * @license http://opensource.org/licenses/gpl-license.php GNU Public License + */ + +#ifndef USERSETTINGS_H +#define USERSETTINGS_H + +#include + +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 -- 1.7.9.5