summaryrefslogtreecommitdiffstats
path: root/QtLauncher/settingsmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'QtLauncher/settingsmanager.h')
-rw-r--r--QtLauncher/settingsmanager.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/QtLauncher/settingsmanager.h b/QtLauncher/settingsmanager.h
new file mode 100644
index 0000000..f65a707
--- /dev/null
+++ b/QtLauncher/settingsmanager.h
@@ -0,0 +1,39 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef SETTINGSMANAGER_H
+#define SETTINGSMANAGER_H
+
+#include "qqmlintegration.h"
+#include <QObject>
+#include <QSettings>
+
+class SettingsManager : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(bool gridSelected READ gridSelected WRITE setGridSelected NOTIFY gridSelectedChanged)
+ Q_PROPERTY (bool mouseSelected READ mouseSelected WRITE setMouseSelected NOTIFY mouseSelectedChanged)
+
+ QML_ELEMENT
+ QML_SINGLETON
+public:
+ explicit SettingsManager(QObject *parent = nullptr);
+ ~SettingsManager();
+
+ bool gridSelected();
+ void setGridSelected(bool enabled);
+ bool mouseSelected();
+ void setMouseSelected(bool enabled);
+
+ Q_INVOKABLE QVariant getValue(const QString& key, const QVariant &defaultValue);
+ Q_INVOKABLE void setValue(const QString& key, const QVariant &value);
+
+signals:
+ void gridSelectedChanged(bool enabled);
+ void mouseSelectedChanged(bool enabled);
+
+private:
+ QSettings m_settings;
+};
+
+#endif // SETTINGSMANAGER_H