diff options
author | J-P Nurmi <jpnurmi@theqtcompany.com> | 2016-01-12 13:54:41 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2016-01-12 13:55:47 +0100 |
commit | 3bd5304827359c32e50f84c75436521c440bba86 (patch) | |
tree | fb570cfabaa581a6446def56169281cb6beb9a43 /src/imports/controls/material | |
parent | 4c7a8894562de4d69ea439cc62a02502a2d27be0 (diff) | |
parent | a3dddf0471452448003cfe6c6802e3ccaf565b5d (diff) |
Merge remote-tracking branch 'origin/5.6' into dev
Change-Id: I62205e6f9636270cbc0a39b8c5e2cd61c605f39f
Diffstat (limited to 'src/imports/controls/material')
5 files changed, 15 insertions, 9 deletions
diff --git a/src/imports/controls/material/BusyIndicator.qml b/src/imports/controls/material/BusyIndicator.qml index 6d5e4e8d..9eb48613 100644 --- a/src/imports/controls/material/BusyIndicator.qml +++ b/src/imports/controls/material/BusyIndicator.qml @@ -37,6 +37,7 @@ import QtQuick 2.6 import Qt.labs.templates 1.0 as T import Qt.labs.controls.material 1.0 +import Qt.labs.controls.material.impl 1.0 T.BusyIndicator { id: control diff --git a/src/imports/controls/material/ProgressBar.qml b/src/imports/controls/material/ProgressBar.qml index 34e1aaea..709ac28d 100644 --- a/src/imports/controls/material/ProgressBar.qml +++ b/src/imports/controls/material/ProgressBar.qml @@ -66,7 +66,7 @@ T.ProgressBar { x: (indeterminate ? offset * parent.width : 0) y: (parent.height - height) / 2 width: offset * (parent.width - x) - height: 6 + height: 4 color: control.Material.accentColor @@ -94,7 +94,7 @@ T.ProgressBar { x: control.leftPadding y: control.topPadding + (control.availableHeight - height) / 2 width: control.availableWidth - height: 6 + height: 4 color: Qt.rgba(control.Material.accentColor.r, control.Material.accentColor.g, control.Material.accentColor.b, 0.25) } diff --git a/src/imports/controls/material/material.pro b/src/imports/controls/material/material.pro index 06b9ed7d..63450289 100644 --- a/src/imports/controls/material/material.pro +++ b/src/imports/controls/material/material.pro @@ -3,7 +3,7 @@ TARGETPATH = Qt/labs/controls/material IMPORT_VERSION = 1.0 QT += qml quick -QT_PRIVATE += core-private gui-private qml-private quick-private labscontrols-private +QT_PRIVATE += core-private gui-private qml-private quick-private labstemplates-private labscontrols-private DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII diff --git a/src/imports/controls/material/qquickmaterialprogressring.cpp b/src/imports/controls/material/qquickmaterialprogressring.cpp index 54728686..c11a347f 100644 --- a/src/imports/controls/material/qquickmaterialprogressring.cpp +++ b/src/imports/controls/material/qquickmaterialprogressring.cpp @@ -74,6 +74,7 @@ public: void afterNodeSync() Q_DECL_OVERRIDE; private: + qreal m_devicePixelRatio; QSGNode *m_containerNode; QQuickWindow *m_window; }; @@ -165,6 +166,7 @@ QQuickAnimatorJob *QQuickMaterialRingAnimator::createJob() const } QQuickMaterialRingAnimatorJob::QQuickMaterialRingAnimatorJob() : + m_devicePixelRatio(1.0), m_containerNode(Q_NULLPTR), m_window(Q_NULLPTR) { @@ -179,6 +181,7 @@ void QQuickMaterialRingAnimatorJob::initialize(QQuickAnimatorController *control QQuickAnimatorJob::initialize(controller); m_containerNode = QQuickItemPrivate::get(m_target)->childContainerNode(); m_window = m_target->window(); + m_devicePixelRatio = m_window->effectiveDevicePixelRatio(); } void QQuickMaterialRingAnimatorJob::updateCurrentTime(int time) @@ -192,8 +195,8 @@ void QQuickMaterialRingAnimatorJob::updateCurrentTime(int time) Q_ASSERT(rectNode->type() == QSGNode::GeometryNodeType); - const qreal width = rectNode->rect().width(); - const qreal height = rectNode->rect().height(); + const qreal width = rectNode->rect().width() * m_devicePixelRatio; + const qreal height = rectNode->rect().height() * m_devicePixelRatio; QImage image(width, height, QImage::Format_ARGB32_Premultiplied); image.fill(Qt::transparent); @@ -203,7 +206,7 @@ void QQuickMaterialRingAnimatorJob::updateCurrentTime(int time) QPen pen; QQuickMaterialRingTexture *textureNode = static_cast<QQuickMaterialRingTexture*>(rectNode->firstChild()); pen.setColor(textureNode->color()); - pen.setWidth(4); + pen.setWidth(4 * m_devicePixelRatio); painter.setPen(pen); const qreal percentageComplete = time / qreal(rotationAnimationDuration); @@ -237,7 +240,7 @@ void QQuickMaterialRingAnimatorJob::updateCurrentTime(int time) } const int halfPen = pen.width() / 2; - const QRectF arcBounds = QRectF(rectNode->rect().adjusted(halfPen, halfPen, -halfPen, -halfPen)); + const QRectF arcBounds = QRectF(halfPen, halfPen, width - pen.width(), height - pen.width()); // The current angle of the rotation animation. const qreal rotation = oneDegree * percentageComplete * -targetRotation; startAngle -= rotation; diff --git a/src/imports/controls/material/qtlabsmaterialstyleplugin.cpp b/src/imports/controls/material/qtlabsmaterialstyleplugin.cpp index db8b47ee..975e5db6 100644 --- a/src/imports/controls/material/qtlabsmaterialstyleplugin.cpp +++ b/src/imports/controls/material/qtlabsmaterialstyleplugin.cpp @@ -76,8 +76,6 @@ QtLabsMaterialStylePlugin::~QtLabsMaterialStylePlugin() void QtLabsMaterialStylePlugin::registerTypes(const char *uri) { qmlRegisterUncreatableType<QQuickMaterialStyle>(uri, 1, 0, "Material", tr("Material is an attached property")); - qmlRegisterType<QQuickMaterialProgressRing>(uri, 1, 0, "ProgressRing"); - qmlRegisterType<QQuickMaterialRingAnimator>(uri, 1, 0, "RingAnimator"); } void QtLabsMaterialStylePlugin::initializeEngine(QQmlEngine *engine, const char *uri) @@ -97,6 +95,10 @@ void QtLabsMaterialStylePlugin::initializeEngine(QQmlEngine *engine, const char } initResources(); + + QByteArray import = QByteArray(uri) + ".impl"; + qmlRegisterType<QQuickMaterialProgressRing>(import, 1, 0, "ProgressRing"); + qmlRegisterType<QQuickMaterialRingAnimator>(import, 1, 0, "RingAnimator"); } QT_END_NAMESPACE |