summaryrefslogtreecommitdiff
path: root/src/settings.cpp
diff options
context:
space:
mode:
authorisanae <14251494+isanae@users.noreply.github.com>2019-08-02 23:24:27 -0400
committerisanae <14251494+isanae@users.noreply.github.com>2019-08-04 06:09:47 -0400
commitb6b01a52db1877b16531137289641fb9be9833aa (patch)
tree4822150ac91a22ec68fd8f63f29df296691c8f81 /src/settings.cpp
parenta7df11a31d684cfc341fc401dc3a9449f2538084 (diff)
removed mentions of QSettings from main.cpp
added necessary member functions in Settings
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp77
1 files changed, 74 insertions, 3 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index 77db6918..5d103267 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -28,8 +28,8 @@ using namespace MOBase;
Settings *Settings::s_Instance = nullptr;
-Settings::Settings(const QSettings &settingsSource)
- : m_Settings(settingsSource.fileName(), settingsSource.format())
+Settings::Settings(const QString& path)
+ : m_Settings(path, QSettings::IniFormat)
{
if (s_Instance != nullptr) {
throw std::runtime_error("second instance of \"Settings\" created");
@@ -280,7 +280,57 @@ QString Settings::getModDirectory(bool resolve) const
QString Settings::getManagedGameDirectory() const
{
- return m_Settings.value("gamePath", "").toString();
+ return QString::fromUtf8(m_Settings.value("gamePath", "").toByteArray());
+}
+
+void Settings::setManagedGameDirectory(const QString& path)
+{
+ m_Settings.setValue("gamePath", QDir::toNativeSeparators(path).toUtf8());
+}
+
+QString Settings::getManagedGameName() const
+{
+ return m_Settings.value("gameName", "").toString();
+}
+
+void Settings::setManagedGameName(const QString& name)
+{
+ m_Settings.setValue("gameName", name);
+}
+
+QString Settings::getManagedGameEdition() const
+{
+ return m_Settings.value("game_edition", "").toString();
+}
+
+void Settings::setManagedGameEdition(const QString& name)
+{
+ m_Settings.setValue("game_edition", name);
+}
+
+QString Settings::getSelectedProfileName() const
+{
+ return QString::fromUtf8(m_Settings.value("selected_profile", "").toByteArray());
+}
+
+int Settings::getMainWindowMonitor() const
+{
+ return m_Settings.value("window_monitor", -1).toInt();
+}
+
+QString Settings::getStyleName() const
+{
+ return m_Settings.value("Settings/style", "").toString();
+}
+
+void Settings::setStyleName(const QString& name)
+{
+ m_Settings.setValue("Settings/style", name);
+}
+
+bool Settings::isCategoryListVisible() const
+{
+ return m_Settings.value("categorylist_visible", true).toBool();
}
QString Settings::getProfileDirectory(bool resolve) const
@@ -608,3 +658,24 @@ void Settings::writePluginBlacklist()
m_Settings.endArray();
}
+
+void Settings::dump() const
+{
+ static const QStringList ignore({
+ "username", "password", "nexus_api_key"
+ });
+
+ log::debug("settings:");
+
+ m_Settings.beginGroup("Settings");
+
+ for (auto k : m_Settings.allKeys()) {
+ if (ignore.contains(k, Qt::CaseInsensitive)) {
+ continue;
+ }
+
+ log::debug(" . {}={}", k, m_Settings.value(k).toString());
+ }
+
+ m_Settings.endGroup();
+}