/* * SPDX-FileCopyrightText: 2022 Devin Lin * * SPDX-License-Identifier: GPL-2.0-or-later */ #pragma once #include #include #include #include class MobileShellSettings : public QObject { Q_OBJECT Q_PROPERTY(bool vibrationsEnabled READ vibrationsEnabled WRITE setVibrationsEnabled NOTIFY vibrationsEnabledChanged) Q_PROPERTY(bool animationsEnabled READ animationsEnabled WRITE setAnimationsEnabled NOTIFY animationsEnabledChanged) Q_PROPERTY(bool navigationPanelEnabled READ navigationPanelEnabled WRITE setNavigationPanelEnabled NOTIFY navigationPanelEnabledChanged) public: static MobileShellSettings *self(); MobileShellSettings(QObject *parent = nullptr); bool vibrationsEnabled() const; void setVibrationsEnabled(bool vibrationsEnabled); bool animationsEnabled() const; void setAnimationsEnabled(bool animationsEnabled); bool navigationPanelEnabled() const; void setNavigationPanelEnabled(bool navigationPanelEnabled); QList enabledQuickSettings() const; void setEnabledQuickSettings(QList &list); QList disabledQuickSettings() const; void setDisabledQuickSettings(QList &list); Q_SIGNALS: void vibrationsEnabledChanged(); void navigationPanelEnabledChanged(); void animationsEnabledChanged(); void enabledQuickSettingsChanged(); void disabledQuickSettingsChanged(); private: KConfigWatcher::Ptr m_configWatcher; KSharedConfig::Ptr m_config; };