diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-02-20 11:00:11 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-02-20 14:52:32 +0000 |
commit | f6b79da50c5823005759965620593bd4b4873ec6 (patch) | |
tree | 246d3ec9ea4254e34da559ab0e2c884bd27db26e /src | |
parent | 20a7378c8ff930571cc3fce81f1ae67cf1d4a5fe (diff) |
Add QQuickIcon::color
This will be used by the built-in styles to visualize various states
(gray when disabled, accent color when active...) and can be also set
or overridden by the users.
Change-Id: I293348415d7e66dea163190cdf35d60ce5407b5b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src')
-rw-r--r-- | src/quicktemplates2/qquickicon.cpp | 25 | ||||
-rw-r--r-- | src/quicktemplates2/qquickicon_p.h | 7 |
2 files changed, 31 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquickicon.cpp b/src/quicktemplates2/qquickicon.cpp index 48db39fa..cebfd66f 100644 --- a/src/quicktemplates2/qquickicon.cpp +++ b/src/quicktemplates2/qquickicon.cpp @@ -46,7 +46,8 @@ class QQuickIconPrivate : public QObjectPrivate public: QQuickIconPrivate() : width(0), - height(0) + height(0), + color(Qt::transparent) { } @@ -54,6 +55,7 @@ public: QString source; int width; int height; + QColor color; }; QQuickIcon::QQuickIcon(QObject *parent) @@ -125,4 +127,25 @@ void QQuickIcon::setHeight(int height) emit heightChanged(); } +QColor QQuickIcon::color() const +{ + Q_D(const QQuickIcon); + return d->color; +} + +void QQuickIcon::setColor(const QColor &color) +{ + Q_D(QQuickIcon); + if (color == d->color) + return; + + d->color = color; + emit colorChanged(); +} + +void QQuickIcon::resetColor() +{ + setColor(Qt::transparent); +} + QT_END_NAMESPACE diff --git a/src/quicktemplates2/qquickicon_p.h b/src/quicktemplates2/qquickicon_p.h index 02714d2b..8dae6d25 100644 --- a/src/quicktemplates2/qquickicon_p.h +++ b/src/quicktemplates2/qquickicon_p.h @@ -50,6 +50,7 @@ #include <QtCore/qobject.h> #include <QtQuickTemplates2/private/qtquicktemplates2global_p.h> +#include <QtGui/qcolor.h> QT_BEGIN_NAMESPACE @@ -62,6 +63,7 @@ class Q_QUICKTEMPLATES2_PRIVATE_EXPORT QQuickIcon : public QObject Q_PROPERTY(QString source READ source WRITE setSource NOTIFY sourceChanged FINAL) Q_PROPERTY(int width READ width WRITE setWidth NOTIFY widthChanged FINAL) Q_PROPERTY(int height READ height WRITE setHeight NOTIFY heightChanged FINAL) + Q_PROPERTY(QColor color READ color WRITE setColor RESET resetColor NOTIFY colorChanged FINAL) public: explicit QQuickIcon(QObject *parent = nullptr); @@ -78,11 +80,16 @@ public: int height() const; void setHeight(int height); + QColor color() const; + void setColor(const QColor &color); + void resetColor(); + Q_SIGNALS: void nameChanged(); void sourceChanged(); void widthChanged(); void heightChanged(); + void colorChanged(); private: Q_DISABLE_COPY(QQuickIcon) |