diff options
Diffstat (limited to 'QtLauncher/settingsmanager.h')
-rw-r--r-- | QtLauncher/settingsmanager.h | 39 |
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 |