diff options
author | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-04-24 00:40:49 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2015-04-23 23:11:53 +0000 |
commit | 2df3b1b930e3d151e14ace3f464b9caeadff0b04 (patch) | |
tree | f5071bf92b2f97507a26643fc7906f1fb440efcd /src/imports/controls/qquicktheme.cpp | |
parent | 1190d5c95846db8dbb6676c97a30befebb640076 (diff) |
Add Theme::disabledColor
Change-Id: I8bfc5a89aa75addd4cb1a5c0d5b58ea8b2bcf67c
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/imports/controls/qquicktheme.cpp')
-rw-r--r-- | src/imports/controls/qquicktheme.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/src/imports/controls/qquicktheme.cpp b/src/imports/controls/qquicktheme.cpp index 476379e3..a816b077 100644 --- a/src/imports/controls/qquicktheme.cpp +++ b/src/imports/controls/qquicktheme.cpp @@ -67,6 +67,10 @@ QT_BEGIN_NAMESPACE */ /*! + \qmlattachedproperty color QtQuickControls2::Theme::disabledColor +*/ + +/*! \qmlattachedproperty color QtQuickControls2::Theme::focusColor */ @@ -214,6 +218,7 @@ public: explicitAccentColor(false), explicitBackgroundColor(false), explicitBaseColor(false), + explicitDisabledColor(false), explicitFocusColor(false), explicitFrameColor(false), explicitPressColor(false), @@ -231,6 +236,7 @@ public: 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); @@ -257,6 +263,7 @@ public: bool explicitAccentColor; bool explicitBackgroundColor; bool explicitBaseColor; + bool explicitDisabledColor; bool explicitFocusColor; bool explicitFrameColor; bool explicitPressColor; @@ -315,6 +322,21 @@ void QQuickThemePrivate::setBaseColor(const QColor &color, Method method) } } +void QQuickThemePrivate::setDisabledColor(const QColor &color, Method method) +{ + Q_Q(QQuickTheme); + if (!explicitDisabledColor || method != Inherit) { + explicitDisabledColor = method == Explicit; + if (data.disabledColor() != color) { + data.setDisabledColor(color); + emit q->disabledColorChanged(); + + foreach (QQuickTheme *child, childThemes) + child->d_func()->setDisabledColor(color, Inherit); + } + } +} + void QQuickThemePrivate::setFocusColor(const QColor &color, Method method) { Q_Q(QQuickTheme); @@ -485,6 +507,7 @@ void QQuickThemePrivate::inherit(QQuickTheme *theme) setAccentColor(theme->accentColor(), Inherit); setBackgroundColor(theme->backgroundColor(), Inherit); setBaseColor(theme->baseColor(), QQuickThemePrivate::Inherit); + setDisabledColor(theme->disabledColor(), QQuickThemePrivate::Inherit); setFocusColor(theme->focusColor(), Inherit); setFrameColor(theme->frameColor(), Inherit); setPressColor(theme->pressColor(), Inherit); @@ -625,6 +648,24 @@ void QQuickTheme::resetBaseColor() d->setBaseColor(d->resolve().baseColor(), QQuickThemePrivate::Implicit); } +QColor QQuickTheme::disabledColor() const +{ + Q_D(const QQuickTheme); + return d->data.disabledColor(); +} + +void QQuickTheme::setDisabledColor(const QColor &color) +{ + Q_D(QQuickTheme); + d->setDisabledColor(color, QQuickThemePrivate::Explicit); +} + +void QQuickTheme::resetDisabledColor() +{ + Q_D(QQuickTheme); + d->setDisabledColor(d->resolve().disabledColor(), QQuickThemePrivate::Implicit); +} + QColor QQuickTheme::focusColor() const { Q_D(const QQuickTheme); |