aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/imports/controls/ApplicationWindow.qml3
-rw-r--r--src/imports/controls/Drawer.qml3
-rw-r--r--src/imports/controls/Label.qml5
-rw-r--r--src/imports/controls/PageIndicator.qml3
-rw-r--r--src/imports/controls/ScrollBar.qml3
-rw-r--r--src/imports/controls/ScrollIndicator.qml3
-rw-r--r--src/imports/controls/SpinBox.qml4
-rw-r--r--src/imports/controls/TextArea.qml9
-rw-r--r--src/imports/controls/ToolBar.qml3
-rw-r--r--src/imports/controls/ToolButton.qml5
-rw-r--r--src/imports/controls/controls.pri8
-rw-r--r--src/imports/controls/doc/images/qtlabscontrols-pageindicator.pngbin745 -> 689 bytes
-rw-r--r--src/imports/controls/doc/images/qtlabscontrols-scrollbar.pngbin645 -> 669 bytes
-rw-r--r--src/imports/controls/doc/images/qtlabscontrols-scrollindicator.pngbin400 -> 387 bytes
-rw-r--r--src/imports/controls/doc/snippets/qtlabscontrols-pageindicator.qml3
-rw-r--r--src/imports/controls/doc/snippets/qtlabscontrols-scrollbar.qml3
-rw-r--r--src/imports/controls/doc/snippets/qtlabscontrols-scrollindicator.qml3
-rw-r--r--src/imports/controls/qquicktheme.cpp620
-rw-r--r--src/imports/controls/qquicktheme_p.h151
-rw-r--r--src/imports/controls/qquickthemedata.cpp93
-rw-r--r--src/imports/controls/qquickthemedata_p.h116
-rw-r--r--src/imports/controls/qtlabscontrolsplugin.cpp4
-rw-r--r--tests/auto/auto.pro1
-rw-r--r--tests/auto/theme/data/tst_theme.qml295
-rw-r--r--tests/auto/theme/theme.pro12
-rw-r--r--tests/auto/theme/tst_theme.cpp38
26 files changed, 19 insertions, 1369 deletions
diff --git a/src/imports/controls/ApplicationWindow.qml b/src/imports/controls/ApplicationWindow.qml
index cb918b84..247752cb 100644
--- a/src/imports/controls/ApplicationWindow.qml
+++ b/src/imports/controls/ApplicationWindow.qml
@@ -36,11 +36,10 @@
import QtQuick 2.6
import QtQuick.Window 2.2
-import Qt.labs.controls 1.0
import Qt.labs.templates 1.0 as T
T.ApplicationWindow {
id: window
- color: Theme.backgroundColor
+ color: "#ffffff"
}
diff --git a/src/imports/controls/Drawer.qml b/src/imports/controls/Drawer.qml
index 5cf0994a..2b50b7d4 100644
--- a/src/imports/controls/Drawer.qml
+++ b/src/imports/controls/Drawer.qml
@@ -35,7 +35,6 @@
****************************************************************************/
import QtQuick 2.6
-import Qt.labs.controls 1.0
import Qt.labs.templates 1.0 as T
T.Drawer {
@@ -46,7 +45,7 @@ T.Drawer {
//! [background]
background: Rectangle {
- color: control.Theme.shadowColor
+ color: "#28282a"
opacity: position * 0.75
}
//! [background]
diff --git a/src/imports/controls/Label.qml b/src/imports/controls/Label.qml
index 82b2c629..1047bfaa 100644
--- a/src/imports/controls/Label.qml
+++ b/src/imports/controls/Label.qml
@@ -35,12 +35,11 @@
****************************************************************************/
import QtQuick 2.6
-import Qt.labs.controls 1.0
import Qt.labs.templates 1.0 as T
T.Label {
id: control
- color: Theme.textColor
- linkColor: Theme.focusColor // TODO
+ color: "#26282a"
+ linkColor: "#45a7d7" // TODO
}
diff --git a/src/imports/controls/PageIndicator.qml b/src/imports/controls/PageIndicator.qml
index e1361b83..e569a0de 100644
--- a/src/imports/controls/PageIndicator.qml
+++ b/src/imports/controls/PageIndicator.qml
@@ -35,7 +35,6 @@
****************************************************************************/
import QtQuick 2.6
-import Qt.labs.controls 1.0
import Qt.labs.templates 1.0 as T
T.PageIndicator {
@@ -55,7 +54,7 @@ T.PageIndicator {
implicitHeight: 8
radius: width / 2
- color: control.Theme.shadowColor // TODO
+ color: "#28282a" // TODO
opacity: index === currentIndex ? 0.95 : pressed ? 0.7 : 0.45
Behavior on opacity { OpacityAnimator { duration: 100 } }
diff --git a/src/imports/controls/ScrollBar.qml b/src/imports/controls/ScrollBar.qml
index d1a45a71..55d53191 100644
--- a/src/imports/controls/ScrollBar.qml
+++ b/src/imports/controls/ScrollBar.qml
@@ -35,7 +35,6 @@
****************************************************************************/
import QtQuick 2.6
-import Qt.labs.controls 1.0
import Qt.labs.templates 1.0 as T
T.ScrollBar {
@@ -56,7 +55,7 @@ T.ScrollBar {
implicitHeight: 6
radius: width / 2
- color: control.pressed ? control.Theme.shadowColor : control.Theme.frameColor
+ color: control.pressed ? "#28282a" : "#bdbebf"
visible: control.size < 1.0
opacity: 0.0
diff --git a/src/imports/controls/ScrollIndicator.qml b/src/imports/controls/ScrollIndicator.qml
index 8c4fc1d5..e2fc23b1 100644
--- a/src/imports/controls/ScrollIndicator.qml
+++ b/src/imports/controls/ScrollIndicator.qml
@@ -35,7 +35,6 @@
****************************************************************************/
import QtQuick 2.6
-import Qt.labs.controls 1.0
import Qt.labs.templates 1.0 as T
T.ScrollIndicator {
@@ -55,7 +54,7 @@ T.ScrollIndicator {
implicitWidth: 2
implicitHeight: 2
- color: control.Theme.frameColor
+ color: "#bdbebf"
visible: control.size < 1.0
opacity: 0.0
diff --git a/src/imports/controls/SpinBox.qml b/src/imports/controls/SpinBox.qml
index 6a157ba9..ff27d8ba 100644
--- a/src/imports/controls/SpinBox.qml
+++ b/src/imports/controls/SpinBox.qml
@@ -68,8 +68,8 @@ T.SpinBox {
font: control.font
color: control.enabled ? "#353637" : "#bdbebf"
-// selectionColor: control.Theme.selectionColor
-// selectedTextColor: control.Theme.selectedTextColor
+// selectionColor: TODO
+// selectedTextColor: TODO
horizontalAlignment: Qt.AlignHCenter
verticalAlignment: Qt.AlignVCenter
diff --git a/src/imports/controls/TextArea.qml b/src/imports/controls/TextArea.qml
index d4fa9497..de5994e8 100644
--- a/src/imports/controls/TextArea.qml
+++ b/src/imports/controls/TextArea.qml
@@ -35,7 +35,6 @@
****************************************************************************/
import QtQuick 2.6
-import Qt.labs.controls 1.0
import Qt.labs.templates 1.0 as T
T.TextArea {
@@ -50,9 +49,9 @@ T.TextArea {
padding: 6
- color: enabled ? Theme.textColor : Theme.disabledColor
- selectionColor: Theme.selectionColor
- selectedTextColor: Theme.selectedTextColor
+ color: enabled ? "#26282a" : "#c2c2c2"
+// selectionColor: TODO
+// selectedTextColor: TODO
Text {
id: placeholder
@@ -63,7 +62,7 @@ T.TextArea {
text: control.placeholderText
font: control.font
- color: control.Theme.disabledColor
+ color: "#c2c2c2"
horizontalAlignment: control.horizontalAlignment
verticalAlignment: control.verticalAlignment
visible: !control.length && (!control.activeFocus || control.horizontalAlignment !== Qt.AlignHCenter)
diff --git a/src/imports/controls/ToolBar.qml b/src/imports/controls/ToolBar.qml
index be1b5d7a..3d3fc74c 100644
--- a/src/imports/controls/ToolBar.qml
+++ b/src/imports/controls/ToolBar.qml
@@ -35,7 +35,6 @@
****************************************************************************/
import QtQuick 2.6
-import Qt.labs.controls 1.0
import Qt.labs.templates 1.0 as T
T.ToolBar {
@@ -54,7 +53,7 @@ T.ToolBar {
//! [background]
background: Rectangle {
implicitHeight: 26
- color: control.Theme.baseColor
+ color: "#eeeeee"
}
//! [background]
}
diff --git a/src/imports/controls/ToolButton.qml b/src/imports/controls/ToolButton.qml
index ecaad9a0..17fd03c5 100644
--- a/src/imports/controls/ToolButton.qml
+++ b/src/imports/controls/ToolButton.qml
@@ -35,7 +35,6 @@
****************************************************************************/
import QtQuick 2.6
-import Qt.labs.controls 1.0
import Qt.labs.templates 1.0 as T
T.ToolButton {
@@ -58,7 +57,7 @@ T.ToolButton {
text: control.text
font: control.font
- color: control.enabled ? control.Theme.textColor : control.Theme.disabledColor
+ color: control.enabled ? "#26282a" : "#c2c2c2"
elide: Text.ElideRight
horizontalAlignment: Text.AlignHCenter
verticalAlignment: Text.AlignVCenter
@@ -70,7 +69,7 @@ T.ToolButton {
implicitWidth: 26
implicitHeight: 26
- color: Qt.darker(control.Theme.pressColor, control.checkable && control.checked ? 1.5 : 1.0)
+ color: Qt.darker("#33333333", control.checkable && control.checked ? 1.5 : 1.0)
opacity: control.pressed ? 1.0 : control.checkable && control.checked ? 0.5 : 0
visible: control.pressed || (control.checkable && control.checked)
}
diff --git a/src/imports/controls/controls.pri b/src/imports/controls/controls.pri
index fa493508..d0cf0550 100644
--- a/src/imports/controls/controls.pri
+++ b/src/imports/controls/controls.pri
@@ -27,11 +27,3 @@ QML_FILES = \
ToolBar.qml \
ToolButton.qml \
Tumbler.qml
-
-HEADERS += \
- $$PWD/qquickthemedata_p.h \
- $$PWD/qquicktheme_p.h
-
-SOURCES += \
- $$PWD/qquicktheme.cpp \
- $$PWD/qquickthemedata.cpp
diff --git a/src/imports/controls/doc/images/qtlabscontrols-pageindicator.png b/src/imports/controls/doc/images/qtlabscontrols-pageindicator.png
index 4bef41e6..3f47fb9f 100644
--- a/src/imports/controls/doc/images/qtlabscontrols-pageindicator.png
+++ b/src/imports/controls/doc/images/qtlabscontrols-pageindicator.png
Binary files differ
diff --git a/src/imports/controls/doc/images/qtlabscontrols-scrollbar.png b/src/imports/controls/doc/images/qtlabscontrols-scrollbar.png
index 6756fd3c..65db9ad8 100644
--- a/src/imports/controls/doc/images/qtlabscontrols-scrollbar.png
+++ b/src/imports/controls/doc/images/qtlabscontrols-scrollbar.png
Binary files differ
diff --git a/src/imports/controls/doc/images/qtlabscontrols-scrollindicator.png b/src/imports/controls/doc/images/qtlabscontrols-scrollindicator.png
index f1ab6107..ea0923cc 100644
--- a/src/imports/controls/doc/images/qtlabscontrols-scrollindicator.png
+++ b/src/imports/controls/doc/images/qtlabscontrols-scrollindicator.png
Binary files differ
diff --git a/src/imports/controls/doc/snippets/qtlabscontrols-pageindicator.qml b/src/imports/controls/doc/snippets/qtlabscontrols-pageindicator.qml
index 7118d99f..f13e1213 100644
--- a/src/imports/controls/doc/snippets/qtlabscontrols-pageindicator.qml
+++ b/src/imports/controls/doc/snippets/qtlabscontrols-pageindicator.qml
@@ -28,10 +28,9 @@
import QtQuick 2.0
import Qt.labs.controls 1.0
-Rectangle {
+Frame {
width: 100
height: 100
- border.color: Theme.frameColor
//! [1]
PageIndicator {
diff --git a/src/imports/controls/doc/snippets/qtlabscontrols-scrollbar.qml b/src/imports/controls/doc/snippets/qtlabscontrols-scrollbar.qml
index 49416f84..b677137d 100644
--- a/src/imports/controls/doc/snippets/qtlabscontrols-scrollbar.qml
+++ b/src/imports/controls/doc/snippets/qtlabscontrols-scrollbar.qml
@@ -28,10 +28,9 @@
import QtQuick 2.0
import Qt.labs.controls 1.0
-Rectangle {
+Frame {
width: 100
height: 100
- border.color: Theme.frameColor
ScrollBar {
size: 0.3
diff --git a/src/imports/controls/doc/snippets/qtlabscontrols-scrollindicator.qml b/src/imports/controls/doc/snippets/qtlabscontrols-scrollindicator.qml
index 38a9e2eb..8efa0eed 100644
--- a/src/imports/controls/doc/snippets/qtlabscontrols-scrollindicator.qml
+++ b/src/imports/controls/doc/snippets/qtlabscontrols-scrollindicator.qml
@@ -28,10 +28,9 @@
import QtQuick 2.0
import Qt.labs.controls 1.0
-Rectangle {
+Frame {
width: 100
height: 100
- border.color: Theme.frameColor
ScrollIndicator {
size: 0.3
diff --git a/src/imports/controls/qquicktheme.cpp b/src/imports/controls/qquicktheme.cpp
deleted file mode 100644
index 923d452b..00000000
--- a/src/imports/controls/qquicktheme.cpp
+++ /dev/null
@@ -1,620 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Controls 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$
-**
-****************************************************************************/
-
-#include "qquicktheme_p.h"
-#include "qquickthemedata_p.h"
-#include "qquickstyle_p.h"
-
-#include <QtCore/qset.h>
-#include <QtCore/qpointer.h>
-#include <QtQml/qqmlengine.h>
-#include <QtQuick/qquickitem.h>
-#include <QtQuick/qquickwindow.h>
-#include <QtQuick/private/qquickitem_p.h>
-#include <QtQuick/private/qquickitemchangelistener_p.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype Theme
- \inherits QtObject
- \instantiates QQuickThemeAttached
- \inqmlmodule Qt.labs.controls
- \ingroup utilities
- \brief A theme interface.
-
- TODO
-*/
-
-/*!
- \qmlattachedproperty color Qt.labs.controls::Theme::accentColor
-*/
-
-/*!
- \qmlattachedproperty color Qt.labs.controls::Theme::backgroundColor
-*/
-
-/*!
- \qmlattachedproperty color Qt.labs.controls::Theme::disabledColor
-*/
-
-/*!
- \qmlattachedproperty color Qt.labs.controls::Theme::focusColor
-*/
-
-/*!
- \qmlattachedproperty color Qt.labs.controls::Theme::frameColor
-*/
-
-/*!
- \qmlattachedproperty color Qt.labs.controls::Theme::pressColor
-*/
-
-/*!
- \qmlattachedproperty color Qt.labs.controls::Theme::selectedTextColor
-*/
-
-/*!
- \qmlattachedproperty color Qt.labs.controls::Theme::selectionColor
-*/
-
-/*!
- \qmlattachedproperty color Qt.labs.controls::Theme::shadowColor
-*/
-
-/*!
- \qmlattachedproperty color Qt.labs.controls::Theme::textColor
-*/
-
-Q_GLOBAL_STATIC_WITH_ARGS(QQuickThemeData, globalThemeData, (QString::fromLatin1(":/qtlabscontrols/theme.json")))
-
-class QQuickThemeAttachedPrivate : public QObjectPrivate, public QQuickItemChangeListener
-{
- Q_DECLARE_PUBLIC(QQuickThemeAttached)
-
-public:
- QQuickThemeAttachedPrivate(const QQuickThemeData &data) : data(data),
- explicitAccentColor(false),
- explicitBackgroundColor(false),
- explicitBaseColor(false),
- explicitDisabledColor(false),
- explicitFocusColor(false),
- explicitFrameColor(false),
- explicitPressColor(false),
- explicitSelectedTextColor(false),
- explicitSelectionColor(false),
- explicitShadowColor(false),
- explicitTextColor(false) { }
-
- enum Method { Implicit, Explicit, Inherit };
-
- void setAccentColor(const QColor &color, Method method);
- void setBackgroundColor(const QColor &color, Method method);
- void setBaseColor(const QColor &color, Method method);
- void setDisabledColor(const QColor &color, Method method);
- void setFocusColor(const QColor &color, Method method);
- void setFrameColor(const QColor &color, Method method);
- void setPressColor(const QColor &color, Method method);
- void setSelectedTextColor(const QColor &color, Method method);
- void setSelectionColor(const QColor &color, Method method);
- void setShadowColor(const QColor &color, Method method);
- void setTextColor(const QColor &color, Method method);
-
- void inherit(QQuickThemeAttached *theme);
-
- const QQuickThemeData &resolve() const;
-
- // TODO: add QQuickItemChangeListener::itemSceneChanged()
- void itemParentChanged(QQuickItem *item, QQuickItem *parent) Q_DECL_OVERRIDE;
-
- QQuickThemeData data;
- QPointer<QQuickThemeAttached> parentTheme;
- QSet<QQuickThemeAttached *> childThemes;
-
- bool explicitAccentColor;
- bool explicitBackgroundColor;
- bool explicitBaseColor;
- bool explicitDisabledColor;
- bool explicitFocusColor;
- bool explicitFrameColor;
- bool explicitPressColor;
- bool explicitSelectedTextColor;
- bool explicitSelectionColor;
- bool explicitShadowColor;
- bool explicitTextColor;
-};
-
-void QQuickThemeAttachedPrivate::setAccentColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitAccentColor || method != Inherit) {
- explicitAccentColor = method == Explicit;
- if (data.accentColor() != color) {
- data.setAccentColor(color);
- emit q->accentColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setAccentColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::setBackgroundColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitBackgroundColor || method != Inherit) {
- explicitBackgroundColor = method == Explicit;
- if (data.backgroundColor() != color) {
- data.setBackgroundColor(color);
- emit q->backgroundColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setBackgroundColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::setBaseColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitBaseColor || method != Inherit) {
- explicitBaseColor = method == Explicit;
- if (data.baseColor() != color) {
- data.setBaseColor(color);
- emit q->baseColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setBaseColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::setDisabledColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitDisabledColor || method != Inherit) {
- explicitDisabledColor = method == Explicit;
- if (data.disabledColor() != color) {
- data.setDisabledColor(color);
- emit q->disabledColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setDisabledColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::setFocusColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitFocusColor || method != Inherit) {
- explicitFocusColor = method == Explicit;
- if (data.focusColor() != color) {
- data.setFocusColor(color);
- emit q->focusColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setFocusColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::setFrameColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitFrameColor || method != Inherit) {
- explicitFrameColor = method == Explicit;
- if (data.frameColor() != color) {
- data.setFrameColor(color);
- emit q->frameColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setFrameColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::setPressColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitPressColor || method != Inherit) {
- explicitPressColor = method == Explicit;
- if (data.pressColor() != color) {
- data.setPressColor(color);
- emit q->pressColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setPressColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::setSelectedTextColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitSelectedTextColor || method != Inherit) {
- explicitSelectedTextColor = method == Explicit;
- if (data.selectedTextColor() != color) {
- data.setSelectedTextColor(color);
- q->selectedTextColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setSelectedTextColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::setSelectionColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitSelectionColor || method != Inherit) {
- explicitSelectionColor = method == Explicit;
- if (data.selectionColor() != color) {
- data.setSelectionColor(color);
- emit q->selectionColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setSelectionColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::setShadowColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitShadowColor || method != Inherit) {
- explicitShadowColor = method == Explicit;
- if (data.shadowColor() != color) {
- data.setShadowColor(color);
- emit q->shadowColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setShadowColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::setTextColor(const QColor &color, Method method)
-{
- Q_Q(QQuickThemeAttached);
- if (!explicitTextColor || method != Inherit) {
- explicitTextColor = method == Explicit;
- if (data.textColor() != color) {
- data.setTextColor(color);
- emit q->textColorChanged();
-
- foreach (QQuickThemeAttached *child, childThemes)
- child->d_func()->setTextColor(color, Inherit);
- }
- }
-}
-
-void QQuickThemeAttachedPrivate::inherit(QQuickThemeAttached *theme)
-{
- setAccentColor(theme->accentColor(), Inherit);
- setBackgroundColor(theme->backgroundColor(), Inherit);
- setBaseColor(theme->baseColor(), QQuickThemeAttachedPrivate::Inherit);
- setDisabledColor(theme->disabledColor(), QQuickThemeAttachedPrivate::Inherit);
- setFocusColor(theme->focusColor(), Inherit);
- setFrameColor(theme->frameColor(), Inherit);
- setPressColor(theme->pressColor(), Inherit);
- setSelectedTextColor(theme->selectedTextColor(), Inherit);
- setSelectionColor(theme->selectionColor(), Inherit);
- setShadowColor(theme->shadowColor(), Inherit);
- setTextColor(theme->textColor(), Inherit);
-}
-
-const QQuickThemeData &QQuickThemeAttachedPrivate::resolve() const
-{
- Q_Q(const QQuickThemeAttached);
- QQuickThemeAttached *theme = QQuickStyle::findParent<QQuickThemeAttached>(const_cast<QQuickThemeAttached *>(q));
- return theme ? theme->d_func()->data : *globalThemeData();
-}
-
-void QQuickThemeAttachedPrivate::itemParentChanged(QQuickItem *item, QQuickItem *parentItem)
-{
- QQuickThemeAttached *theme = QQuickStyle::instance<QQuickThemeAttached>(item);
- if (theme) {
- QQuickThemeAttached *parent = QQuickStyle::findParent<QQuickThemeAttached>(parentItem);
- if (parent)
- theme->setParentTheme(parent);
- }
-}
-
-QQuickThemeAttached::QQuickThemeAttached(QObject *parent) :
- QObject(*(new QQuickThemeAttachedPrivate(*globalThemeData())), parent)
-{
- Q_D(QQuickThemeAttached);
- QQuickItem *item = qobject_cast<QQuickItem *>(parent);
- if (item)
- QQuickItemPrivate::get(item)->addItemChangeListener(d, QQuickItemPrivate::Parent);
-}
-
-QQuickThemeAttached::QQuickThemeAttached(const QQuickThemeData &data, QObject *parent) :
- QObject(*(new QQuickThemeAttachedPrivate(data)), parent)
-{
- Q_D(QQuickThemeAttached);
- QQuickItem *item = qobject_cast<QQuickItem *>(parent);
- if (item)
- QQuickItemPrivate::get(item)->addItemChangeListener(d, QQuickItemPrivate::Parent);
-}
-
-QQuickThemeAttached::~QQuickThemeAttached()
-{
- Q_D(QQuickThemeAttached);
- QQuickItem *item = qobject_cast<QQuickItem *>(parent());
- if (item)
- QQuickItemPrivate::get(item)->removeItemChangeListener(d, QQuickItemPrivate::Parent);
-
- setParentTheme(Q_NULLPTR);
-}
-
-QQuickThemeAttached *QQuickThemeAttached::qmlAttachedProperties(QObject *object)
-{
- QQuickThemeAttached *theme = Q_NULLPTR;
- QQuickThemeAttached *parent = QQuickStyle::findParent<QQuickThemeAttached>(object);
- if (parent) {
- theme = new QQuickThemeAttached(parent->d_func()->data, object);
- theme->setParentTheme(parent);
- } else {
- theme = new QQuickThemeAttached(object);
- }
-
- QList<QQuickThemeAttached *> childThemes = QQuickStyle::findChildren<QQuickThemeAttached>(object);
- foreach (QQuickThemeAttached *child, childThemes)
- child->setParentTheme(theme);
- return theme;
-}
-
-QQuickThemeAttached *QQuickThemeAttached::parentTheme() const
-{
- Q_D(const QQuickThemeAttached);
- return d->parentTheme;
-}
-
-void QQuickThemeAttached::setParentTheme(QQuickThemeAttached *theme)
-{
- Q_D(QQuickThemeAttached);
- if (d->parentTheme != theme) {
- if (d->parentTheme)
- d->parentTheme->d_func()->childThemes.remove(this);
- d->parentTheme = theme;
- if (theme) {
- theme->d_func()->childThemes.insert(this);
- d->inherit(theme);
- }
- }
-}
-
-QColor QQuickThemeAttached::accentColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.accentColor();
-}
-
-void QQuickThemeAttached::setAccentColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setAccentColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetAccentColor()
-{
- Q_D(QQuickThemeAttached);
- d->setAccentColor(d->resolve().accentColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QColor QQuickThemeAttached::backgroundColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.backgroundColor();
-}
-
-void QQuickThemeAttached::setBackgroundColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setBackgroundColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetBackgroundColor()
-{
- Q_D(QQuickThemeAttached);
- d->setBackgroundColor(d->resolve().backgroundColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QColor QQuickThemeAttached::baseColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.baseColor();
-}
-
-void QQuickThemeAttached::setBaseColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setBaseColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetBaseColor()
-{
- Q_D(QQuickThemeAttached);
- d->setBaseColor(d->resolve().baseColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QColor QQuickThemeAttached::disabledColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.disabledColor();
-}
-
-void QQuickThemeAttached::setDisabledColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setDisabledColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetDisabledColor()
-{
- Q_D(QQuickThemeAttached);
- d->setDisabledColor(d->resolve().disabledColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QColor QQuickThemeAttached::focusColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.focusColor();
-}
-
-void QQuickThemeAttached::setFocusColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setFocusColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetFocusColor()
-{
- Q_D(QQuickThemeAttached);
- d->setFocusColor(d->resolve().focusColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QColor QQuickThemeAttached::frameColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.frameColor();
-}
-
-void QQuickThemeAttached::setFrameColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setFrameColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetFrameColor()
-{
- Q_D(QQuickThemeAttached);
- d->setFrameColor(d->resolve().frameColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QColor QQuickThemeAttached::pressColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.pressColor();
-}
-
-void QQuickThemeAttached::setPressColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setPressColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetPressColor()
-{
- Q_D(QQuickThemeAttached);
- d->setPressColor(d->resolve().pressColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QColor QQuickThemeAttached::selectedTextColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.selectedTextColor();
-}
-
-void QQuickThemeAttached::setSelectedTextColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setSelectedTextColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetSelectedTextColor()
-{
- Q_D(QQuickThemeAttached);
- d->setSelectedTextColor(d->resolve().selectedTextColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QColor QQuickThemeAttached::selectionColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.selectionColor();
-}
-
-void QQuickThemeAttached::setSelectionColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setSelectionColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetSelectionColor()
-{
- Q_D(QQuickThemeAttached);
- d->setSelectionColor(d->resolve().selectionColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QColor QQuickThemeAttached::shadowColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.shadowColor();
-}
-
-void QQuickThemeAttached::setShadowColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setShadowColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetShadowColor()
-{
- Q_D(QQuickThemeAttached);
- d->setShadowColor(d->resolve().shadowColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QColor QQuickThemeAttached::textColor() const
-{
- Q_D(const QQuickThemeAttached);
- return d->data.textColor();
-}
-
-void QQuickThemeAttached::setTextColor(const QColor &color)
-{
- Q_D(QQuickThemeAttached);
- d->setTextColor(color, QQuickThemeAttachedPrivate::Explicit);
-}
-
-void QQuickThemeAttached::resetTextColor()
-{
- Q_D(QQuickThemeAttached);
- d->setTextColor(d->resolve().textColor(), QQuickThemeAttachedPrivate::Implicit);
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/qquicktheme_p.h b/src/imports/controls/qquicktheme_p.h
deleted file mode 100644
index 0d204537..00000000
--- a/src/imports/controls/qquicktheme_p.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Controls 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKTHEME_P_H
-#define QQUICKTHEME_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtQml/qqml.h>
-#include <QtGui/qcolor.h>
-#include <QtCore/qobject.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickThemeData;
-class QQuickThemeAttachedPrivate;
-
-class QQuickThemeAttached : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QColor accentColor READ accentColor WRITE setAccentColor RESET resetAccentColor NOTIFY accentColorChanged FINAL)
- Q_PROPERTY(QColor backgroundColor READ backgroundColor WRITE setBackgroundColor RESET resetBackgroundColor NOTIFY backgroundColorChanged FINAL)
- Q_PROPERTY(QColor baseColor READ baseColor WRITE setBaseColor RESET resetBaseColor NOTIFY baseColorChanged FINAL)
- Q_PROPERTY(QColor disabledColor READ disabledColor WRITE setDisabledColor RESET resetDisabledColor NOTIFY disabledColorChanged FINAL)
- Q_PROPERTY(QColor focusColor READ focusColor WRITE setFocusColor RESET resetFocusColor NOTIFY focusColorChanged FINAL)
- Q_PROPERTY(QColor frameColor READ frameColor WRITE setFrameColor RESET resetFrameColor NOTIFY frameColorChanged FINAL)
- Q_PROPERTY(QColor pressColor READ pressColor WRITE setPressColor RESET resetPressColor NOTIFY pressColorChanged FINAL)
- Q_PROPERTY(QColor selectedTextColor READ selectedTextColor WRITE setSelectedTextColor RESET resetSelectedTextColor NOTIFY selectedTextColorChanged FINAL)
- Q_PROPERTY(QColor selectionColor READ selectionColor WRITE setSelectionColor RESET resetSelectionColor NOTIFY selectionColorChanged FINAL)
- Q_PROPERTY(QColor shadowColor READ shadowColor WRITE setShadowColor RESET resetShadowColor NOTIFY shadowColorChanged FINAL)
- Q_PROPERTY(QColor textColor READ textColor WRITE setTextColor RESET resetTextColor NOTIFY textColorChanged FINAL)
-
-public:
- explicit QQuickThemeAttached(QObject *parent = Q_NULLPTR);
- explicit QQuickThemeAttached(const QQuickThemeData &data, QObject *parent = Q_NULLPTR);
- ~QQuickThemeAttached();
-
- static QQuickThemeAttached *qmlAttachedProperties(QObject *object);
-
- QQuickThemeAttached *parentTheme() const;
- void setParentTheme(QQuickThemeAttached *theme);
-
- QColor accentColor() const;
- void setAccentColor(const QColor &color);
- void resetAccentColor();
-
- QColor disabledColor() const;
- void setDisabledColor(const QColor &color);
- void resetDisabledColor();
-
- QColor backgroundColor() const;
- void setBackgroundColor(const QColor &color);
- void resetBackgroundColor();
-
- QColor baseColor() const;
- void setBaseColor(const QColor &color);
- void resetBaseColor();
-
- QColor focusColor() const;
- void setFocusColor(const QColor &color);
- void resetFocusColor();
-
- QColor frameColor() const;
- void setFrameColor(const QColor &color);
- void resetFrameColor();
-
- QColor pressColor() const;
- void setPressColor(const QColor &color);
- void resetPressColor();
-
- QColor selectedTextColor() const;
- void setSelectedTextColor(const QColor &color);
- void resetSelectedTextColor();
-
- QColor selectionColor() const;
- void setSelectionColor(const QColor &color);
- void resetSelectionColor();
-
- QColor shadowColor() const;
- void setShadowColor(const QColor &color);
- void resetShadowColor();
-
- QColor textColor() const;
- void setTextColor(const QColor &color);
- void resetTextColor();
-
-Q_SIGNALS:
- void accentColorChanged();
- void backgroundColorChanged();
- void baseColorChanged();
- void disabledColorChanged();
- void focusColorChanged();
- void frameColorChanged();
- void pressColorChanged();
- void selectedTextColorChanged();
- void selectionColorChanged();
- void shadowColorChanged();
- void textColorChanged();
-
-private:
- Q_DISABLE_COPY(QQuickThemeAttached)
- Q_DECLARE_PRIVATE(QQuickThemeAttached)
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPEINFO(QQuickThemeAttached, QML_HAS_ATTACHED_PROPERTIES)
-
-#endif // QQUICKTHEME_P_H
diff --git a/src/imports/controls/qquickthemedata.cpp b/src/imports/controls/qquickthemedata.cpp
deleted file mode 100644
index e5624412..00000000
--- a/src/imports/controls/qquickthemedata.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Controls 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$
-**
-****************************************************************************/
-
-#include "qquickthemedata_p.h"
-
-#include <QtCore/qfile.h>
-#include <QtCore/qjsondocument.h>
-#include <QtCore/qjsonobject.h>
-#include <QtCore/qjsonvalue.h>
-#include <QtCore/qdebug.h>
-
-QT_BEGIN_NAMESPACE
-
-QQuickThemeData::QQuickThemeData(const QString &filePath) : d(new Data)
-{
- if (!filePath.isEmpty())
- load(filePath);
-}
-
-static QColor readColorValue(const QJsonValue &value, const QColor &defaultValue)
-{
- if (value.isString())
- return QColor(value.toString());
- return QColor::fromRgba(value.toInt(defaultValue.rgba()));
-}
-
-bool QQuickThemeData::load(const QString &filePath)
-{
- QJsonDocument doc;
-
- QFile file(filePath);
- if (!file.open(QFile::ReadOnly | QFile::Text)) {
- qDebug() << file.error();
- qWarning() << "QQuickTheme: failed to open ':/qtlabscontrols/theme.json': " << qPrintable(file.errorString());
- return false;
- } else {
- QJsonParseError error;
- doc = QJsonDocument::fromJson(file.readAll(), &error);
- if (error.error != QJsonParseError::NoError) {
- qWarning() << "QQuickTheme: failed to parse ':/qtlabscontrols/theme.json': " << qPrintable(error.errorString());
- return false;
- }
- }
-
- QJsonObject theme = doc.object();
- d->accentColor = readColorValue(theme.value(QStringLiteral("accentColor")), QColor("#7bc258"));
- d->backgroundColor = readColorValue(theme.value(QStringLiteral("backgroundColor")), QColor("#ffffff"));
- d->baseColor = readColorValue(theme.value(QStringLiteral("baseColor")), QColor("#eeeeee"));
- d->disabledColor = readColorValue(theme.value(QStringLiteral("disabledColor")), QColor("#c2c2c2"));
- d->focusColor = readColorValue(theme.value(QStringLiteral("focusColor")), QColor("#45a7d7"));
- d->frameColor = readColorValue(theme.value(QStringLiteral("frameColor")), QColor("#bdbebf"));
- d->pressColor = readColorValue(theme.value(QStringLiteral("pressColor")), QColor("#33333333"));
- d->selectedTextColor = readColorValue(theme.value(QStringLiteral("selectedTextColor")), QColor("#ffffff"));
- d->selectionColor = readColorValue(theme.value(QStringLiteral("selectionColor")), QColor("#45a7d7"));
- d->shadowColor = readColorValue(theme.value(QStringLiteral("shadowColor")), QColor("#28282a"));
- d->textColor = readColorValue(theme.value(QStringLiteral("textColor")), QColor("#26282a"));
- return true;
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/controls/qquickthemedata_p.h b/src/imports/controls/qquickthemedata_p.h
deleted file mode 100644
index 6154aa2a..00000000
--- a/src/imports/controls/qquickthemedata_p.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the Qt Labs Controls 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$
-**
-****************************************************************************/
-
-#ifndef QQUICKTHEMEDATA_P_H
-#define QQUICKTHEMEDATA_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtGui/qcolor.h>
-#include <QtCore/qstring.h>
-#include <QtCore/qshareddata.h>
-
-QT_BEGIN_NAMESPACE
-
-class QQuickThemeData
-{
-public:
- QQuickThemeData(const QString &filePath = QString());
-
- bool load(const QString &filePath);
-
- QColor accentColor() const { return d->accentColor; }
- void setAccentColor(const QColor &color) { d->accentColor = color; }
-
- QColor backgroundColor() const { return d->backgroundColor; }
- void setBackgroundColor(const QColor &color) { d->backgroundColor = color; }
-
- QColor baseColor() const { return d->baseColor; }
- void setBaseColor(const QColor &color) { d->baseColor = color; }
-
- QColor disabledColor() const { return d->disabledColor; }
- void setDisabledColor(const QColor &color) { d->disabledColor = color; }
-
- QColor focusColor() const { return d->focusColor; }
- void setFocusColor(const QColor &color) { d->focusColor = color; }
-
- QColor frameColor() const { return d->frameColor; }
- void setFrameColor(const QColor &color) { d->frameColor = color; }
-
- QColor pressColor() const { return d->pressColor; }
- void setPressColor(const QColor &color) { d->pressColor = color; }
-
- QColor selectedTextColor() const { return d->selectedTextColor; }
- void setSelectedTextColor(const QColor &color) { d->selectedTextColor = color; }
-
- QColor selectionColor() const { return d->selectionColor; }
- void setSelectionColor(const QColor &color) { d->selectionColor = color; }
-
- QColor shadowColor() const { return d->shadowColor; }
- void setShadowColor(const QColor &color) { d->shadowColor = color; }
-
- QColor textColor() const { return d->textColor; }
- void setTextColor(const QColor &color) { d->textColor = color; }
-
-private:
- struct Data : public QSharedData {
- QColor accentColor;
- QColor baseColor;
- QColor backgroundColor;
- QColor disabledColor;
- QColor focusColor;
- QColor frameColor;
- QColor pressColor;
- QColor selectedTextColor;
- QColor selectionColor;
- QColor shadowColor;
- QColor textColor;
- };
- QSharedDataPointer<Data> d;
-};
-
-QT_END_NAMESPACE
-
-#endif // QQUICKTHEMEDATA_P_H
diff --git a/src/imports/controls/qtlabscontrolsplugin.cpp b/src/imports/controls/qtlabscontrolsplugin.cpp
index 8c65abc5..25b9c9ce 100644
--- a/src/imports/controls/qtlabscontrolsplugin.cpp
+++ b/src/imports/controls/qtlabscontrolsplugin.cpp
@@ -42,8 +42,6 @@
#include <QtLabsTemplates/private/qquickbuttongroup_p.h>
#include <QtLabsControls/private/qquickstyleselector_p.h>
-#include "qquicktheme_p.h"
-
void initResources()
{
Q_INIT_RESOURCE(qtlabscontrolsplugin);
@@ -63,8 +61,6 @@ public:
void QtLabsControlsPlugin::registerTypes(const char *uri)
{
- qmlRegisterUncreatableType<QQuickThemeAttached>(uri, 1, 0, "Theme", tr("Theme is an attached property"));
-
qmlRegisterType<QQuickButtonGroup>(uri, 1, 0, "ButtonGroup");
qmlRegisterType<QQuickButtonGroupAttached>();
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 98ea6f6c..cd287eeb 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -9,5 +9,4 @@ SUBDIRS += \
sanity \
snippets \
styles \
- theme \
universal
diff --git a/tests/auto/theme/data/tst_theme.qml b/tests/auto/theme/data/tst_theme.qml
deleted file mode 100644
index 03c19fc6..00000000
--- a/tests/auto/theme/data/tst_theme.qml
+++ /dev/null
@@ -1,295 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the test suite of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.2
-import QtQuick.Window 2.2
-import QtTest 1.0
-import Qt.labs.controls 1.0
-
-TestCase {
- id: testCase
- width: 200
- height: 200
- visible: true
- when: windowShown
- name: "Theme"
-
- Component {
- id: button
- Button { }
- }
-
- Component {
- id: themedButton
- Button {
- Theme.accentColor: "#111111"
- Theme.backgroundColor: "#222222"
- Theme.baseColor: "#333333"
- Theme.disabledColor: "#aaaaaa"
- Theme.focusColor: "#444444"
- Theme.frameColor: "#555555"
- Theme.pressColor: "#666666"
- Theme.selectedTextColor: "#777777"
- Theme.selectionColor: "#888888"
- Theme.textColor: "#999999"
- }
- }
-
- Component {
- id: window
- Window { }
- }
-
- Component {
- id: themedWindow
- Window {
- Theme.accentColor: "#111111"
- Theme.backgroundColor: "#222222"
- Theme.baseColor: "#333333"
- Theme.disabledColor: "#aaaaaa"
- Theme.focusColor: "#444444"
- Theme.frameColor: "#555555"
- Theme.pressColor: "#666666"
- Theme.selectedTextColor: "#777777"
- Theme.selectionColor: "#888888"
- Theme.textColor: "#999999"
- }
- }
-
- Component {
- id: loader
- Loader {
- active: false
- sourceComponent: Button { }
- }
- }
-
- Component {
- id: swipeView
- SwipeView {
- Theme.accentColor: "#111111"
- Button { }
- }
- }
-
- function test_defaults() {
- var control = button.createObject(testCase)
- verify(control)
- verify(control.Theme)
- verify(control.Theme.accentColor !== undefined)
- verify(control.Theme.backgroundColor !== undefined)
- verify(control.Theme.baseColor !== undefined)
- verify(control.Theme.disabledColor !== undefined)
- verify(control.Theme.focusColor !== undefined)
- verify(control.Theme.frameColor !== undefined)
- verify(control.Theme.pressColor !== undefined)
- verify(control.Theme.selectedTextColor !== undefined)
- verify(control.Theme.selectionColor !== undefined)
- verify(control.Theme.textColor !== undefined)
- control.destroy()
- }
-
- function test_set() {
- var control = button.createObject(testCase)
- verify(control)
- control.Theme.accentColor = "#111111"
- control.Theme.backgroundColor = "#222222"
- control.Theme.baseColor = "#333333"
- control.Theme.disabledColor = "#aaaaaa"
- control.Theme.focusColor = "#444444"
- control.Theme.frameColor = "#555555"
- control.Theme.pressColor = "#666666"
- control.Theme.selectedTextColor = "#777777"
- control.Theme.selectionColor = "#888888"
- control.Theme.textColor = "#999999"
- compare(control.Theme.accentColor, "#111111")
- compare(control.Theme.backgroundColor, "#222222")
- compare(control.Theme.baseColor, "#333333")
- compare(control.Theme.disabledColor, "#aaaaaa")
- compare(control.Theme.focusColor, "#444444")
- compare(control.Theme.frameColor, "#555555")
- compare(control.Theme.pressColor, "#666666")
- compare(control.Theme.selectedTextColor, "#777777")
- compare(control.Theme.selectionColor, "#888888")
- compare(control.Theme.textColor, "#999999")
- control.destroy()
- }
-
- function test_reset() {
- var control = themedButton.createObject(testCase)
- verify(control)
- compare(control.Theme.accentColor, "#111111")
- compare(control.Theme.backgroundColor, "#222222")
- compare(control.Theme.baseColor, "#333333")
- compare(control.Theme.disabledColor, "#aaaaaa")
- compare(control.Theme.focusColor, "#444444")
- compare(control.Theme.frameColor, "#555555")
- compare(control.Theme.pressColor, "#666666")
- compare(control.Theme.selectedTextColor, "#777777")
- compare(control.Theme.selectionColor, "#888888")
- compare(control.Theme.textColor, "#999999")
- control.Theme.accentColor = undefined
- control.Theme.backgroundColor = undefined
- control.Theme.baseColor = undefined
- control.Theme.disabledColor = undefined
- control.Theme.focusColor = undefined
- control.Theme.frameColor = undefined
- control.Theme.pressColor = undefined
- control.Theme.selectedTextColor = undefined
- control.Theme.selectionColor = undefined
- control.Theme.textColor = undefined
- compare(control.Theme.accentColor, testCase.Theme.accentColor)
- compare(control.Theme.backgroundColor, testCase.Theme.backgroundColor)
- compare(control.Theme.baseColor, testCase.Theme.baseColor)
- compare(control.Theme.disabledColor, testCase.Theme.disabledColor)
- compare(control.Theme.focusColor, testCase.Theme.focusColor)
- compare(control.Theme.frameColor, testCase.Theme.frameColor)
- compare(control.Theme.pressColor, testCase.Theme.pressColor)
- compare(control.Theme.selectedTextColor, testCase.Theme.selectedTextColor)
- compare(control.Theme.selectionColor, testCase.Theme.selectionColor)
- compare(control.Theme.textColor, testCase.Theme.textColor)
- control.destroy()
- }
-
- function test_inheritance_data() {
- return [
- { tag: "accentColor", value1: "#111111", value2: "#101010" },
- { tag: "backgroundColor", value1: "#222222", value2: "#202020" },
- { tag: "baseColor", value1: "#333333", value2: "#303030" },
- { tag: "disabledColor", value1: "#aaaaaa", value2: "#a0a0a0" },
- { tag: "focusColor", value1: "#444444", value2: "#404040" },
- { tag: "frameColor", value1: "#555555", value2: "#505050" },
- { tag: "pressColor", value1: "#666666", value2: "#606060" },
- { tag: "selectedTextColor", value1: "#777777", value2: "#707070" },
- { tag: "selectionColor", value1: "#888888", value2: "#808080" },
- { tag: "textColor", value1: "#999999", value2: "#909090" }
- ]
- }
-
- function test_inheritance(data) {
- var prop = data.tag
- var parent = button.createObject(testCase)
- parent.Theme[prop] = data.value1
- compare(parent.Theme[prop], data.value1)
-
- var child1 = button.createObject(parent)
- compare(child1.Theme[prop], data.value1)
-
- parent.Theme[prop] = data.value2
- compare(parent.Theme[prop], data.value2)
- compare(child1.Theme[prop], data.value2)
-
- var child2 = button.createObject(parent)
- compare(child2.Theme[prop], data.value2)
-
- child2.Theme[prop] = data.value1
- compare(child2.Theme[prop], data.value1)
- compare(child1.Theme[prop], data.value2)
- compare(parent.Theme[prop], data.value2)
-
- parent.Theme[prop] = undefined
- verify(parent.Theme[prop] !== data.value1)
- verify(parent.Theme[prop] !== data.value2)
- verify(parent.Theme[prop] !== undefined)
- compare(child1.Theme[prop], parent.Theme[prop])
- verify(child2.Theme[prop] !== parent.Theme[prop])
-
- var grandChild1 = button.createObject(child1)
- var grandChild2 = button.createObject(child2)
- compare(grandChild1.Theme[prop], child1.Theme[prop])
- compare(grandChild2.Theme[prop], child2.Theme[prop])
-
- var themelessGrandGrandChild = button.createObject(grandChild1)
- var grandGrandGrandChild1 = button.createObject(themelessGrandGrandChild)
- compare(grandGrandGrandChild1.Theme[prop], parent.Theme[prop])
-
- child1.Theme[prop] = data.value2
- verify(parent.Theme[prop] !== data.value2)
- compare(child1.Theme[prop], data.value2)
- compare(grandChild1.Theme[prop], data.value2)
- compare(grandGrandGrandChild1.Theme[prop], data.value2)
-
- parent.destroy()
- }
-
- function test_window() {
- var parent = window.createObject()
-
- var control = button.createObject(parent.contentItem)
- compare(control.Theme.backgroundColor, parent.Theme.backgroundColor)
-
- var themedChild = themedWindow.createObject(window)
- verify(themedChild.Theme.backgroundColor !== parent.Theme.backgroundColor)
-
- var unthemedChild = window.createObject(window)
- compare(unthemedChild.Theme.backgroundColor, parent.Theme.backgroundColor)
-
- parent.Theme.backgroundColor = "#123456"
- compare(control.Theme.backgroundColor, "#123456")
- verify(themedChild.Theme.backgroundColor !== "#123456")
- // ### FIXME: compare(unthemedChild.Theme.backgroundColor, "#123456")
-
- parent.destroy()
- }
-
- function test_loader() {
- var control = loader.createObject(testCase)
- control.Theme.accentColor = "#111111"
- control.active = true
- compare(control.item.Theme.accentColor, "#111111")
- control.Theme.accentColor = "#222222"
- compare(control.item.Theme.accentColor, "#222222")
- control.active = false
- control.Theme.accentColor = "#333333"
- control.active = true
- compare(control.item.Theme.accentColor, "#333333")
- control.destroy()
- }
-
- function test_swipeView() {
- var control = swipeView.createObject(testCase)
- verify(control)
- var child = control.itemAt(0)
- verify(child)
- compare(control.Theme.accentColor, "#111111")
- compare(child.Theme.accentColor, "#111111")
- control.destroy()
- }
-}
diff --git a/tests/auto/theme/theme.pro b/tests/auto/theme/theme.pro
deleted file mode 100644
index e8d1133a..00000000
--- a/tests/auto/theme/theme.pro
+++ /dev/null
@@ -1,12 +0,0 @@
-TEMPLATE = app
-TARGET = tst_theme
-CONFIG += qmltestcase
-
-SOURCES += \
- $$PWD/tst_theme.cpp
-
-OTHER_FILES += \
- $$PWD/data/*
-
-TESTDATA += \
- $$PWD/data/tst_*
diff --git a/tests/auto/theme/tst_theme.cpp b/tests/auto/theme/tst_theme.cpp
deleted file mode 100644
index 786a9b53..00000000
--- a/tests/auto/theme/tst_theme.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2015 The Qt Company Ltd.
-** Contact: http://www.qt.io/licensing/
-**
-** This file is part of the test suite 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$
-**
-****************************************************************************/
-
-#include <QtQuickTest/quicktest.h>
-QUICK_TEST_MAIN(tst_theme)