File indexing completed on 2024-05-19 15:09:22

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 <QQuickItem>
0013 
0014 class SettingHighlighterPrivate : public QObject
0015 {
0016     Q_OBJECT
0017     Q_PROPERTY(QQuickItem *target READ target WRITE setTarget NOTIFY targetChanged)
0018     Q_PROPERTY(bool highlight READ highlight WRITE setHighlight NOTIFY highlightChanged)
0019     Q_PROPERTY(bool defaultIndicatorVisible READ defaultIndicatorVisible WRITE setDefaultIndicatorVisible NOTIFY defaultIndicatorVisibleChanged)
0020 
0021 public:
0022     using QObject::QObject;
0023 
0024     QQuickItem *target() const;
0025     void setTarget(QQuickItem *target);
0026 
0027     bool highlight() const;
0028     void setHighlight(bool highlight);
0029 
0030     bool defaultIndicatorVisible() const;
0031     void setDefaultIndicatorVisible(bool enabled);
0032 
0033 Q_SIGNALS:
0034     void targetChanged();
0035     void highlightChanged();
0036     void defaultIndicatorVisibleChanged(bool enabled);
0037 
0038 public Q_SLOTS:
0039     void updateTarget();
0040 
0041 private:
0042     QPointer<QQuickItem> m_target = nullptr;
0043     QPointer<QQuickItem> m_styleTarget = nullptr;
0044     bool m_highlight = false;
0045     bool m_enabled = false;
0046 };
0047 
0048 #endif