summaryrefslogtreecommitdiff
path: root/src/settingsdialog.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-08-17 13:20:53 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-08-17 13:20:53 -0400
commit2ffad7edf2946e66585a67c4ab58c0522cd8e412 (patch)
treeb0f915737867ed4b4c5a8415ce79dffa26298322 /src/settingsdialog.cpp
parentdfa15218f33ad06a6e868e8e5f1022026b6530a9 (diff)
made member variables in SettingsTab private, added accessors
SettingsDialog now uses GeometrySaver
Diffstat (limited to 'src/settingsdialog.cpp')
-rw-r--r--src/settingsdialog.cpp40
1 files changed, 19 insertions, 21 deletions
diff --git a/src/settingsdialog.cpp b/src/settingsdialog.cpp
index d74507c9..097dafc8 100644
--- a/src/settingsdialog.cpp
+++ b/src/settingsdialog.cpp
@@ -29,7 +29,7 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
using namespace MOBase;
-SettingsDialog::SettingsDialog(PluginContainer *pluginContainer, Settings* settings, QWidget *parent)
+SettingsDialog::SettingsDialog(PluginContainer *pluginContainer, Settings& settings, QWidget *parent)
: TutorableDialog("SettingsDialog", parent)
, ui(new Ui::SettingsDialog)
, m_settings(settings)
@@ -45,18 +45,13 @@ SettingsDialog::SettingsDialog(PluginContainer *pluginContainer, Settings* setti
m_tabs.push_back(std::unique_ptr<SettingsTab>(new SteamSettingsTab(settings, *this)));
m_tabs.push_back(std::unique_ptr<SettingsTab>(new PluginsSettingsTab(settings, *this)));
m_tabs.push_back(std::unique_ptr<SettingsTab>(new WorkaroundsSettingsTab(settings, *this)));
-
- auto& qsettings = settings->directInterface();
-
- QString key = QString("geometry/%1").arg(objectName());
- if (qsettings.contains(key)) {
- restoreGeometry(qsettings.value(key).toByteArray());
- }
}
int SettingsDialog::exec()
{
- auto& qsettings = m_settings->directInterface();
+ GeometrySaver gs(m_settings, this);
+
+ auto& qsettings = m_settings.directInterface();
auto ret = TutorableDialog::exec();
if (ret == QDialog::Accepted) {
@@ -92,9 +87,6 @@ int SettingsDialog::exec()
qsettings.endGroup();
}
- QString key = QString("geometry/%1").arg(objectName());
- qsettings.setValue(key, saveGeometry());
-
// These changes happen regardless of accepted or rejected
bool restartNeeded = false;
if (getApiKeyChanged()) {
@@ -158,18 +150,24 @@ bool SettingsDialog::getApiKeyChanged()
}
-SettingsTab::SettingsTab(Settings *m_parent, SettingsDialog &m_dialog)
- : m_parent(m_parent)
- , m_Settings(m_parent->directInterface())
- , m_dialog(m_dialog)
- , ui(m_dialog.ui)
+SettingsTab::SettingsTab(Settings& s, SettingsDialog& d)
+ : ui(d.ui), m_settings(s), m_qsettings(s.directInterface()), m_dialog(d)
{
}
-SettingsTab::~SettingsTab()
-{}
+SettingsTab::~SettingsTab() = default;
+
+Settings& SettingsTab::settings()
+{
+ return m_settings;
+}
+
+QSettings& SettingsTab::qsettings()
+{
+ return m_qsettings;
+}
-QWidget* SettingsTab::parentWidget()
+SettingsDialog& SettingsTab::dialog()
{
- return &m_dialog;
+ return m_dialog;
}