summaryrefslogtreecommitdiff
path: root/src/settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp57
1 files changed, 21 insertions, 36 deletions
diff --git a/src/settings.cpp b/src/settings.cpp
index 73595ac9..f980e0be 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -27,45 +27,10 @@ along with Mod Organizer. If not, see <http://www.gnu.org/licenses/>.
using namespace MOBase;
template <class T>
-T convertVariant(const QVariant& v);
-
-template <>
-QByteArray convertVariant<QByteArray>(const QVariant& v)
-{
- return v.toByteArray();
-}
-
-template <>
-QString convertVariant<QString>(const QVariant& v)
-{
- return v.toString();
-}
-
-template <>
-int convertVariant<int>(const QVariant& v)
-{
- return v.toInt();
-}
-
-template <>
-bool convertVariant<bool>(const QVariant& v)
-{
- return v.toBool();
-}
-
-template <>
-QSize convertVariant<QSize>(const QVariant& v)
-{
- return v.toSize();
-}
-
-
-
-template <class T>
std::optional<T> getOptional(const QSettings& s, const QString& name)
{
if (s.contains(name)) {
- return convertVariant<T>(s.value(name));
+ return s.value(name).value<T>();
}
return {};
@@ -453,6 +418,26 @@ bool Settings::getFirstStart() const
return getOptional<bool>(m_Settings, "first_start").value_or(true);
}
+std::optional<QColor> Settings::getPreviousSeparatorColor() const
+{
+ const auto c = getOptional<QColor>(m_Settings, "previousSeparatorColor");
+ if (c && c->isValid()) {
+ return c;
+ }
+
+ return {};
+}
+
+void Settings::setPreviousSeparatorColor(const QColor& c) const
+{
+ m_Settings.setValue("previousSeparatorColor", c);
+}
+
+void Settings::removePreviousSeparatorColor()
+{
+ m_Settings.remove("previousSeparatorColor");
+}
+
QString Settings::getProfileDirectory(bool resolve) const
{
return getConfigurablePath("profiles_directory", ToQString(AppConfig::profilesPath()), resolve);