aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickpalette_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickpalette_p.h')
-rw-r--r--src/quick/items/qquickpalette_p.h61
1 files changed, 15 insertions, 46 deletions
diff --git a/src/quick/items/qquickpalette_p.h b/src/quick/items/qquickpalette_p.h
index 7d5fc17f26..3e40cf9036 100644
--- a/src/quick/items/qquickpalette_p.h
+++ b/src/quick/items/qquickpalette_p.h
@@ -1,38 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2020 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the QtQuick module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL3$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see http://www.qt.io/terms-conditions. For further
-** information use the contact form at http://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPLv3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or later as published by the Free
-** Software Foundation and appearing in the file LICENSE.GPL included in
-** the packaging of this file. Please review the following information to
-** ensure the GNU General Public License version 2.0 requirements will be
-** met: http://www.gnu.org/licenses/gpl-2.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2020 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QQUICKPALETTE_H
#define QQUICKPALETTE_H
@@ -47,23 +14,23 @@
// We mean it.
//
-#include <vector> // Workaround: I think we should include vector to qflatmap_p.h
-#include <QtCore/private/qflatmap_p.h>
-
#include <QtQuick/private/qquickcolorgroup_p.h>
+#include <QtCore/qpointer.h>
+
+#include <array>
+
QT_BEGIN_NAMESPACE
class QQuickAbstractPaletteProvider;
-class Q_QUICK_PRIVATE_EXPORT QQuickPalette : public QQuickColorGroup
+class Q_QUICK_EXPORT QQuickPalette : public QQuickColorGroup
{
Q_OBJECT
- Q_PROPERTY(QQuickColorGroup *active READ active WRITE setActive NOTIFY activeChanged)
- Q_PROPERTY(QQuickColorGroup *inactive READ inactive WRITE setInactive NOTIFY inactiveChanged)
- Q_PROPERTY(QQuickColorGroup *disabled READ disabled WRITE setDisabled NOTIFY disabledChanged)
-
+ Q_PROPERTY(QQuickColorGroup *active READ active WRITE setActive RESET resetActive NOTIFY activeChanged FINAL)
+ Q_PROPERTY(QQuickColorGroup *inactive READ inactive WRITE setInactive RESET resetInactive NOTIFY inactiveChanged FINAL)
+ Q_PROPERTY(QQuickColorGroup *disabled READ disabled WRITE setDisabled RESET resetDisabled NOTIFY disabledChanged FINAL)
QML_NAMED_ELEMENT(Palette)
QML_ADDED_IN_VERSION(6, 0)
@@ -77,6 +44,9 @@ public:
QQuickColorGroup *active() const;
QQuickColorGroup *inactive() const;
QQuickColorGroup *disabled() const;
+ void resetActive();
+ void resetInactive();
+ void resetDisabled();
QPalette::ColorGroup currentColorGroup() const override;
void setCurrentGroup(QPalette::ColorGroup currentGroup);
@@ -105,6 +75,7 @@ private:
void setColorGroup(QPalette::ColorGroup groupTag,
const QQuickColorGroup::GroupPtr &group,
void (QQuickPalette::*notifier)());
+
QQuickColorGroup::GroupPtr colorGroup(QPalette::ColorGroup groupTag) const;
QQuickColorGroup::GroupPtr findColorGroup(QPalette::ColorGroup groupTag) const;
@@ -116,12 +87,10 @@ private:
static constexpr QPalette::ColorGroup defaultCurrentGroup() { return QPalette::Active; }
private:
- QFlatMap<QPalette::ColorGroup, QQuickColorGroup::GroupPtr> m_colorGroups;
+ std::array<QQuickColorGroup::GroupPtr, QPalette::NColorGroups> m_colorGroups = {};
QPalette::ColorGroup m_currentGroup;
};
QT_END_NAMESPACE
-QML_DECLARE_TYPE(QQuickPalette)
-
#endif // QQUICKPALETTE_H