File indexing completed on 2024-05-12 05:35:37
0001 /* 0002 SPDX-FileCopyrightText: 2000 Matthias Hölzer-Klüpfel <hoelzer@kde.org> 0003 SPDX-FileCopyrightText: 2014 Frederik Gladhorn <gladhorn@kde.org> 0004 0005 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0006 */ 0007 0008 #pragma once 0009 0010 #include <KQuickManagedConfigModule> 0011 #include <QColor> 0012 #include <QString> 0013 0014 class MouseSettings; 0015 class BellSettings; 0016 class KeyboardSettings; 0017 class KeyboardFiltersSettings; 0018 class ScreenReaderSettings; 0019 class AccessibilityData; 0020 0021 class KAccessConfig : public KQuickManagedConfigModule 0022 { 0023 Q_OBJECT 0024 Q_PROPERTY(MouseSettings *mouseSettings READ mouseSettings CONSTANT) 0025 Q_PROPERTY(BellSettings *bellSettings READ bellSettings CONSTANT) 0026 Q_PROPERTY(KeyboardSettings *keyboardSettings READ keyboardSettings CONSTANT) 0027 Q_PROPERTY(KeyboardFiltersSettings *keyboardFiltersSettings READ keyboardFiltersSettings CONSTANT) 0028 Q_PROPERTY(ScreenReaderSettings *screenReaderSettings READ screenReaderSettings CONSTANT) 0029 Q_PROPERTY(QString orcaLaunchFeedback READ orcaLaunchFeedback WRITE setOrcaLaunchFeedback NOTIFY orcaLaunchFeedbackChanged) 0030 Q_PROPERTY(QString desktopShortcutInfo MEMBER m_desktopShortcutInfo CONSTANT) 0031 Q_PROPERTY(bool screenReaderInstalled MEMBER m_screenReaderInstalled CONSTANT) 0032 Q_PROPERTY(bool bellIsDefaults READ bellIsDefaults NOTIFY bellIsDefaultsChanged) 0033 Q_PROPERTY(bool mouseIsDefaults READ mouseIsDefaults NOTIFY mouseIsDefaultsChanged) 0034 Q_PROPERTY(bool keyboardFiltersIsDefaults READ keyboardFiltersIsDefaults NOTIFY keyboardFiltersIsDefaultsChanged) 0035 Q_PROPERTY(bool keyboardModifiersIsDefaults READ keyboardModifiersIsDefaults NOTIFY keyboardModifiersIsDefaultsChanged) 0036 Q_PROPERTY(bool screenReaderIsDefaults READ screenReaderIsDefaults NOTIFY screenReaderIsDefaultsChanged) 0037 0038 public: 0039 KAccessConfig(QObject *parent, const KPluginMetaData &); 0040 ~KAccessConfig() override; 0041 0042 void save() override; 0043 0044 Q_INVOKABLE void configureKNotify(); 0045 Q_INVOKABLE void launchOrcaConfiguration(); 0046 Q_INVOKABLE bool orcaInstalled(); 0047 0048 QString orcaLaunchFeedback() const; 0049 0050 MouseSettings *mouseSettings() const; 0051 BellSettings *bellSettings() const; 0052 KeyboardSettings *keyboardSettings() const; 0053 KeyboardFiltersSettings *keyboardFiltersSettings() const; 0054 ScreenReaderSettings *screenReaderSettings() const; 0055 0056 bool bellIsDefaults() const; 0057 bool mouseIsDefaults() const; 0058 bool keyboardFiltersIsDefaults() const; 0059 bool keyboardModifiersIsDefaults() const; 0060 bool screenReaderIsDefaults() const; 0061 0062 Q_SIGNALS: 0063 void orcaLaunchFeedbackChanged(); 0064 void bellIsDefaultsChanged(); 0065 void mouseIsDefaultsChanged(); 0066 void keyboardFiltersIsDefaultsChanged(); 0067 void keyboardModifiersIsDefaultsChanged(); 0068 void screenReaderIsDefaultsChanged(); 0069 0070 private: 0071 void setOrcaLaunchFeedback(const QString &value); 0072 0073 AccessibilityData *m_data; 0074 QString m_orcaLaunchFeedback; 0075 QString m_desktopShortcutInfo; 0076 bool m_screenReaderInstalled; 0077 };