aboutsummaryrefslogtreecommitdiffstats
path: root/src/imports/controls/qquickdefaultprogressbar.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2017-05-11 12:48:55 +0200
committerJ-P Nurmi <jpnurmi@qt.io>2017-05-12 07:54:34 +0000
commit08dc547c859d6446d4bb589b50e0feccbffc7c9f (patch)
treee94235acea80d81d33cff1817ca6e7f4c8e73b25 /src/imports/controls/qquickdefaultprogressbar.cpp
parent910f9d6930fdd739e9490fa491986d74b6a57975 (diff)
Default: pass busy indicator and progress bar colors from QML
Default.textColor (also used in eg. RangeSlider to fill the range) is equal to the color that was previously hard-coded in qquickdefaultbusyindicator.cpp and qquickdefaultprogressbar.cpp. Change-Id: I8f0749862def31667b6ef2ab3b4c6ea71a590755 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/imports/controls/qquickdefaultprogressbar.cpp')
-rw-r--r--src/imports/controls/qquickdefaultprogressbar.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/src/imports/controls/qquickdefaultprogressbar.cpp b/src/imports/controls/qquickdefaultprogressbar.cpp
index 655cf518..f5bd1db8 100644
--- a/src/imports/controls/qquickdefaultprogressbar.cpp
+++ b/src/imports/controls/qquickdefaultprogressbar.cpp
@@ -51,7 +51,6 @@ static const int BlockSpan = Blocks * (BlockWidth + BlockRestingSpacing) - Block
static const int TotalDuration = 4000;
static const int SecondPhaseStart = TotalDuration * 0.4;
static const int ThirdPhaseStart = TotalDuration * 0.6;
-static const QRgb FillColor = 0x353637;
static inline qreal blockStartX(int blockIndex)
{
@@ -178,7 +177,7 @@ void QQuickDefaultProgressBarNode::sync(QQuickItem *item)
QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode*>(transformNode->firstChild());
if (!rectNode) {
rectNode = d->sceneGraphContext()->createInternalRectangleNode();
- rectNode->setColor(FillColor);
+ rectNode->setColor(bar->color());
transformNode->appendChildNode(rectNode);
}
@@ -200,7 +199,7 @@ void QQuickDefaultProgressBarNode::sync(QQuickItem *item)
QSGInternalRectangleNode *rectNode = static_cast<QSGInternalRectangleNode *>(firstChild());
if (!rectNode) {
rectNode = d->sceneGraphContext()->createInternalRectangleNode();
- rectNode->setColor(FillColor);
+ rectNode->setColor(bar->color());
appendChildNode(rectNode);
}
@@ -246,6 +245,20 @@ void QQuickDefaultProgressBar::setIndeterminate(bool indeterminate)
update();
}
+QColor QQuickDefaultProgressBar::color() const
+{
+ return m_color;
+}
+
+void QQuickDefaultProgressBar::setColor(const QColor &color)
+{
+ if (color == m_color)
+ return;
+
+ m_color = color;
+ update();
+}
+
void QQuickDefaultProgressBar::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
{
QQuickItem::itemChange(change, data);