File indexing completed on 2024-05-12 07:47:31
0001 /* 0002 SPDX-FileCopyrightText: 2020 Kevin Ottens <kevin.ottens@enioka.com> 0003 SPDX-FileCopyrightText: 2020 Cyril Rossi <cyril.rossi@enioka.com> 0004 0005 SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #ifndef SETTINGSHIGHLIGHTERPRIVATE_H 0009 #define SETTINGSHIGHLIGHTERPRIVATE_H 0010 0011 #include <QPointer> 0012 #include <QQmlParserStatus> 0013 #include <QQuickItem> 0014 0015 class SettingHighlighterPrivate : public QObject, public QQmlParserStatus 0016 { 0017 Q_OBJECT 0018 Q_PROPERTY(QQuickItem *target READ target WRITE setTarget NOTIFY targetChanged) 0019 Q_PROPERTY(bool highlight READ highlight WRITE setHighlight NOTIFY highlightChanged) 0020 Q_PROPERTY(bool defaultIndicatorVisible READ defaultIndicatorVisible WRITE setDefaultIndicatorVisible NOTIFY defaultIndicatorVisibleChanged) 0021 Q_INTERFACES(QQmlParserStatus) 0022 public: 0023 using QObject::QObject; 0024 0025 QQuickItem *target() const; 0026 void setTarget(QQuickItem *target); 0027 0028 bool highlight() const; 0029 void setHighlight(bool highlight); 0030 0031 bool defaultIndicatorVisible() const; 0032 void setDefaultIndicatorVisible(bool enabled); 0033 0034 Q_SIGNALS: 0035 void targetChanged(); 0036 void highlightChanged(); 0037 void defaultIndicatorVisibleChanged(bool enabled); 0038 0039 private: 0040 void updateTarget(); 0041 0042 void classBegin() override 0043 { 0044 } 0045 void componentComplete() override; 0046 0047 bool m_isComponentComplete = false; 0048 0049 QPointer<QQuickItem> m_target = nullptr; 0050 QPointer<QQuickItem> m_styleTarget = nullptr; 0051 bool m_highlight = false; 0052 bool m_enabled = false; 0053 }; 0054 0055 #endif