summaryrefslogtreecommitdiff
path: root/src/settings.cpp
diff options
context:
space:
mode:
authorTom Tanner <thosrtanner2@users.sourceforge.net>2015-05-09 18:10:38 +0100
committerTom Tanner <thosrtanner2@users.sourceforge.net>2015-05-09 18:10:38 +0100
commitffb470a38035b2eb2cf63909572e8d56082dc83b (patch)
treea52eadbd4c5a68a553eb0fa998e3cb2750d738fb /src/settings.cpp
parent1403d51a82fa4c7548e21d7411486244881bc8d8 (diff)
Add in a tab to allow saving of steam username and password.
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp39
1 files changed, 39 insertions, 0 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index 862ed5f3..c40450b1 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -261,6 +261,20 @@ bool Settings::getNexusLogin(QString &username, QString &password) const
}
}
+bool Settings::getSteamLogin(QString &username, QString &password) const
+{
+ if (m_Settings.contains("Settings/steam_username")) {
+ username = m_Settings.value("Settings/steam_username", "").toString();
+ if (m_Settings.contains("Settings/steam_password")) {
+ password = deObfuscate(m_Settings.value("Settings/steam_password", "").toString());
+ } else {
+ password = "";
+ }
+ return true;
+ } else {
+ return false;
+ }
+}
bool Settings::compactDownloads() const
{
return m_Settings.value("Settings/compact_downloads", false).toBool();
@@ -289,6 +303,20 @@ void Settings::setNexusLogin(QString username, QString password)
m_Settings.setValue("Settings/nexus_password", obfuscate(password));
}
+void Settings::setSteamLogin(QString username, QString password)
+{
+ if (username == "") {
+ m_Settings.remove("Settings/steam_username");
+ password = "";
+ } else {
+ m_Settings.setValue("Settings/steam_username", username);
+ }
+ if (password == "") {
+ m_Settings.remove("Settings/steam_password");
+ } else {
+ m_Settings.setValue("Settings/steam_password", obfuscate(password));
+ }
+}
LoadMechanism::EMechanism Settings::getLoadMechanism() const
{
@@ -542,6 +570,9 @@ void Settings::query(QWidget *parent)
QCheckBox *hideUncheckedBox = dialog.findChild<QCheckBox*>("hideUncheckedBox");
QCheckBox *displayForeignBox = dialog.findChild<QCheckBox*>("displayForeignBox");
+ // steam login page
+ QLineEdit *steamUserEdit = dialog.findChild<QLineEdit*>("steamUserEdit");
+ QLineEdit *steamPassEdit = dialog.findChild<QLineEdit*>("steamPassEdit");
//
// set up current settings
@@ -609,6 +640,13 @@ void Settings::query(QWidget *parent)
passwordEdit->setText(deObfuscate(m_Settings.value("Settings/nexus_password", "").toString()));
}
+ if (m_Settings.contains("Settings/steam_username")) {
+ steamUserEdit->setText(m_Settings.value("Settings/steam_username", "").toString());
+ if (m_Settings.contains("Settings/steam_password")) {
+ steamPassEdit->setText(deObfuscate(m_Settings.value("Settings/steam_password", "").toString()));
+ }
+ }
+
downloadDirEdit->setText(getDownloadDirectory());
modDirEdit->setText(getModDirectory());
cacheDirEdit->setText(getCacheDirectory());
@@ -723,6 +761,7 @@ void Settings::query(QWidget *parent)
m_Settings.remove("Settings/nexus_username");
m_Settings.remove("Settings/nexus_password");
}
+ setSteamLogin(steamUserEdit->text(), steamPassEdit->text());
m_Settings.setValue("Settings/offline_mode", offlineBox->isChecked());
m_Settings.setValue("Settings/use_proxy", proxyBox->isChecked());
m_Settings.setValue("Settings/display_foreign", displayForeignBox->isChecked());