From d91d0caba5fac3b2b27698a5e6ab4a9b60efbf53 Mon Sep 17 00:00:00 2001
From: isanae <14251494+isanae@users.noreply.github.com>
Date: Sat, 20 Jul 2019 09:47:09 -0400
Subject: removed incorrect warning that steam password is unencrypted split
steam tab
---
src/CMakeLists.txt | 3 +++
src/settings.cpp | 36 +++++-----------------------
src/settings.h | 13 ----------
src/settingsdialog.ui | 58 ++++++++++++++++-----------------------------
src/settingsdialogsteam.cpp | 17 +++++++++++++
src/settingsdialogsteam.h | 17 +++++++++++++
6 files changed, 64 insertions(+), 80 deletions(-)
create mode 100644 src/settingsdialogsteam.cpp
create mode 100644 src/settingsdialogsteam.h
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index b2407e17..a1adf2db 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -40,6 +40,7 @@ SET(organizer_SRCS
settingsdialoggeneral.cpp
settingsdialognexus.cpp
settingsdialogpaths.cpp
+ settingsdialogsteam.cpp
settings.cpp
selfupdater.cpp
selectiondialog.cpp
@@ -157,6 +158,7 @@ SET(organizer_HDRS
settingsdialoggeneral.h
settingsdialognexus.h
settingsdialogpaths.h
+ settingsdialogsteam.h
settings.h
selfupdater.h
selectiondialog.h
@@ -440,6 +442,7 @@ set(settings
settingsdialoggeneral
settingsdialognexus
settingsdialogpaths
+ settingsdialogsteam
)
set(utilities
diff --git a/src/settings.cpp b/src/settings.cpp
index bded470c..26c9720a 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -25,6 +25,7 @@ along with Mod Organizer. If not, see .
#include "settingsdialoggeneral.h"
#include "settingsdialognexus.h"
#include "settingsdialogpaths.h"
+#include "settingsdialogsteam.h"
#include "versioninfo.h"
#include "appconfig.h"
#include "organizercore.h"
@@ -391,15 +392,10 @@ bool Settings::hasNexusApiKey() const
bool Settings::getSteamLogin(QString &username, QString &password) const
{
- if (m_Settings.contains("Settings/steam_username")) {
- QString tempPass = deObfuscate("steam_password");
- if (!tempPass.isEmpty()) {
- username = m_Settings.value("Settings/steam_username").toString();
- password = tempPass;
- return true;
- }
- }
- return false;
+ username = m_Settings.value("Settings/steam_username", "").toString();
+ password = deObfuscate("steam_password");
+
+ return !username.isEmpty() && !password.isEmpty();
}
bool Settings::compactDownloads() const
{
@@ -680,7 +676,7 @@ void Settings::query(PluginContainer *pluginContainer, QWidget *parent)
tabs.push_back(std::unique_ptr(new PathsSettingsTab(this, dialog)));
tabs.push_back(std::unique_ptr(new DiagnosticsTab(this, dialog)));
tabs.push_back(std::unique_ptr(new NexusSettingsTab(this, dialog)));
- tabs.push_back(std::unique_ptr(new SteamTab(this, dialog)));
+ tabs.push_back(std::unique_ptr(new SteamSettingsTab(this, dialog)));
tabs.push_back(std::unique_ptr(new PluginsTab(this, dialog)));
tabs.push_back(std::unique_ptr(new WorkaroundsTab(this, dialog)));
@@ -770,26 +766,6 @@ void Settings::DiagnosticsTab::update()
}
-Settings::SteamTab::SteamTab(Settings *m_parent, SettingsDialog &m_dialog)
- : SettingsTab(m_parent, m_dialog)
- , m_steamUserEdit(m_dialog.findChild("steamUserEdit"))
- , m_steamPassEdit(m_dialog.findChild("steamPassEdit"))
-{
- if (m_Settings.contains("Settings/steam_username")) {
- m_steamUserEdit->setText(m_Settings.value("Settings/steam_username", "").toString());
- QString password = deObfuscate("steam_password");
- if (!password.isEmpty()) {
- m_steamPassEdit->setText(password);
- }
- }
-}
-
-void Settings::SteamTab::update()
-{
- //FIXME this should be inlined here?
- m_parent->setSteamLogin(m_steamUserEdit->text(), m_steamPassEdit->text());
-}
-
Settings::PluginsTab::PluginsTab(Settings *m_parent, SettingsDialog &m_dialog)
: SettingsTab(m_parent, m_dialog)
, m_pluginsList(m_dialog.findChild("pluginsList"))
diff --git a/src/settings.h b/src/settings.h
index b9383ce4..5bf705d1 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -461,19 +461,6 @@ private:
void setLevelsBox();
};
- /** Display/store the configuration in the 'steam' tab of the settings dialogue */
- class SteamTab : public SettingsTab
- {
- public:
- SteamTab(Settings *m_parent, SettingsDialog &m_dialog);
-
- void update();
-
- private:
- QLineEdit *m_steamUserEdit;
- QLineEdit *m_steamPassEdit;
- };
-
/** Display/store the configuration in the 'plugins' tab of the settings dialogue */
class PluginsTab : public SettingsTab
{
diff --git a/src/settingsdialog.ui b/src/settingsdialog.ui
index 1e94bcde..3ad525e1 100644
--- a/src/settingsdialog.ui
+++ b/src/settingsdialog.ui
@@ -828,71 +828,55 @@ If you use pre-releases, never contact me directly by e-mail or via private mess
Steam
- -
+
-
Username
- -
-
-
- -
-
-
- Password
-
-
-
- -
-
-
- QLineEdit::Password
-
-
-
- -
-
+
-
+
Qt::Vertical
- QSizePolicy::Minimum
+ QSizePolicy::Expanding
20
- 40
+ 232
- -
+
-
+
+
+ -
- If you save your steam user ID and password here, they will be used when logging into steam. Note, however, your password will be stored unencrypted, so make sure your computer is secure.
+ <html><head/><body><p>If you save your steam user ID and password here, they will be used when logging into steam.</p></body></html>
true
- -
-
-
- Qt::Vertical
-
-
- QSizePolicy::Expanding
+
-
+
+
+ Password
-
-
- 20
- 232
-
+
+
+ -
+
+
+ QLineEdit::Password
-
+
diff --git a/src/settingsdialogsteam.cpp b/src/settingsdialogsteam.cpp
new file mode 100644
index 00000000..34c2d76b
--- /dev/null
+++ b/src/settingsdialogsteam.cpp
@@ -0,0 +1,17 @@
+#include "settingsdialogsteam.h"
+#include "ui_settingsdialog.h"
+
+SteamSettingsTab::SteamSettingsTab(Settings *m_parent, SettingsDialog &m_dialog)
+ : SettingsTab(m_parent, m_dialog)
+{
+ QString username, password;
+ m_parent->getSteamLogin(username, password);
+
+ ui->steamUserEdit->setText(username);
+ ui->steamPassEdit->setText(password);
+}
+
+void SteamSettingsTab::update()
+{
+ m_parent->setSteamLogin(ui->steamUserEdit->text(), ui->steamPassEdit->text());
+}
diff --git a/src/settingsdialogsteam.h b/src/settingsdialogsteam.h
new file mode 100644
index 00000000..dbd85151
--- /dev/null
+++ b/src/settingsdialogsteam.h
@@ -0,0 +1,17 @@
+#ifndef SETTINGSDIALOGSTEAM_H
+#define SETTINGSDIALOGSTEAM_H
+
+#include "settings.h"
+#include "settingsdialog.h"
+
+class SteamSettingsTab : public SettingsTab
+{
+public:
+ SteamSettingsTab(Settings *m_parent, SettingsDialog &m_dialog);
+
+ void update();
+
+private:
+};
+
+#endif // SETTINGSDIALOGSTEAM_H
--
cgit v1.3.1