From e6a8a5c229f802125baa33834b4ec4b19747a29b Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Sun, 23 Apr 2017 02:39:56 +0200 Subject: QSGBatchRenderer: Fix a performance regression noted by qmlbench 0a88774a0f11bf96a87012ac4a83e31ced19460b switched from using client side pointers to VBOs, ostensibly for core profile support. Unfortunately, some GPUs/drivers seem to suffer quite a bit with these, so only use them if we must. Results for changing_over_isolated_with_clip_rotated.qml: eskil_linux_tx1: Before: Average: 65.6 frames; using samples; MedianAll=65; StdDev=0.894427, CoV=0.0136346 After: Average: 120 frames; using samples; MedianAll=120; StdDev=0, CoV=0 eskil_linux_focault (nvidia) has a similar regression in all branches where the original commit is present, too: 5.6 & v5.8.0 tag: 600 5.8, 5.9 & dev branches: 399 Assuming this is the sole regression in that case and we end up at the original 600 again, that would be a 50% gain there, and an 81% increase on TX1. Change-Id: I44af9e67698356200f9587e77c9409fdb756519d Reviewed-by: Laszlo Agocs Reviewed-by: Gunnar Sletta --- src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 39 ++++++++++++++++------- 1 file changed, 28 insertions(+), 11 deletions(-) (limited to 'src/quick') diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index 14f8514289..bf54319db6 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -2029,6 +2029,15 @@ Renderer::ClipType Renderer::updateStencilClip(const QSGClipNode *clip) GLuint vbo = 0; int vboSize = 0; + bool useVBO = false; + QOpenGLContext *ctx = QOpenGLContext::currentContext(); + QSurfaceFormat::OpenGLContextProfile profile = ctx->format().profile(); + + if (!ctx->isOpenGLES() && profile == QSurfaceFormat::CoreProfile) { + // VBO are more expensive, so only use them if we must. + useVBO = true; + } + glDisable(GL_SCISSOR_TEST); m_currentStencilValue = 0; @@ -2113,20 +2122,27 @@ Renderer::ClipType Renderer::updateStencilClip(const QSGClipNode *clip) Q_ASSERT(g->attributeCount() > 0); const QSGGeometry::Attribute *a = g->attributes(); - if (!vbo) - glGenBuffers(1, &vbo); + const GLvoid *pointer; + if (!useVBO) { + pointer = g->vertexData(); + } else { + if (!vbo) + glGenBuffers(1, &vbo); - glBindBuffer(GL_ARRAY_BUFFER, vbo); + glBindBuffer(GL_ARRAY_BUFFER, vbo); - const int vertexByteSize = g->sizeOfVertex() * g->vertexCount(); - if (vboSize < vertexByteSize) { - vboSize = vertexByteSize; - glBufferData(GL_ARRAY_BUFFER, vertexByteSize, g->vertexData(), GL_STATIC_DRAW); - } else { - glBufferSubData(GL_ARRAY_BUFFER, 0, vertexByteSize, g->vertexData()); + const int vertexByteSize = g->sizeOfVertex() * g->vertexCount(); + if (vboSize < vertexByteSize) { + vboSize = vertexByteSize; + glBufferData(GL_ARRAY_BUFFER, vertexByteSize, g->vertexData(), GL_STATIC_DRAW); + } else { + glBufferSubData(GL_ARRAY_BUFFER, 0, vertexByteSize, g->vertexData()); + } + + pointer = 0; } - glVertexAttribPointer(0, a->tupleSize, a->type, GL_FALSE, g->sizeOfVertex(), 0); + glVertexAttribPointer(0, a->tupleSize, a->type, GL_FALSE, g->sizeOfVertex(), pointer); m_clipProgram.setUniformValue(m_clipMatrixId, m); if (g->indexCount()) { @@ -2135,7 +2151,8 @@ Renderer::ClipType Renderer::updateStencilClip(const QSGClipNode *clip) glDrawArrays(g->drawingMode(), 0, g->vertexCount()); } - glBindBuffer(GL_ARRAY_BUFFER, 0); + if (useVBO) + glBindBuffer(GL_ARRAY_BUFFER, 0); ++m_currentStencilValue; } -- cgit v1.2.3 From 4fae7dafb82b8fe0c0d963d0b53b35ead7c58f5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Otto=20Ryyn=C3=A4nen?= Date: Thu, 20 Apr 2017 09:25:28 +0300 Subject: Support for Q_OS_ANDROID_EMBEDDED and android-embedded builds A Native Android build (Boot to Qt Android injection) is defined by having both Q_OS_ANDROID and Q_OS_ANDROID_EMBEDDED flags defined, as well as having Qt config android-embedded. This commit enables the possibility to build native Android builds (i.e. Qt build for Android baselayer only, without JNI) Change-Id: I1007eb010545374038e2d09a053fe25f884efeba Reviewed-by: Robin Burchell --- src/quick/scenegraph/util/qsgatlastexture.cpp | 2 +- src/quick/scenegraph/util/qsgtexture.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'src/quick') diff --git a/src/quick/scenegraph/util/qsgatlastexture.cpp b/src/quick/scenegraph/util/qsgatlastexture.cpp index c864ea9496..2539e73362 100644 --- a/src/quick/scenegraph/util/qsgatlastexture.cpp +++ b/src/quick/scenegraph/util/qsgatlastexture.cpp @@ -140,7 +140,7 @@ Atlas::Atlas(const QSize &size) if (QOpenGLContext::currentContext()->isOpenGLES()) { #endif -#if defined(Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED) QString *deviceName = static_cast(QGuiApplication::platformNativeInterface()->nativeResourceForIntegration("AndroidDeviceName")); static bool wrongfullyReportsBgra8888Support = deviceName != 0 diff --git a/src/quick/scenegraph/util/qsgtexture.cpp b/src/quick/scenegraph/util/qsgtexture.cpp index 72125728a1..2a2767bf04 100644 --- a/src/quick/scenegraph/util/qsgtexture.cpp +++ b/src/quick/scenegraph/util/qsgtexture.cpp @@ -795,7 +795,7 @@ void QSGPlainTexture::bind() GLenum externalFormat = GL_RGBA; GLenum internalFormat = GL_RGBA; -#if defined(Q_OS_ANDROID) +#if defined(Q_OS_ANDROID) && !defined(Q_OS_ANDROID_EMBEDDED) QString *deviceName = static_cast(QGuiApplication::platformNativeInterface()->nativeResourceForIntegration("AndroidDeviceName")); static bool wrongfullyReportsBgra8888Support = deviceName != 0 -- cgit v1.2.3 From a7cb3ffb34dce269e0d1073bdd3ebfc39ade44a2 Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Mon, 24 Apr 2017 23:31:59 +0200 Subject: QQuickRectangle: Inline a method into its sole caller No point separating this out, and prepares us for a cleanup. Change-Id: I051d94a3a8f00525123de6d47d328cafe7623bba Reviewed-by: Gunnar Sletta --- src/quick/items/qquickrectangle.cpp | 11 ++++++++++- src/quick/items/qquickrectangle_p_p.h | 14 -------------- 2 files changed, 10 insertions(+), 15 deletions(-) (limited to 'src/quick') diff --git a/src/quick/items/qquickrectangle.cpp b/src/quick/items/qquickrectangle.cpp index 7ba2421d62..cbf0cdad64 100644 --- a/src/quick/items/qquickrectangle.cpp +++ b/src/quick/items/qquickrectangle.cpp @@ -356,7 +356,16 @@ void QQuickRectangle::doUpdate() QQuickPen *QQuickRectangle::border() { Q_D(QQuickRectangle); - return d->getPen(); + if (!d->pen) { + d->pen = new QQuickPen; + static int penChangedSignalIdx = -1; + if (penChangedSignalIdx < 0) + penChangedSignalIdx = QMetaMethod::fromSignal(&QQuickPen::penChanged).methodIndex(); + if (d->doUpdateSlotIdx < 0) + d->doUpdateSlotIdx = QQuickRectangle::staticMetaObject.indexOfSlot("doUpdate()"); + QMetaObject::connect(d->pen, penChangedSignalIdx, this, d->doUpdateSlotIdx); + } + return d->pen; } /*! diff --git a/src/quick/items/qquickrectangle_p_p.h b/src/quick/items/qquickrectangle_p_p.h index 50d5817951..b7cd91bd73 100644 --- a/src/quick/items/qquickrectangle_p_p.h +++ b/src/quick/items/qquickrectangle_p_p.h @@ -78,20 +78,6 @@ public: QQuickPen *pen; qreal radius; static int doUpdateSlotIdx; - - QQuickPen *getPen() { - if (!pen) { - Q_Q(QQuickRectangle); - pen = new QQuickPen; - static int penChangedSignalIdx = -1; - if (penChangedSignalIdx < 0) - penChangedSignalIdx = QMetaMethod::fromSignal(&QQuickPen::penChanged).methodIndex(); - if (doUpdateSlotIdx < 0) - doUpdateSlotIdx = QQuickRectangle::staticMetaObject.indexOfSlot("doUpdate()"); - QMetaObject::connect(pen, penChangedSignalIdx, q, doUpdateSlotIdx); - } - return pen; - } }; QT_END_NAMESPACE -- cgit v1.2.3 From 86ac78bdc0dce95489f3f8af1b4b062f426d399c Mon Sep 17 00:00:00 2001 From: Roman Pasechnik Date: Mon, 17 Apr 2017 07:59:02 +0200 Subject: Fix Canvas memory leak Task-number: QTBUG-59467 Change-Id: I3fa0e20676e453ec194ec71188172f4650313d1e Reviewed-by: Gunnar Sletta Reviewed-by: Robin Burchell --- src/quick/items/context2d/qquickcanvasitem.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/quick') diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp index bda3250c16..9a2e010e79 100644 --- a/src/quick/items/context2d/qquickcanvasitem.cpp +++ b/src/quick/items/context2d/qquickcanvasitem.cpp @@ -640,6 +640,10 @@ void QQuickCanvasItem::releaseResources() QQuickWindowQObjectCleanupJob::schedule(window(), d->textureProvider); d->textureProvider = 0; } + if (d->nodeTexture) { + QQuickWindowQObjectCleanupJob::schedule(window(), d->nodeTexture); + d->nodeTexture = 0; + } } bool QQuickCanvasItem::event(QEvent *event) @@ -662,6 +666,8 @@ void QQuickCanvasItem::invalidateSceneGraph() d->node = 0; // managed by the scene graph, just reset the pointer delete d->textureProvider; d->textureProvider = 0; + delete d->nodeTexture; + d->nodeTexture = 0; } void QQuickCanvasItem::schedulePolish() -- cgit v1.2.3 From 3390cc0274b7f71fec1e627017e24cd82904ab0b Mon Sep 17 00:00:00 2001 From: J-P Nurmi Date: Wed, 12 Apr 2017 09:51:25 +0200 Subject: QQuickText: apply updateSize() optimization for item change listeners QQuickTextPrivate::updateSize() emits implicitWidthChanged() and implicitHeightChanged() to see if anything is connected to the signals and therefore calls getImplicitWidth() or getImplicitHeight(), which again call updateSize() recursively. This way it can detect the recursion and avoid doing the size calculation multiple times. The problem with emitting the change notifier signals directly is that item change listeners (QQuickItemChangeListener) do not get notified. Item change listeners are commonly used by Qt Quick Layouts and Qt Quick Controls 2. By calling QQuickItemPrivate::implicitWidthChanged() and implicitHeightChanged() the item change listeners are also called in addition to emitting the change notifier signals. Results from qmlbench delegates_buttoncontrol2.qml run with the very latest dev-branch of qtquickcontrols2: Before: Average: 130.2 frames; using samples; MedianAll=130; StdDev=1.92354, CoV=0.0147737 After: Average: 139.4 frames; using samples; MedianAll=140; StdDev=0.894427, CoV=0.00641626 Task-number: QTBUG-59746 Change-Id: I4461cdf8ddc25f80a38756a1e2b5e3d7d1e84791 Reviewed-by: Robin Burchell --- src/quick/items/qquicktext.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/quick') diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp index c8bc76aef8..19b99fbea2 100644 --- a/src/quick/items/qquicktext.cpp +++ b/src/quick/items/qquicktext.cpp @@ -359,8 +359,8 @@ void QQuickTextPrivate::updateSize() } if (!requireImplicitSize) { - emit q->implicitWidthChanged(); - emit q->implicitHeightChanged(); + implicitWidthChanged(); + implicitHeightChanged(); // if the implicitWidth is used, then updateSize() has already been called (recursively) if (requireImplicitSize) return; -- cgit v1.2.3 From 02a33fc4c3e7adc96ecdc1c1e5e79253ddaa4222 Mon Sep 17 00:00:00 2001 From: Volodymyr Samokhatko Date: Wed, 5 Apr 2017 22:50:10 +0200 Subject: Fix populating selection clipboard with keyboard Task-number: QTBUG-59879 Change-Id: I7b6e769c6a027df6030b6ab014651b498f3059bf Reviewed-by: Shawn Rutledge --- src/quick/items/qquicktextcontrol.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/quick') diff --git a/src/quick/items/qquicktextcontrol.cpp b/src/quick/items/qquicktextcontrol.cpp index 2dce3e9ec8..2e23d69e5b 100644 --- a/src/quick/items/qquicktextcontrol.cpp +++ b/src/quick/items/qquicktextcontrol.cpp @@ -830,6 +830,9 @@ void QQuickTextControlPrivate::keyPressEvent(QKeyEvent *e) if (e == QKeySequence::SelectAll) { e->accept(); q->selectAll(); +#if QT_CONFIG(clipboard) + setClipboardSelection(); +#endif return; } #if QT_CONFIG(clipboard) @@ -955,6 +958,10 @@ process: accept: +#if QT_CONFIG(clipboard) + setClipboardSelection(); +#endif + e->accept(); cursorOn = true; -- cgit v1.2.3 From 31138f74d4d09e9e9e4f3041bfe88010fad99c32 Mon Sep 17 00:00:00 2001 From: Nico Vertriest Date: Mon, 24 Apr 2017 15:41:55 +0200 Subject: Doc: correct \sa statement qquickwindow.cpp:4198: warning: Can't link to 'Qt.application' Change-Id: I159ce3e432c8d88280dfd0b9de5831f33216ccad Reviewed-by: Venugopal Shivashankar --- src/quick/items/qquickwindow.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/quick') diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index d4195c7a05..03fb0bf6fe 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -4214,7 +4214,7 @@ void QQuickWindow::resetOpenGLState() \since 5.9 - \sa QWindow::setScreen(), QWindow::screen(), QScreen, Qt.application + \sa QWindow::setScreen(), QWindow::screen(), QScreen, {QtQml::Qt::application}{Qt.application} */ /*! -- cgit v1.2.3 From 6d4b447721549624bc68cf7ff5199a7a281c6a33 Mon Sep 17 00:00:00 2001 From: Nico Vertriest Date: Mon, 24 Apr 2017 15:20:03 +0200 Subject: Doc: correct reference to section adaptations.qdoc:28: warning: Can't link to 'qtquick-visualcanvas-scenegraph-openvg.html Change-Id: I55120ee84c4b0c8fd74fdbcaccb7e3acb0232f11 Reviewed-by: Venugopal Shivashankar --- src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/quick') diff --git a/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc b/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc index d80c72e0f1..76f863d07f 100644 --- a/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc +++ b/src/quick/doc/src/concepts/visualcanvas/adaptations.qdoc @@ -96,8 +96,7 @@ The OpenVG adaptation is an alternative renderer for \l {Qt Quick} 2 that will renderer the contents of the scene graph using OpenVG commands to provide hardware-acclerated 2D vector and raster graphics. The details for this adaptation are available here: -\l{qtquick-visualcanvas-scenegraph-openvg.html}{OpenVG Adaptation} - +\l{qtquick-visualcanvas-adaptations-openvg.html}{OpenVG Adaptation} */ -- cgit v1.2.3 From 395e32dd6c3a7bede4b55844b3e14b33861c4889 Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 7 Jan 2017 19:44:43 +0100 Subject: Document Screen virtualX and virtualY MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit These two properties were added without documentation. Change-Id: I12c259bf95470d3744dfd6f2fd8487120181fdf4 Reviewed-by: Shawn Rutledge Reviewed-by: Topi Reiniö --- src/quick/items/qquickscreen.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/quick') diff --git a/src/quick/items/qquickscreen.cpp b/src/quick/items/qquickscreen.cpp index 20c6973ee1..272e69bb56 100644 --- a/src/quick/items/qquickscreen.cpp +++ b/src/quick/items/qquickscreen.cpp @@ -85,6 +85,20 @@ QT_BEGIN_NAMESPACE The name of the screen. */ +/*! + \qmlattachedproperty int Screen::virtualX + \readonly + \since 5.9 + + The x coordinate of the screen within the virtual desktop. +*/ +/*! + \qmlattachedproperty int Screen::virtualY + \readonly + \since 5.9 + + The y coordinate of the screen within the virtual desktop. +*/ /*! \qmlattachedproperty int Screen::width \readonly -- cgit v1.2.3 From c3e8fc1038e1929f28880c4aff58f6a0c9db1cfd Mon Sep 17 00:00:00 2001 From: Liang Qi Date: Wed, 26 Apr 2017 10:58:46 +0200 Subject: Add a include to fix build for qsgshaderrewriter.cpp Due to the change, 164392548e3e1c7526d4eef4896748ef5162cf2d, in qtbase. Task-number: QTBUG-60411 Change-Id: I23db9dbe185f389c042e7039963bf0dae97d197a Reviewed-by: Marc Mutz --- src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp | 1 + 1 file changed, 1 insertion(+) (limited to 'src/quick') diff --git a/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp b/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp index 2b70139b37..1fdc1720f7 100644 --- a/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp +++ b/src/quick/scenegraph/coreapi/qsgshaderrewriter.cpp @@ -38,6 +38,7 @@ ****************************************************************************/ #include +#include #include // Duct Tape tokenizer for the purpose of parsing and rewriting -- cgit v1.2.3 From 80dc036882e06763b5202a5966422ba79538a2eb Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Tue, 25 Apr 2017 18:08:46 -0300 Subject: Run includemocs in qtdeclarative Change-Id: I84e363d735b443cb9beefffd14b8c023a37aa489 Reviewed-by: Lars Knoll --- src/quick/designer/qquickdesignercustomparserobject.cpp | 2 ++ src/quick/designer/qquickdesignerwindowmanager.cpp | 1 + src/quick/items/context2d/qquickcanvascontext.cpp | 1 + src/quick/items/context2d/qquickcanvasitem.cpp | 2 ++ src/quick/items/context2d/qquickcontext2d.cpp | 2 ++ src/quick/items/context2d/qquickcontext2dtexture.cpp | 2 ++ src/quick/items/qquickaccessibleattached.cpp | 2 ++ src/quick/items/qquickanimatedimage.cpp | 2 ++ src/quick/items/qquickanimatedsprite.cpp | 2 ++ src/quick/items/qquickborderimage.cpp | 2 ++ src/quick/items/qquickdrag.cpp | 2 ++ src/quick/items/qquickdroparea.cpp | 2 ++ src/quick/items/qquickflickable.cpp | 2 ++ src/quick/items/qquickflipable.cpp | 1 + src/quick/items/qquickfocusscope.cpp | 2 ++ src/quick/items/qquickframebufferobject.cpp | 1 + src/quick/items/qquickgenericshadereffect.cpp | 2 ++ src/quick/items/qquickgraphicsinfo.cpp | 2 ++ src/quick/items/qquickgridview.cpp | 2 ++ src/quick/items/qquickimage.cpp | 1 + src/quick/items/qquickimagebase.cpp | 2 ++ src/quick/items/qquickimplicitsizeitem.cpp | 2 ++ src/quick/items/qquickitem.cpp | 2 ++ src/quick/items/qquickitemanimation.cpp | 2 ++ src/quick/items/qquickitemgrabresult.cpp | 2 ++ src/quick/items/qquickitemview.cpp | 2 ++ src/quick/items/qquickitemviewtransition.cpp | 2 ++ src/quick/items/qquicklistview.cpp | 2 ++ src/quick/items/qquickmousearea.cpp | 2 ++ src/quick/items/qquickmultipointtoucharea.cpp | 2 ++ src/quick/items/qquickopenglinfo.cpp | 2 ++ src/quick/items/qquickopenglshadereffect.cpp | 2 ++ src/quick/items/qquickopenglshadereffectnode.cpp | 1 + src/quick/items/qquickpainteditem.cpp | 2 ++ src/quick/items/qquickpathview.cpp | 1 + src/quick/items/qquickpincharea.cpp | 1 + src/quick/items/qquickpositioners.cpp | 2 ++ src/quick/items/qquickrectangle.cpp | 2 ++ src/quick/items/qquickrendercontrol.cpp | 2 ++ src/quick/items/qquickrepeater.cpp | 2 ++ src/quick/items/qquickscreen.cpp | 2 ++ src/quick/items/qquickshadereffect.cpp | 2 ++ src/quick/items/qquickshadereffectmesh.cpp | 2 ++ src/quick/items/qquickshadereffectsource.cpp | 1 + src/quick/items/qquicksprite.cpp | 2 ++ src/quick/items/qquickspriteengine.cpp | 2 ++ src/quick/items/qquickspritesequence.cpp | 2 ++ src/quick/items/qquicktext.cpp | 2 ++ src/quick/items/qquicktextdocument.cpp | 3 +++ src/quick/items/qquicktextedit.cpp | 2 ++ src/quick/items/qquicktextinput.cpp | 1 + src/quick/items/qquicktextutil.cpp | 2 ++ src/quick/items/qquicktranslate.cpp | 2 ++ src/quick/items/qquickview.cpp | 2 ++ src/quick/items/qquickwindow.cpp | 1 + src/quick/items/qquickwindowattached.cpp | 2 ++ src/quick/items/qquickwindowmodule.cpp | 2 ++ src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp | 2 ++ src/quick/scenegraph/adaptations/software/qsgsoftwarelayer.cpp | 2 ++ src/quick/scenegraph/adaptations/software/qsgsoftwarepixmaptexture.cpp | 2 ++ src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp | 2 ++ .../scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp | 1 + src/quick/scenegraph/coreapi/qsgabstractrenderer.cpp | 2 ++ src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 2 ++ src/quick/scenegraph/qsgadaptationlayer.cpp | 2 ++ src/quick/scenegraph/qsgcontext.cpp | 1 + src/quick/scenegraph/qsgcontextplugin.cpp | 2 ++ src/quick/scenegraph/qsgdefaultlayer.cpp | 2 ++ src/quick/scenegraph/qsgdefaultrendercontext.cpp | 2 ++ src/quick/scenegraph/qsgrenderloop.cpp | 1 + src/quick/scenegraph/qsgthreadedrenderloop.cpp | 1 + src/quick/scenegraph/qsgwindowsrenderloop.cpp | 2 ++ src/quick/scenegraph/util/qsgatlastexture.cpp | 2 ++ src/quick/scenegraph/util/qsgengine.cpp | 2 ++ src/quick/scenegraph/util/qsgtexture.cpp | 3 +++ src/quick/scenegraph/util/qsgtextureprovider.cpp | 2 ++ src/quick/util/qquickanimation.cpp | 2 ++ src/quick/util/qquickanimationcontroller.cpp | 1 + src/quick/util/qquickanimator.cpp | 2 ++ src/quick/util/qquickanimatorcontroller.cpp | 2 ++ src/quick/util/qquickanimatorjob.cpp | 2 ++ src/quick/util/qquickapplication.cpp | 2 ++ src/quick/util/qquickbehavior.cpp | 2 ++ src/quick/util/qquickfontloader.cpp | 2 ++ src/quick/util/qquickfontmetrics.cpp | 2 ++ src/quick/util/qquickimageprovider.cpp | 1 + src/quick/util/qquickpath.cpp | 2 ++ src/quick/util/qquickpathinterpolator.cpp | 2 ++ src/quick/util/qquickpixmapcache.cpp | 2 ++ src/quick/util/qquickprofiler.cpp | 1 + src/quick/util/qquickpropertychanges.cpp | 2 ++ src/quick/util/qquickshortcut.cpp | 2 ++ src/quick/util/qquicksmoothedanimation.cpp | 2 ++ src/quick/util/qquickspringanimation.cpp | 2 ++ src/quick/util/qquickstate.cpp | 2 ++ src/quick/util/qquickstategroup.cpp | 1 + src/quick/util/qquicksystempalette.cpp | 2 ++ src/quick/util/qquicktextmetrics.cpp | 2 ++ src/quick/util/qquicktransition.cpp | 2 ++ src/quick/util/qquickvalidator.cpp | 1 + src/quick/util/qquickvaluetypes.cpp | 2 ++ 101 files changed, 184 insertions(+) (limited to 'src/quick') diff --git a/src/quick/designer/qquickdesignercustomparserobject.cpp b/src/quick/designer/qquickdesignercustomparserobject.cpp index b785abe361..9145b1367a 100644 --- a/src/quick/designer/qquickdesignercustomparserobject.cpp +++ b/src/quick/designer/qquickdesignercustomparserobject.cpp @@ -57,3 +57,5 @@ void QQuickDesignerCustomParser::applyBindings(QObject *, QV4::CompiledData::Com } QT_END_NAMESPACE + +#include "moc_qquickdesignercustomparserobject_p.cpp" diff --git a/src/quick/designer/qquickdesignerwindowmanager.cpp b/src/quick/designer/qquickdesignerwindowmanager.cpp index e2d7b98c33..093559a572 100644 --- a/src/quick/designer/qquickdesignerwindowmanager.cpp +++ b/src/quick/designer/qquickdesignerwindowmanager.cpp @@ -115,3 +115,4 @@ void QQuickDesignerWindowManager::update(QQuickWindow *window) QT_END_NAMESPACE +#include "moc_qquickdesignerwindowmanager_p.cpp" diff --git a/src/quick/items/context2d/qquickcanvascontext.cpp b/src/quick/items/context2d/qquickcanvascontext.cpp index 300f0489f4..1d61cacb7c 100644 --- a/src/quick/items/context2d/qquickcanvascontext.cpp +++ b/src/quick/items/context2d/qquickcanvascontext.cpp @@ -68,3 +68,4 @@ void QQuickCanvasContext::flush() QT_END_NAMESPACE +#include "moc_qquickcanvascontext_p.cpp" diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp index 9a2e010e79..670dc6d032 100644 --- a/src/quick/items/context2d/qquickcanvasitem.cpp +++ b/src/quick/items/context2d/qquickcanvasitem.cpp @@ -1252,3 +1252,5 @@ QRect QQuickCanvasItem::tiledRect(const QRectF &window, const QSize &tileSize) */ QT_END_NAMESPACE + +#include "moc_qquickcanvasitem_p.cpp" diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp index 0a7db7fa97..5674326d6c 100644 --- a/src/quick/items/context2d/qquickcontext2d.cpp +++ b/src/quick/items/context2d/qquickcontext2d.cpp @@ -4323,3 +4323,5 @@ void QQuickContext2D::setV4Engine(QV4::ExecutionEngine *engine) } QT_END_NAMESPACE + +#include "moc_qquickcontext2d_p.cpp" diff --git a/src/quick/items/context2d/qquickcontext2dtexture.cpp b/src/quick/items/context2d/qquickcontext2dtexture.cpp index d90f527486..df6dd9dba2 100644 --- a/src/quick/items/context2d/qquickcontext2dtexture.cpp +++ b/src/quick/items/context2d/qquickcontext2dtexture.cpp @@ -751,3 +751,5 @@ void QQuickContext2DImageTexture::compositeTile(QQuickContext2DTile* tile) } QT_END_NAMESPACE + +#include "moc_qquickcontext2dtexture_p.cpp" diff --git a/src/quick/items/qquickaccessibleattached.cpp b/src/quick/items/qquickaccessibleattached.cpp index 4e918802d1..c559ee8887 100644 --- a/src/quick/items/qquickaccessibleattached.cpp +++ b/src/quick/items/qquickaccessibleattached.cpp @@ -462,4 +462,6 @@ void QQuickAccessibleAttached::availableActions(QStringList *actions) const QT_END_NAMESPACE +#include "moc_qquickaccessibleattached_p.cpp" + #endif diff --git a/src/quick/items/qquickanimatedimage.cpp b/src/quick/items/qquickanimatedimage.cpp index 22ea4774be..adf460886a 100644 --- a/src/quick/items/qquickanimatedimage.cpp +++ b/src/quick/items/qquickanimatedimage.cpp @@ -491,3 +491,5 @@ void QQuickAnimatedImage::componentComplete() } QT_END_NAMESPACE + +#include "moc_qquickanimatedimage_p.cpp" diff --git a/src/quick/items/qquickanimatedsprite.cpp b/src/quick/items/qquickanimatedsprite.cpp index 76c2146ddb..4e71b0c65f 100644 --- a/src/quick/items/qquickanimatedsprite.cpp +++ b/src/quick/items/qquickanimatedsprite.cpp @@ -815,3 +815,5 @@ void QQuickAnimatedSprite::prepareNextFrame(QSGSpriteNode *node) } QT_END_NAMESPACE + +#include "moc_qquickanimatedsprite_p.cpp" diff --git a/src/quick/items/qquickborderimage.cpp b/src/quick/items/qquickborderimage.cpp index 28d834f9e2..75e3a3dbed 100644 --- a/src/quick/items/qquickborderimage.cpp +++ b/src/quick/items/qquickborderimage.cpp @@ -684,3 +684,5 @@ void QQuickBorderImage::pixmapChange() } QT_END_NAMESPACE + +#include "moc_qquickborderimage_p.cpp" diff --git a/src/quick/items/qquickdrag.cpp b/src/quick/items/qquickdrag.cpp index e5969eed7f..41847e5f01 100644 --- a/src/quick/items/qquickdrag.cpp +++ b/src/quick/items/qquickdrag.cpp @@ -995,4 +995,6 @@ QQuickDragAttached *QQuickDrag::qmlAttachedProperties(QObject *obj) QT_END_NAMESPACE +#include "moc_qquickdrag_p.cpp" + #endif // draganddrop diff --git a/src/quick/items/qquickdroparea.cpp b/src/quick/items/qquickdroparea.cpp index b314390915..c7606f90e1 100644 --- a/src/quick/items/qquickdroparea.cpp +++ b/src/quick/items/qquickdroparea.cpp @@ -618,4 +618,6 @@ void QQuickDropEvent::accept(QQmlV4Function *args) QT_END_NAMESPACE +#include "moc_qquickdroparea_p.cpp" + #endif // draganddrop diff --git a/src/quick/items/qquickflickable.cpp b/src/quick/items/qquickflickable.cpp index 27d7072f03..3bd647fed6 100644 --- a/src/quick/items/qquickflickable.cpp +++ b/src/quick/items/qquickflickable.cpp @@ -2721,3 +2721,5 @@ qreal QQuickFlickable::verticalOvershoot() const } QT_END_NAMESPACE + +#include "moc_qquickflickable_p.cpp" diff --git a/src/quick/items/qquickflipable.cpp b/src/quick/items/qquickflipable.cpp index f452893528..a960cd8b80 100644 --- a/src/quick/items/qquickflipable.cpp +++ b/src/quick/items/qquickflipable.cpp @@ -314,3 +314,4 @@ void QQuickFlipablePrivate::setBackTransform() QT_END_NAMESPACE #include "qquickflipable.moc" +#include "moc_qquickflipable_p.cpp" diff --git a/src/quick/items/qquickfocusscope.cpp b/src/quick/items/qquickfocusscope.cpp index f6c3a4a58f..de4494a521 100644 --- a/src/quick/items/qquickfocusscope.cpp +++ b/src/quick/items/qquickfocusscope.cpp @@ -67,3 +67,5 @@ QQuickFocusScope::~QQuickFocusScope() } QT_END_NAMESPACE + +#include "moc_qquickfocusscope_p.cpp" diff --git a/src/quick/items/qquickframebufferobject.cpp b/src/quick/items/qquickframebufferobject.cpp index 18a6a58467..52b19d994c 100644 --- a/src/quick/items/qquickframebufferobject.cpp +++ b/src/quick/items/qquickframebufferobject.cpp @@ -536,5 +536,6 @@ void QQuickFramebufferObject::Renderer::update() #include "qquickframebufferobject.moc" +#include "moc_qquickframebufferobject.cpp" QT_END_NAMESPACE diff --git a/src/quick/items/qquickgenericshadereffect.cpp b/src/quick/items/qquickgenericshadereffect.cpp index 2f8d71fc11..b366071962 100644 --- a/src/quick/items/qquickgenericshadereffect.cpp +++ b/src/quick/items/qquickgenericshadereffect.cpp @@ -656,3 +656,5 @@ void QQuickGenericShaderEffect::markGeometryDirtyAndUpdateIfSupportsAtlas() } QT_END_NAMESPACE + +#include "moc_qquickgenericshadereffect_p.cpp" diff --git a/src/quick/items/qquickgraphicsinfo.cpp b/src/quick/items/qquickgraphicsinfo.cpp index f735f17a4d..a36133874b 100644 --- a/src/quick/items/qquickgraphicsinfo.cpp +++ b/src/quick/items/qquickgraphicsinfo.cpp @@ -301,3 +301,5 @@ void QQuickGraphicsInfo::setWindow(QQuickWindow *window) } QT_END_NAMESPACE + +#include "moc_qquickgraphicsinfo_p.cpp" diff --git a/src/quick/items/qquickgridview.cpp b/src/quick/items/qquickgridview.cpp index e6a7a0acd0..fd78c46a16 100644 --- a/src/quick/items/qquickgridview.cpp +++ b/src/quick/items/qquickgridview.cpp @@ -2658,3 +2658,5 @@ QQuickGridViewAttached *QQuickGridView::qmlAttachedProperties(QObject *obj) } QT_END_NAMESPACE + +#include "moc_qquickgridview_p.cpp" diff --git a/src/quick/items/qquickimage.cpp b/src/quick/items/qquickimage.cpp index f71a2fbdbd..dacb43a421 100644 --- a/src/quick/items/qquickimage.cpp +++ b/src/quick/items/qquickimage.cpp @@ -87,6 +87,7 @@ public: }; #include "qquickimage.moc" +#include "moc_qquickimage_p.cpp" QQuickImagePrivate::QQuickImagePrivate() : fillMode(QQuickImage::Stretch) diff --git a/src/quick/items/qquickimagebase.cpp b/src/quick/items/qquickimagebase.cpp index 22d631e917..e8200bb97f 100644 --- a/src/quick/items/qquickimagebase.cpp +++ b/src/quick/items/qquickimagebase.cpp @@ -397,3 +397,5 @@ void QQuickImageBase::setAutoTransform(bool transform) } QT_END_NAMESPACE + +#include "moc_qquickimagebase_p.cpp" diff --git a/src/quick/items/qquickimplicitsizeitem.cpp b/src/quick/items/qquickimplicitsizeitem.cpp index 08886329fd..1996fb9489 100644 --- a/src/quick/items/qquickimplicitsizeitem.cpp +++ b/src/quick/items/qquickimplicitsizeitem.cpp @@ -75,3 +75,5 @@ QQuickImplicitSizeItem::QQuickImplicitSizeItem(QQuickImplicitSizeItemPrivate &dd } QT_END_NAMESPACE + +#include "moc_qquickimplicitsizeitem_p.cpp" diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 82c9f4a4c6..8e90827a3d 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -8407,3 +8407,5 @@ quint64 QQuickItemPrivate::_q_createJSWrapper(QV4::ExecutionEngine *engine) QT_END_NAMESPACE #include + +#include "moc_qquickitem_p.cpp" diff --git a/src/quick/items/qquickitemanimation.cpp b/src/quick/items/qquickitemanimation.cpp index 9873622f41..714a1a9012 100644 --- a/src/quick/items/qquickitemanimation.cpp +++ b/src/quick/items/qquickitemanimation.cpp @@ -1051,3 +1051,5 @@ QQuickPathAnimationAnimator::~QQuickPathAnimationAnimator() #endif // quick_path QT_END_NAMESPACE + +#include "moc_qquickitemanimation_p.cpp" diff --git a/src/quick/items/qquickitemgrabresult.cpp b/src/quick/items/qquickitemgrabresult.cpp index 12bcd43076..c3f8d4f024 100644 --- a/src/quick/items/qquickitemgrabresult.cpp +++ b/src/quick/items/qquickitemgrabresult.cpp @@ -415,3 +415,5 @@ bool QQuickItem::grabToImage(const QJSValue &callback, const QSize &targetSize) } QT_END_NAMESPACE + +#include "moc_qquickitemgrabresult.cpp" diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index a8bac633cc..555db03962 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -2507,3 +2507,5 @@ void QQuickItemViewPrivate::updateVisibleIndex() } QT_END_NAMESPACE + +#include "moc_qquickitemview_p.cpp" diff --git a/src/quick/items/qquickitemviewtransition.cpp b/src/quick/items/qquickitemviewtransition.cpp index 700c4cc620..04d93937eb 100644 --- a/src/quick/items/qquickitemviewtransition.cpp +++ b/src/quick/items/qquickitemviewtransition.cpp @@ -942,3 +942,5 @@ QQuickViewTransitionAttached *QQuickViewTransitionAttached::qmlAttachedPropertie } QT_END_NAMESPACE + +#include "moc_qquickitemviewtransition_p.cpp" diff --git a/src/quick/items/qquicklistview.cpp b/src/quick/items/qquicklistview.cpp index 0351077f20..f739115e6b 100644 --- a/src/quick/items/qquicklistview.cpp +++ b/src/quick/items/qquicklistview.cpp @@ -3442,3 +3442,5 @@ QQuickListViewAttached *QQuickListView::qmlAttachedProperties(QObject *obj) } QT_END_NAMESPACE + +#include "moc_qquicklistview_p.cpp" diff --git a/src/quick/items/qquickmousearea.cpp b/src/quick/items/qquickmousearea.cpp index c662efe40e..d8bad7d793 100644 --- a/src/quick/items/qquickmousearea.cpp +++ b/src/quick/items/qquickmousearea.cpp @@ -1429,3 +1429,5 @@ QSGNode *QQuickMouseArea::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData } QT_END_NAMESPACE + +#include "moc_qquickmousearea_p.cpp" diff --git a/src/quick/items/qquickmultipointtoucharea.cpp b/src/quick/items/qquickmultipointtoucharea.cpp index 1882976e0c..d4c447a384 100644 --- a/src/quick/items/qquickmultipointtoucharea.cpp +++ b/src/quick/items/qquickmultipointtoucharea.cpp @@ -1006,3 +1006,5 @@ QSGNode *QQuickMultiPointTouchArea::updatePaintNode(QSGNode *oldNode, UpdatePain } QT_END_NAMESPACE + +#include "moc_qquickmultipointtoucharea_p.cpp" diff --git a/src/quick/items/qquickopenglinfo.cpp b/src/quick/items/qquickopenglinfo.cpp index 4bb13b84aa..7f5364031a 100644 --- a/src/quick/items/qquickopenglinfo.cpp +++ b/src/quick/items/qquickopenglinfo.cpp @@ -200,3 +200,5 @@ void QQuickOpenGLInfo::setWindow(QQuickWindow *window) } QT_END_NAMESPACE + +#include "moc_qquickopenglinfo_p.cpp" diff --git a/src/quick/items/qquickopenglshadereffect.cpp b/src/quick/items/qquickopenglshadereffect.cpp index 4f4c403483..4fcfe04b55 100644 --- a/src/quick/items/qquickopenglshadereffect.cpp +++ b/src/quick/items/qquickopenglshadereffect.cpp @@ -973,3 +973,5 @@ void QQuickOpenGLShaderEffect::handleItemChange(QQuickItem::ItemChange change, c } QT_END_NAMESPACE + +#include "moc_qquickopenglshadereffect_p.cpp" diff --git a/src/quick/items/qquickopenglshadereffectnode.cpp b/src/quick/items/qquickopenglshadereffectnode.cpp index 2d2cffbeed..e1ea98641d 100644 --- a/src/quick/items/qquickopenglshadereffectnode.cpp +++ b/src/quick/items/qquickopenglshadereffectnode.cpp @@ -510,5 +510,6 @@ void QQuickOpenGLShaderEffectNode::preprocess() } #include "qquickopenglshadereffectnode.moc" +#include "moc_qquickopenglshadereffectnode_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/items/qquickpainteditem.cpp b/src/quick/items/qquickpainteditem.cpp index 3911bb0f28..34d71f00e8 100644 --- a/src/quick/items/qquickpainteditem.cpp +++ b/src/quick/items/qquickpainteditem.cpp @@ -683,3 +683,5 @@ void QQuickPaintedItem::itemChange(ItemChange change, const ItemChangeData &valu } QT_END_NAMESPACE + +#include "moc_qquickpainteditem.cpp" diff --git a/src/quick/items/qquickpathview.cpp b/src/quick/items/qquickpathview.cpp index 53e547fe98..aac2b0296a 100644 --- a/src/quick/items/qquickpathview.cpp +++ b/src/quick/items/qquickpathview.cpp @@ -2428,3 +2428,4 @@ QQuickPathViewAttached *QQuickPathView::qmlAttachedProperties(QObject *obj) QT_END_NAMESPACE +#include "moc_qquickpathview_p.cpp" diff --git a/src/quick/items/qquickpincharea.cpp b/src/quick/items/qquickpincharea.cpp index 6295aa1932..3f6ce7b8ba 100644 --- a/src/quick/items/qquickpincharea.cpp +++ b/src/quick/items/qquickpincharea.cpp @@ -796,3 +796,4 @@ QQuickPinch *QQuickPinchArea::pinch() QT_END_NAMESPACE +#include "moc_qquickpincharea_p.cpp" diff --git a/src/quick/items/qquickpositioners.cpp b/src/quick/items/qquickpositioners.cpp index 05d3ae0191..06b18d714b 100644 --- a/src/quick/items/qquickpositioners.cpp +++ b/src/quick/items/qquickpositioners.cpp @@ -2218,3 +2218,5 @@ void QQuickFlow::reportConflictingAnchors() } QT_END_NAMESPACE + +#include "moc_qquickpositioners_p.cpp" diff --git a/src/quick/items/qquickrectangle.cpp b/src/quick/items/qquickrectangle.cpp index 7ba2421d62..8ac982f74c 100644 --- a/src/quick/items/qquickrectangle.cpp +++ b/src/quick/items/qquickrectangle.cpp @@ -511,3 +511,5 @@ QSGNode *QQuickRectangle::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData } QT_END_NAMESPACE + +#include "moc_qquickrectangle_p.cpp" diff --git a/src/quick/items/qquickrendercontrol.cpp b/src/quick/items/qquickrendercontrol.cpp index e2a20f9e7e..f2828bbedd 100644 --- a/src/quick/items/qquickrendercontrol.cpp +++ b/src/quick/items/qquickrendercontrol.cpp @@ -457,3 +457,5 @@ QWindow *QQuickRenderControl::renderWindowFor(QQuickWindow *win, QPoint *offset) } QT_END_NAMESPACE + +#include "moc_qquickrendercontrol.cpp" diff --git a/src/quick/items/qquickrepeater.cpp b/src/quick/items/qquickrepeater.cpp index a7254464ed..9ad7d27b18 100644 --- a/src/quick/items/qquickrepeater.cpp +++ b/src/quick/items/qquickrepeater.cpp @@ -509,3 +509,5 @@ void QQuickRepeater::modelUpdated(const QQmlChangeSet &changeSet, bool reset) } QT_END_NAMESPACE + +#include "moc_qquickrepeater_p.cpp" diff --git a/src/quick/items/qquickscreen.cpp b/src/quick/items/qquickscreen.cpp index 272e69bb56..9b54b7fba9 100644 --- a/src/quick/items/qquickscreen.cpp +++ b/src/quick/items/qquickscreen.cpp @@ -449,3 +449,5 @@ void QQuickScreenAttached::screenChanged(QScreen *screen) } QT_END_NAMESPACE + +#include "moc_qquickscreen_p.cpp" diff --git a/src/quick/items/qquickshadereffect.cpp b/src/quick/items/qquickshadereffect.cpp index d317c1d19b..a41e9324f3 100644 --- a/src/quick/items/qquickshadereffect.cpp +++ b/src/quick/items/qquickshadereffect.cpp @@ -881,3 +881,5 @@ bool QQuickShaderEffect::isOpenGLShaderEffect() const #endif QT_END_NAMESPACE + +#include "moc_qquickshadereffect_p.cpp" diff --git a/src/quick/items/qquickshadereffectmesh.cpp b/src/quick/items/qquickshadereffectmesh.cpp index d23b576d42..4ea976a272 100644 --- a/src/quick/items/qquickshadereffectmesh.cpp +++ b/src/quick/items/qquickshadereffectmesh.cpp @@ -434,3 +434,5 @@ void QQuickBorderImageMesh::setVerticalTileMode(TileMode t) } QT_END_NAMESPACE + +#include "moc_qquickshadereffectmesh_p.cpp" diff --git a/src/quick/items/qquickshadereffectsource.cpp b/src/quick/items/qquickshadereffectsource.cpp index 1b37a746d3..6b1b16618a 100644 --- a/src/quick/items/qquickshadereffectsource.cpp +++ b/src/quick/items/qquickshadereffectsource.cpp @@ -756,5 +756,6 @@ void QQuickShaderEffectSource::itemChange(ItemChange change, const ItemChangeDat } #include "qquickshadereffectsource.moc" +#include "moc_qquickshadereffectsource_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/items/qquicksprite.cpp b/src/quick/items/qquicksprite.cpp index 63d3180842..aae657b749 100644 --- a/src/quick/items/qquicksprite.cpp +++ b/src/quick/items/qquicksprite.cpp @@ -269,3 +269,5 @@ void QQuickSprite::startImageLoading() } QT_END_NAMESPACE + +#include "moc_qquicksprite_p.cpp" diff --git a/src/quick/items/qquickspriteengine.cpp b/src/quick/items/qquickspriteengine.cpp index d26a1f8a64..92b60a8e3a 100644 --- a/src/quick/items/qquickspriteengine.cpp +++ b/src/quick/items/qquickspriteengine.cpp @@ -773,3 +773,5 @@ void QQuickStochasticEngine::addToUpdateList(uint t, int idx) } QT_END_NAMESPACE + +#include "moc_qquickspriteengine_p.cpp" diff --git a/src/quick/items/qquickspritesequence.cpp b/src/quick/items/qquickspritesequence.cpp index 858a3c0576..ae466aa482 100644 --- a/src/quick/items/qquickspritesequence.cpp +++ b/src/quick/items/qquickspritesequence.cpp @@ -329,3 +329,5 @@ void QQuickSpriteSequence::prepareNextFrame(QSGSpriteNode *node) } QT_END_NAMESPACE + +#include "moc_qquickspritesequence_p.cpp" diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp index c8bc76aef8..6d73af80fe 100644 --- a/src/quick/items/qquicktext.cpp +++ b/src/quick/items/qquicktext.cpp @@ -3056,3 +3056,5 @@ QJSValue QQuickText::fontInfo() const } QT_END_NAMESPACE + +#include "moc_qquicktext_p.cpp" diff --git a/src/quick/items/qquicktextdocument.cpp b/src/quick/items/qquicktextdocument.cpp index c272503480..5d2034defe 100644 --- a/src/quick/items/qquicktextdocument.cpp +++ b/src/quick/items/qquicktextdocument.cpp @@ -240,3 +240,6 @@ void QQuickTextDocumentWithImageResources::setText(const QString &text) QSet QQuickTextDocumentWithImageResources::errors; QT_END_NAMESPACE + +#include "moc_qquicktextdocument.cpp" +#include "moc_qquicktextdocument_p.cpp" diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp index 075fd48a46..61d610520f 100644 --- a/src/quick/items/qquicktextedit.cpp +++ b/src/quick/items/qquicktextedit.cpp @@ -3056,3 +3056,5 @@ void QQuickTextEdit::clear() } QT_END_NAMESPACE + +#include "moc_qquicktextedit_p.cpp" diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp index f4a88a1c45..a378359c95 100644 --- a/src/quick/items/qquicktextinput.cpp +++ b/src/quick/items/qquicktextinput.cpp @@ -4779,3 +4779,4 @@ void QQuickTextInput::resetBottomPadding() QT_END_NAMESPACE +#include "moc_qquicktextinput_p.cpp" diff --git a/src/quick/items/qquicktextutil.cpp b/src/quick/items/qquicktextutil.cpp index b07289f4a3..6aa6c5cb4b 100644 --- a/src/quick/items/qquicktextutil.cpp +++ b/src/quick/items/qquicktextutil.cpp @@ -110,3 +110,5 @@ qreal QQuickTextUtil::alignedY(const qreal textHeight, const qreal itemHeight, i } QT_END_NAMESPACE + +#include "moc_qquicktextutil_p.cpp" diff --git a/src/quick/items/qquicktranslate.cpp b/src/quick/items/qquicktranslate.cpp index c4a3d458f8..9937c692a5 100644 --- a/src/quick/items/qquicktranslate.cpp +++ b/src/quick/items/qquicktranslate.cpp @@ -530,3 +530,5 @@ void QQuickMatrix4x4::applyTo(QMatrix4x4 *matrix) const } QT_END_NAMESPACE + +#include "moc_qquicktranslate_p.cpp" diff --git a/src/quick/items/qquickview.cpp b/src/quick/items/qquickview.cpp index d7171bf910..8313b53a7d 100644 --- a/src/quick/items/qquickview.cpp +++ b/src/quick/items/qquickview.cpp @@ -615,3 +615,5 @@ void QQuickView::mouseReleaseEvent(QMouseEvent *e) QT_END_NAMESPACE + +#include "moc_qquickview.cpp" diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index 03fb0bf6fe..a8606ff1b6 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -169,6 +169,7 @@ private: }; #include "qquickwindow.moc" +#include "moc_qquickwindow_p.cpp" #if QT_CONFIG(accessibility) diff --git a/src/quick/items/qquickwindowattached.cpp b/src/quick/items/qquickwindowattached.cpp index c6380e2b9a..c8d71139ca 100644 --- a/src/quick/items/qquickwindowattached.cpp +++ b/src/quick/items/qquickwindowattached.cpp @@ -137,3 +137,5 @@ void QQuickWindowAttached::windowChange(QQuickWindow *window) } QT_END_NAMESPACE + +#include "moc_qquickwindowattached_p.cpp" diff --git a/src/quick/items/qquickwindowmodule.cpp b/src/quick/items/qquickwindowmodule.cpp index 6211b7802f..a5234d4f77 100644 --- a/src/quick/items/qquickwindowmodule.cpp +++ b/src/quick/items/qquickwindowmodule.cpp @@ -205,3 +205,5 @@ void QQuickWindowModule::defineModule() QT_END_NAMESPACE QML_DECLARE_TYPEINFO(QQuickWindowQmlImpl, QML_HAS_ATTACHED_PROPERTIES) + +#include "moc_qquickwindowmodule_p.cpp" diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp index d71b0c3e2a..aa850a80db 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarecontext.cpp @@ -222,3 +222,5 @@ void *QSGSoftwareContext::getResource(QQuickWindow *window, Resource resource) c } QT_END_NAMESPACE + +#include "moc_qsgsoftwarecontext_p.cpp" diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarelayer.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarelayer.cpp index 7020283898..2954f591ad 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarelayer.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarelayer.cpp @@ -259,3 +259,5 @@ void QSGSoftwareLayer::grab() } QT_END_NAMESPACE + +#include "moc_qsgsoftwarelayer_p.cpp" diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarepixmaptexture.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarepixmaptexture.cpp index 534a0a4ec6..16e3a111ae 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarepixmaptexture.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarepixmaptexture.cpp @@ -86,3 +86,5 @@ void QSGSoftwarePixmapTexture::bind() } QT_END_NAMESPACE + +#include "moc_qsgsoftwarepixmaptexture_p.cpp" diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp index b3b8274a73..962db20cbc 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarerenderloop.cpp @@ -269,3 +269,5 @@ void QSGSoftwareRenderLoop::handleUpdateRequest(QQuickWindow *window) } QT_END_NAMESPACE + +#include "moc_qsgsoftwarerenderloop_p.cpp" diff --git a/src/quick/scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp b/src/quick/scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp index 8abbefdd48..71db35377e 100644 --- a/src/quick/scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp +++ b/src/quick/scenegraph/adaptations/software/qsgsoftwarethreadedrenderloop.cpp @@ -1000,5 +1000,6 @@ void QSGSoftwareThreadedRenderLoop::polishAndSync(QSGSoftwareThreadedRenderLoop: } #include "qsgsoftwarethreadedrenderloop.moc" +#include "moc_qsgsoftwarethreadedrenderloop_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/scenegraph/coreapi/qsgabstractrenderer.cpp b/src/quick/scenegraph/coreapi/qsgabstractrenderer.cpp index eeed986939..3d4ce24716 100644 --- a/src/quick/scenegraph/coreapi/qsgabstractrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgabstractrenderer.cpp @@ -314,3 +314,5 @@ QSGAbstractRenderer::ClearMode QSGAbstractRenderer::clearMode() const */ QT_END_NAMESPACE + +#include "moc_qsgabstractrenderer.cpp" diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index bf54319db6..da28d9dee7 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -3221,3 +3221,5 @@ void Renderer::visualize() QT_END_NAMESPACE } + +#include "moc_qsgbatchrenderer_p.cpp" diff --git a/src/quick/scenegraph/qsgadaptationlayer.cpp b/src/quick/scenegraph/qsgadaptationlayer.cpp index 412023564f..0f7e555aa7 100644 --- a/src/quick/scenegraph/qsgadaptationlayer.cpp +++ b/src/quick/scenegraph/qsgadaptationlayer.cpp @@ -569,3 +569,5 @@ QDebug operator<<(QDebug debug, const QSGShaderEffectNode::VariableData &vd) #endif QT_END_NAMESPACE + +#include "moc_qsgadaptationlayer_p.cpp" diff --git a/src/quick/scenegraph/qsgcontext.cpp b/src/quick/scenegraph/qsgcontext.cpp index d52f69c7a3..c0a054a539 100644 --- a/src/quick/scenegraph/qsgcontext.cpp +++ b/src/quick/scenegraph/qsgcontext.cpp @@ -414,5 +414,6 @@ void QSGRenderContext::textureFactoryDestroyed(QObject *o) } #include "qsgcontext.moc" +#include "moc_qsgcontext_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/scenegraph/qsgcontextplugin.cpp b/src/quick/scenegraph/qsgcontextplugin.cpp index 635308c38a..46c2a1dbd9 100644 --- a/src/quick/scenegraph/qsgcontextplugin.cpp +++ b/src/quick/scenegraph/qsgcontextplugin.cpp @@ -233,3 +233,5 @@ void QSGContext::setBackend(const QString &backend) } QT_END_NAMESPACE + +#include "moc_qsgcontextplugin_p.cpp" diff --git a/src/quick/scenegraph/qsgdefaultlayer.cpp b/src/quick/scenegraph/qsgdefaultlayer.cpp index 78037a2fde..2897f53e32 100644 --- a/src/quick/scenegraph/qsgdefaultlayer.cpp +++ b/src/quick/scenegraph/qsgdefaultlayer.cpp @@ -462,3 +462,5 @@ QRectF QSGDefaultLayer::normalizedTextureSubRect() const m_mirrorHorizontal ? -1 : 1, m_mirrorVertical ? 1 : -1); } + +#include "moc_qsgdefaultlayer_p.cpp" diff --git a/src/quick/scenegraph/qsgdefaultrendercontext.cpp b/src/quick/scenegraph/qsgdefaultrendercontext.cpp index 2c5b4ff5c8..e42979934e 100644 --- a/src/quick/scenegraph/qsgdefaultrendercontext.cpp +++ b/src/quick/scenegraph/qsgdefaultrendercontext.cpp @@ -305,3 +305,5 @@ QSGDistanceFieldGlyphCache *QSGDefaultRenderContext::distanceFieldGlyphCache(con return cache; } + +#include "moc_qsgdefaultrendercontext_p.cpp" diff --git a/src/quick/scenegraph/qsgrenderloop.cpp b/src/quick/scenegraph/qsgrenderloop.cpp index fccc6bf16c..c27700cf84 100644 --- a/src/quick/scenegraph/qsgrenderloop.cpp +++ b/src/quick/scenegraph/qsgrenderloop.cpp @@ -501,5 +501,6 @@ void QSGGuiThreadRenderLoop::handleUpdateRequest(QQuickWindow *window) #endif #include "qsgrenderloop.moc" +#include "moc_qsgrenderloop_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/scenegraph/qsgthreadedrenderloop.cpp b/src/quick/scenegraph/qsgthreadedrenderloop.cpp index 6b45c0ad04..2364fb714c 100644 --- a/src/quick/scenegraph/qsgthreadedrenderloop.cpp +++ b/src/quick/scenegraph/qsgthreadedrenderloop.cpp @@ -1309,5 +1309,6 @@ void QSGThreadedRenderLoop::postJob(QQuickWindow *window, QRunnable *job) } #include "qsgthreadedrenderloop.moc" +#include "moc_qsgthreadedrenderloop_p.cpp" QT_END_NAMESPACE diff --git a/src/quick/scenegraph/qsgwindowsrenderloop.cpp b/src/quick/scenegraph/qsgwindowsrenderloop.cpp index eff6763a16..e16f7ea966 100644 --- a/src/quick/scenegraph/qsgwindowsrenderloop.cpp +++ b/src/quick/scenegraph/qsgwindowsrenderloop.cpp @@ -494,3 +494,5 @@ void QSGWindowsRenderLoop::renderWindow(QQuickWindow *window) } QT_END_NAMESPACE + +#include "moc_qsgwindowsrenderloop_p.cpp" diff --git a/src/quick/scenegraph/util/qsgatlastexture.cpp b/src/quick/scenegraph/util/qsgatlastexture.cpp index 2539e73362..22f0b13f46 100644 --- a/src/quick/scenegraph/util/qsgatlastexture.cpp +++ b/src/quick/scenegraph/util/qsgatlastexture.cpp @@ -533,3 +533,5 @@ QSGTexture *Texture::removedFromAtlas() const } QT_END_NAMESPACE + +#include "moc_qsgatlastexture_p.cpp" diff --git a/src/quick/scenegraph/util/qsgengine.cpp b/src/quick/scenegraph/util/qsgengine.cpp index 259e45c978..dffe199224 100644 --- a/src/quick/scenegraph/util/qsgengine.cpp +++ b/src/quick/scenegraph/util/qsgengine.cpp @@ -265,3 +265,5 @@ QSGNinePatchNode *QSGEngine::createNinePatchNode() const } QT_END_NAMESPACE + +#include "moc_qsgengine.cpp" diff --git a/src/quick/scenegraph/util/qsgtexture.cpp b/src/quick/scenegraph/util/qsgtexture.cpp index 2a2767bf04..4abee3d568 100644 --- a/src/quick/scenegraph/util/qsgtexture.cpp +++ b/src/quick/scenegraph/util/qsgtexture.cpp @@ -902,3 +902,6 @@ void QSGPlainTexture::bind() QT_END_NAMESPACE + +#include "moc_qsgtexture.cpp" +#include "moc_qsgtexture_p.cpp" diff --git a/src/quick/scenegraph/util/qsgtextureprovider.cpp b/src/quick/scenegraph/util/qsgtextureprovider.cpp index 2f6a789222..d67d9cfdbc 100644 --- a/src/quick/scenegraph/util/qsgtextureprovider.cpp +++ b/src/quick/scenegraph/util/qsgtextureprovider.cpp @@ -62,3 +62,5 @@ QT_BEGIN_NAMESPACE */ QT_END_NAMESPACE + +#include "moc_qsgtextureprovider.cpp" diff --git a/src/quick/util/qquickanimation.cpp b/src/quick/util/qquickanimation.cpp index 1a2441171d..bfac46adb9 100644 --- a/src/quick/util/qquickanimation.cpp +++ b/src/quick/util/qquickanimation.cpp @@ -2718,3 +2718,5 @@ QQuickAnimationPropertyUpdater::~QQuickAnimationPropertyUpdater() } QT_END_NAMESPACE + +#include "moc_qquickanimation_p.cpp" diff --git a/src/quick/util/qquickanimationcontroller.cpp b/src/quick/util/qquickanimationcontroller.cpp index fa1ade50d1..cebb0391ae 100644 --- a/src/quick/util/qquickanimationcontroller.cpp +++ b/src/quick/util/qquickanimationcontroller.cpp @@ -297,3 +297,4 @@ void QQuickAnimationController::completeToEnd() QT_END_NAMESPACE +#include "moc_qquickanimationcontroller_p.cpp" diff --git a/src/quick/util/qquickanimator.cpp b/src/quick/util/qquickanimator.cpp index c3b5865369..5608326f8a 100644 --- a/src/quick/util/qquickanimator.cpp +++ b/src/quick/util/qquickanimator.cpp @@ -585,3 +585,5 @@ QQuickAnimatorJob *QQuickUniformAnimator::createJob() const #endif QT_END_NAMESPACE + +#include "moc_qquickanimator_p.cpp" diff --git a/src/quick/util/qquickanimatorcontroller.cpp b/src/quick/util/qquickanimatorcontroller.cpp index 2f96c511c0..3f7347c01d 100644 --- a/src/quick/util/qquickanimatorcontroller.cpp +++ b/src/quick/util/qquickanimatorcontroller.cpp @@ -219,3 +219,5 @@ void QQuickAnimatorController::cancel(const QSharedPointer + +#include "moc_qquickfontloader_p.cpp" diff --git a/src/quick/util/qquickfontmetrics.cpp b/src/quick/util/qquickfontmetrics.cpp index 4609e638c2..8c44150486 100644 --- a/src/quick/util/qquickfontmetrics.cpp +++ b/src/quick/util/qquickfontmetrics.cpp @@ -346,3 +346,5 @@ QString QQuickFontMetrics::elidedText(const QString &text, Qt::TextElideMode mod } QT_END_NAMESPACE + +#include "moc_qquickfontmetrics_p.cpp" diff --git a/src/quick/util/qquickimageprovider.cpp b/src/quick/util/qquickimageprovider.cpp index 457691ac61..c80025f968 100644 --- a/src/quick/util/qquickimageprovider.cpp +++ b/src/quick/util/qquickimageprovider.cpp @@ -705,3 +705,4 @@ QQuickImageProviderWithOptions *QQuickImageProviderWithOptions::checkedCast(QQui QT_END_NAMESPACE +#include "moc_qquickimageprovider.cpp" diff --git a/src/quick/util/qquickpath.cpp b/src/quick/util/qquickpath.cpp index e31aed7b6d..8abb9377a6 100644 --- a/src/quick/util/qquickpath.cpp +++ b/src/quick/util/qquickpath.cpp @@ -1886,3 +1886,5 @@ void QQuickPathPercent::setValue(qreal value) } } QT_END_NAMESPACE + +#include "moc_qquickpath_p.cpp" diff --git a/src/quick/util/qquickpathinterpolator.cpp b/src/quick/util/qquickpathinterpolator.cpp index adc166dd8a..838213042e 100644 --- a/src/quick/util/qquickpathinterpolator.cpp +++ b/src/quick/util/qquickpathinterpolator.cpp @@ -169,3 +169,5 @@ void QQuickPathInterpolator::_q_pathUpdated() } QT_END_NAMESPACE + +#include "moc_qquickpathinterpolator_p.cpp" diff --git a/src/quick/util/qquickpixmapcache.cpp b/src/quick/util/qquickpixmapcache.cpp index 20b1108cb9..402897ca7a 100644 --- a/src/quick/util/qquickpixmapcache.cpp +++ b/src/quick/util/qquickpixmapcache.cpp @@ -1573,3 +1573,5 @@ bool QQuickPixmap::connectDownloadProgress(QObject *object, int method) QT_END_NAMESPACE #include + +#include "moc_qquickpixmapcache_p.cpp" diff --git a/src/quick/util/qquickprofiler.cpp b/src/quick/util/qquickprofiler.cpp index 841a1c9bcf..402cd44ff0 100644 --- a/src/quick/util/qquickprofiler.cpp +++ b/src/quick/util/qquickprofiler.cpp @@ -79,6 +79,7 @@ public: }; #include "qquickprofiler.moc" +#include "moc_qquickprofiler_p.cpp" QQuickProfiler::QQuickProfiler(QObject *parent) : QObject(parent) { diff --git a/src/quick/util/qquickpropertychanges.cpp b/src/quick/util/qquickpropertychanges.cpp index 20aa52e472..8d76bd986f 100644 --- a/src/quick/util/qquickpropertychanges.cpp +++ b/src/quick/util/qquickpropertychanges.cpp @@ -785,3 +785,5 @@ void QQuickPropertyChanges::attachToState() } QT_END_NAMESPACE + +#include "moc_qquickpropertychanges_p.cpp" diff --git a/src/quick/util/qquickshortcut.cpp b/src/quick/util/qquickshortcut.cpp index 72d9c889e3..2fe4962b1a 100644 --- a/src/quick/util/qquickshortcut.cpp +++ b/src/quick/util/qquickshortcut.cpp @@ -416,3 +416,5 @@ void QQuickShortcut::ungrabShortcut(Shortcut &shortcut) } QT_END_NAMESPACE + +#include "moc_qquickshortcut_p.cpp" diff --git a/src/quick/util/qquicksmoothedanimation.cpp b/src/quick/util/qquicksmoothedanimation.cpp index e7beee8ed3..607f39768b 100644 --- a/src/quick/util/qquicksmoothedanimation.cpp +++ b/src/quick/util/qquicksmoothedanimation.cpp @@ -568,3 +568,5 @@ void QQuickSmoothedAnimation::setMaximumEasingTime(int v) } QT_END_NAMESPACE + +#include "moc_qquicksmoothedanimation_p.cpp" diff --git a/src/quick/util/qquickspringanimation.cpp b/src/quick/util/qquickspringanimation.cpp index a9940959a0..bf844589ba 100644 --- a/src/quick/util/qquickspringanimation.cpp +++ b/src/quick/util/qquickspringanimation.cpp @@ -597,3 +597,5 @@ QAbstractAnimationJob* QQuickSpringAnimation::transition(QQuickStateActions &act } QT_END_NAMESPACE + +#include "moc_qquickspringanimation_p.cpp" diff --git a/src/quick/util/qquickstate.cpp b/src/quick/util/qquickstate.cpp index 2d3934cce8..0a49d41491 100644 --- a/src/quick/util/qquickstate.cpp +++ b/src/quick/util/qquickstate.cpp @@ -708,3 +708,5 @@ void QQuickStateOperation::setState(QQuickState *state) } QT_END_NAMESPACE + +#include "moc_qquickstate_p.cpp" diff --git a/src/quick/util/qquickstategroup.cpp b/src/quick/util/qquickstategroup.cpp index f2cd4638fc..ebcbbf93ed 100644 --- a/src/quick/util/qquickstategroup.cpp +++ b/src/quick/util/qquickstategroup.cpp @@ -514,3 +514,4 @@ void QQuickStateGroup::stateAboutToComplete() QT_END_NAMESPACE +#include "moc_qquickstategroup_p.cpp" diff --git a/src/quick/util/qquicksystempalette.cpp b/src/quick/util/qquicksystempalette.cpp index 7443c3f577..c5768a5d9f 100644 --- a/src/quick/util/qquicksystempalette.cpp +++ b/src/quick/util/qquicksystempalette.cpp @@ -285,3 +285,5 @@ void QQuickSystemPalette::setColorGroup(QQuickSystemPalette::ColorGroup colorGro } QT_END_NAMESPACE + +#include "moc_qquicksystempalette_p.cpp" diff --git a/src/quick/util/qquicktextmetrics.cpp b/src/quick/util/qquicktextmetrics.cpp index f969a1da42..43945b0f5a 100644 --- a/src/quick/util/qquicktextmetrics.cpp +++ b/src/quick/util/qquicktextmetrics.cpp @@ -265,3 +265,5 @@ QString QQuickTextMetrics::elidedText() const } QT_END_NAMESPACE + +#include "moc_qquicktextmetrics_p.cpp" diff --git a/src/quick/util/qquicktransition.cpp b/src/quick/util/qquicktransition.cpp index 1d258d84bf..29690a4857 100644 --- a/src/quick/util/qquicktransition.cpp +++ b/src/quick/util/qquicktransition.cpp @@ -457,3 +457,5 @@ QQmlListProperty QQuickTransition::animations() QT_END_NAMESPACE //#include + +#include "moc_qquicktransition_p.cpp" diff --git a/src/quick/util/qquickvalidator.cpp b/src/quick/util/qquickvalidator.cpp index 015a376603..a05117bd06 100644 --- a/src/quick/util/qquickvalidator.cpp +++ b/src/quick/util/qquickvalidator.cpp @@ -225,3 +225,4 @@ void QQuickDoubleValidator::resetLocaleName() QT_END_NAMESPACE +#include "moc_qquickvalidator_p.cpp" diff --git a/src/quick/util/qquickvaluetypes.cpp b/src/quick/util/qquickvaluetypes.cpp index 4afcb07a5c..4d34c6d661 100644 --- a/src/quick/util/qquickvaluetypes.cpp +++ b/src/quick/util/qquickvaluetypes.cpp @@ -758,3 +758,5 @@ void QQuickFontValueType::setHintingPreference(QQuickFontValueType::HintingPrefe } QT_END_NAMESPACE + +#include "moc_qquickvaluetypes_p.cpp" -- cgit v1.2.3 From 0757777f196647e04c6813f0347179437fdc4812 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Br=C3=BCning?= Date: Wed, 26 Apr 2017 09:40:37 +0200 Subject: Add a method to query the scene graph backend Since 5.8, it has been possible to set the scene graph backend using QQuickWindow::setSceneGraphBackend instead of using the environment variables. This caused some trouble with modules that need to know which backend is used and relied on the environment variables or command line options for getting this information. One example of such a module is Qt WebEngine, which crashed because it ended up trying to use OpenGL resources with the Qt Quick scenegraph software backend. Task-number: QTBUG-60232 Change-Id: Ia7c4860b16a9ce6fe9af73dfe5a5d2d19ebf5bfd Reviewed-by: Laszlo Agocs --- src/quick/items/qquickwindow.cpp | 14 ++++++++++++++ src/quick/items/qquickwindow.h | 1 + src/quick/scenegraph/qsgcontext_p.h | 1 + src/quick/scenegraph/qsgcontextplugin.cpp | 9 +++++++++ 4 files changed, 25 insertions(+) (limited to 'src/quick') diff --git a/src/quick/items/qquickwindow.cpp b/src/quick/items/qquickwindow.cpp index a8606ff1b6..8e78586697 100644 --- a/src/quick/items/qquickwindow.cpp +++ b/src/quick/items/qquickwindow.cpp @@ -4563,6 +4563,20 @@ void QQuickWindow::setSceneGraphBackend(const QString &backend) QSGContext::setBackend(backend); } +/*! + Returns the requested Qt Quick scenegraph \a backend. + + \note The return value of this function may still be outdated by + subsequent calls to setSceneGraphBackend() until the first QQuickWindow in the + application has been constructed. + + \since 5.9 + */ +QString QQuickWindow::sceneGraphBackend() +{ + return QSGContext::backend(); +} + /*! Creates a simple rectangle node. When the scenegraph is not initialized, the return value is null. diff --git a/src/quick/items/qquickwindow.h b/src/quick/items/qquickwindow.h index 27a73988ae..9c3e7277bc 100644 --- a/src/quick/items/qquickwindow.h +++ b/src/quick/items/qquickwindow.h @@ -162,6 +162,7 @@ public: static void setSceneGraphBackend(QSGRendererInterface::GraphicsApi api); static void setSceneGraphBackend(const QString &backend); + static QString sceneGraphBackend(); QSGRectangleNode *createRectangleNode() const; QSGImageNode *createImageNode() const; diff --git a/src/quick/scenegraph/qsgcontext_p.h b/src/quick/scenegraph/qsgcontext_p.h index 2f5d5790ee..1c4cd0ce90 100644 --- a/src/quick/scenegraph/qsgcontext_p.h +++ b/src/quick/scenegraph/qsgcontext_p.h @@ -145,6 +145,7 @@ public: static QSGRenderLoop *createWindowManager(); static void setBackend(const QString &backend); + static QString backend(); }; class Q_QUICK_PRIVATE_EXPORT QSGRenderContext : public QObject diff --git a/src/quick/scenegraph/qsgcontextplugin.cpp b/src/quick/scenegraph/qsgcontextplugin.cpp index 46c2a1dbd9..b8b5141957 100644 --- a/src/quick/scenegraph/qsgcontextplugin.cpp +++ b/src/quick/scenegraph/qsgcontextplugin.cpp @@ -232,6 +232,15 @@ void QSGContext::setBackend(const QString &backend) backendData->quickWindowBackendRequest = backend; } +QString QSGContext::backend() +{ + QSGAdaptationBackendData *backendData = qsg_adaptation_data(); + if (backendData->tried) + return backendData->name; + + return backendData->quickWindowBackendRequest; +} + QT_END_NAMESPACE #include "moc_qsgcontextplugin_p.cpp" -- cgit v1.2.3 From 803769c9c8c8e4976b54b3910edd79af8b34c257 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 27 Apr 2017 16:49:40 -0300 Subject: ICC issue: cast both sides of sign-bit-changing expressions to uint MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit QSGNode::DirtyForceUpdate is 0x8000, so when you shift it left by 16 positions, it becomes the sign bit. Either the result of that shift is int or sn->dirtyState is. qsgbatchrenderer.cpp(302): error #68: integer conversion resulted in a change of sign Change-Id: I84e363d735b443cb9beefffd14b958f9a622348b Reviewed-by: Tony Sarajärvi --- src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/quick') diff --git a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp index da28d9dee7..b8ebeaca63 100644 --- a/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp +++ b/src/quick/scenegraph/coreapi/qsgbatchrenderer.cpp @@ -299,7 +299,7 @@ void Updater::updateStates(QSGNode *n) qDebug() << " - transforms have changed"; if (sn->dirtyState & (QSGNode::DirtyOpacity << 16)) qDebug() << " - opacity has changed"; - if (sn->dirtyState & (QSGNode::DirtyForceUpdate << 16)) + if (uint(sn->dirtyState) & uint(QSGNode::DirtyForceUpdate << 16)) qDebug() << " - forceupdate"; } -- cgit v1.2.3 From b0cc12406ca853c0395f71436b3ef653eb383e97 Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Thu, 27 Apr 2017 15:39:36 +0200 Subject: QQuickImageBase: Avoid a signal connection altogether 7568922fa240e6e9440e9c6e93bf8ec00c06ec17 already made this faster (by making it not string-based, and used when it was required). We can do one better after d870ea28656a2155c39a1aabefa1c56871a017e4, by avoiding the connection altogether, and explicitly only updating when the DPI changes. This doesn't affect qmlbench performance a great deal AFAICT (presumably because ItemSceneChange events don't just fall out of the sky); but it will help when they do happen, and it will also no longer allocate memory (for the connection). Change-Id: I043f6e22565554cee9ce6346fa7feefadfff0c7a Reviewed-by: Mitch Curtis --- src/quick/items/qquickimagebase.cpp | 18 +++++++++--------- src/quick/items/qquickimagebase_p.h | 1 - 2 files changed, 9 insertions(+), 10 deletions(-) (limited to 'src/quick') diff --git a/src/quick/items/qquickimagebase.cpp b/src/quick/items/qquickimagebase.cpp index 33d69f5032..75a93908b1 100644 --- a/src/quick/items/qquickimagebase.cpp +++ b/src/quick/items/qquickimagebase.cpp @@ -328,18 +328,18 @@ void QQuickImageBase::requestProgress(qint64 received, qint64 total) void QQuickImageBase::itemChange(ItemChange change, const ItemChangeData &value) { - if (change == ItemSceneChange && value.window) - connect(value.window, &QQuickWindow::screenChanged, this, &QQuickImageBase::handleScreenChanged); + Q_D(QQuickImageBase); + // If the screen DPI changed, reload image. + if (change == ItemDevicePixelRatioHasChanged && value.realValue != d->devicePixelRatio) { + // ### how can we get here with !qmlEngine(this)? that implies + // itemChange() on an item pending deletion, which seems strange. + if (qmlEngine(this) && isComponentComplete() && d->url.isValid()) { + load(); + } + } QQuickItem::itemChange(change, value); } -void QQuickImageBase::handleScreenChanged(QScreen* screen) -{ - // Screen DPI might have changed, reload images on screen change. - if (qmlEngine(this) && screen && isComponentComplete()) - load(); -} - void QQuickImageBase::componentComplete() { Q_D(QQuickImageBase); diff --git a/src/quick/items/qquickimagebase_p.h b/src/quick/items/qquickimagebase_p.h index 532f6ce683..54b1f789c9 100644 --- a/src/quick/items/qquickimagebase_p.h +++ b/src/quick/items/qquickimagebase_p.h @@ -123,7 +123,6 @@ protected: private Q_SLOTS: virtual void requestFinished(); void requestProgress(qint64,qint64); - void handleScreenChanged(QScreen *screen); private: Q_DISABLE_COPY(QQuickImageBase) -- cgit v1.2.3 From a28b6107f82fefe2b4e0a5f553b6dae5e3186168 Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Mon, 24 Apr 2017 23:54:21 +0200 Subject: QQuickRectangle: Use parenting on QQuickPen to speed up pen changes We know that signal connections are slow, so let's not use them. QObject has a parent pointer sitting there that looks nice and ripe, so: let's set the parent pointer ourselves, and call update() via QQuickPen. This improves delegates_rect_border.qml on my mbp by ~5%: Before: 394.6 frames; using samples; MedianAll=395; StdDev=2.30217, CoV=0.00583419 After: 417.4 frames; using samples; MedianAll=417; StdDev=1.67332, CoV=0.00400891 ... and should additionally decrease memory (no more signal connection). Hopefully, the decrease in allocation and increase in performance might also help with stability, since some systems seem a little flappy with this one. Change-Id: I885654d606bc77d2949b9db81217426cf367b081 Reviewed-by: Gunnar Sletta Reviewed-by: Michael Brasser --- src/quick/items/qquickrectangle.cpp | 10 ++++------ src/quick/items/qquickrectangle_p_p.h | 1 - 2 files changed, 4 insertions(+), 7 deletions(-) (limited to 'src/quick') diff --git a/src/quick/items/qquickrectangle.cpp b/src/quick/items/qquickrectangle.cpp index cbf0cdad64..7d8e4de1c0 100644 --- a/src/quick/items/qquickrectangle.cpp +++ b/src/quick/items/qquickrectangle.cpp @@ -90,6 +90,7 @@ void QQuickPen::setWidth(qreal w) m_width = w; m_valid = m_color.alpha() && (qRound(m_width) >= 1 || (!m_aligned && m_width > 0)); + static_cast(parent())->update(); emit penChanged(); } @@ -102,6 +103,7 @@ void QQuickPen::setColor(const QColor &c) { m_color = c; m_valid = m_color.alpha() && (qRound(m_width) >= 1 || (!m_aligned && m_width > 0)); + static_cast(parent())->update(); emit penChanged(); } @@ -116,6 +118,7 @@ void QQuickPen::setPixelAligned(bool aligned) return; m_aligned = aligned; m_valid = m_color.alpha() && (qRound(m_width) >= 1 || (!m_aligned && m_width > 0)); + static_cast(parent())->update(); emit penChanged(); } @@ -358,12 +361,7 @@ QQuickPen *QQuickRectangle::border() Q_D(QQuickRectangle); if (!d->pen) { d->pen = new QQuickPen; - static int penChangedSignalIdx = -1; - if (penChangedSignalIdx < 0) - penChangedSignalIdx = QMetaMethod::fromSignal(&QQuickPen::penChanged).methodIndex(); - if (d->doUpdateSlotIdx < 0) - d->doUpdateSlotIdx = QQuickRectangle::staticMetaObject.indexOfSlot("doUpdate()"); - QMetaObject::connect(d->pen, penChangedSignalIdx, this, d->doUpdateSlotIdx); + QQml_setParent_noEvent(d->pen, this); } return d->pen; } diff --git a/src/quick/items/qquickrectangle_p_p.h b/src/quick/items/qquickrectangle_p_p.h index b7cd91bd73..3c1aaf7661 100644 --- a/src/quick/items/qquickrectangle_p_p.h +++ b/src/quick/items/qquickrectangle_p_p.h @@ -70,7 +70,6 @@ public: ~QQuickRectanglePrivate() { - delete pen; } QColor color; -- cgit v1.2.3 From 9709d04ba7787c853a1ddbeed0347eab27c0924f Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Tue, 25 Apr 2017 00:03:22 +0200 Subject: QQuickRectangle: Optimize setGradient Similarly to the QQuickPen optimization, we can avoid a signal connection by using the parent pointer of the QQuickGradient. This improves qmlbench's delegates_rect_gradient.qml by ~6% for me: Before: 300.6 frames; using samples; MedianAll=301; StdDev=4.61519, CoV=0.01535 After: 320.4 frames; using samples; MedianAll=321; StdDev=1.94936, CoV=0.00608414 Again, hopefully, the resulting lessening in allocations and improvement in performance will help stabilize the benchmark a little on some systems, as well as the improvement to performance and memory use. Change-Id: Id8e0399f5a4a0ef55d7fc9b8f100af229f389ddd Reviewed-by: Gunnar Sletta Reviewed-by: Michael Brasser --- src/quick/items/qquickrectangle.cpp | 19 ++----------------- src/quick/items/qquickrectangle_p.h | 6 ------ src/quick/items/qquickrectangle_p_p.h | 1 - 3 files changed, 2 insertions(+), 24 deletions(-) (limited to 'src/quick') diff --git a/src/quick/items/qquickrectangle.cpp b/src/quick/items/qquickrectangle.cpp index 7d8e4de1c0..27086c889b 100644 --- a/src/quick/items/qquickrectangle.cpp +++ b/src/quick/items/qquickrectangle.cpp @@ -1,5 +1,6 @@ /**************************************************************************** ** +** Copyright (C) 2017 Crimson AS ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** @@ -269,11 +270,9 @@ QGradientStops QQuickGradient::gradientStops() const void QQuickGradient::doUpdate() { - emit updated(); + static_cast(parent())->update(); } -int QQuickRectanglePrivate::doUpdateSlotIdx = -1; - /*! \qmltype Rectangle \instantiates QQuickRectangle @@ -327,11 +326,6 @@ QQuickRectangle::QQuickRectangle(QQuickItem *parent) setFlag(ItemHasContents); } -void QQuickRectangle::doUpdate() -{ - update(); -} - /*! \qmlproperty bool QtQuick::Rectangle::antialiasing @@ -396,16 +390,7 @@ void QQuickRectangle::setGradient(QQuickGradient *gradient) Q_D(QQuickRectangle); if (d->gradient == gradient) return; - static int updatedSignalIdx = -1; - if (updatedSignalIdx < 0) - updatedSignalIdx = QMetaMethod::fromSignal(&QQuickGradient::updated).methodIndex(); - if (d->doUpdateSlotIdx < 0) - d->doUpdateSlotIdx = QQuickRectangle::staticMetaObject.indexOfSlot("doUpdate()"); - if (d->gradient) - QMetaObject::disconnect(d->gradient, updatedSignalIdx, this, d->doUpdateSlotIdx); d->gradient = gradient; - if (d->gradient) - QMetaObject::connect(d->gradient, updatedSignalIdx, this, d->doUpdateSlotIdx); update(); } diff --git a/src/quick/items/qquickrectangle_p.h b/src/quick/items/qquickrectangle_p.h index 724a06013c..627f778e44 100644 --- a/src/quick/items/qquickrectangle_p.h +++ b/src/quick/items/qquickrectangle_p.h @@ -129,9 +129,6 @@ public: QGradientStops gradientStops() const; -Q_SIGNALS: - void updated(); - private: void doUpdate(); @@ -172,9 +169,6 @@ Q_SIGNALS: protected: QSGNode *updatePaintNode(QSGNode *, UpdatePaintNodeData *) Q_DECL_OVERRIDE; -private Q_SLOTS: - void doUpdate(); - private: Q_DISABLE_COPY(QQuickRectangle) Q_DECLARE_PRIVATE(QQuickRectangle) diff --git a/src/quick/items/qquickrectangle_p_p.h b/src/quick/items/qquickrectangle_p_p.h index 3c1aaf7661..e771beec87 100644 --- a/src/quick/items/qquickrectangle_p_p.h +++ b/src/quick/items/qquickrectangle_p_p.h @@ -76,7 +76,6 @@ public: QQuickGradient *gradient; QQuickPen *pen; qreal radius; - static int doUpdateSlotIdx; }; QT_END_NAMESPACE -- cgit v1.2.3 From 6336ac22caf393932ab404d078d670f17031689f Mon Sep 17 00:00:00 2001 From: Robin Burchell Date: Sat, 29 Apr 2017 23:40:01 +0200 Subject: QSGContext: Remove some dead code Unused since 906d5c5c40183468f9521277c6244a6c46730de6 (2013! :-)) Change-Id: Ie9e2326948279a46ddc933881a66847de66d51a9 Reviewed-by: Gunnar Sletta --- src/quick/scenegraph/qsgcontext.cpp | 8 -------- 1 file changed, 8 deletions(-) (limited to 'src/quick') diff --git a/src/quick/scenegraph/qsgcontext.cpp b/src/quick/scenegraph/qsgcontext.cpp index 2be84f4aec..d460794573 100644 --- a/src/quick/scenegraph/qsgcontext.cpp +++ b/src/quick/scenegraph/qsgcontext.cpp @@ -228,14 +228,6 @@ public: int m_good; }; -class QSGTextureCleanupEvent : public QEvent -{ -public: - QSGTextureCleanupEvent(QSGTexture *t) : QEvent(QEvent::User), texture(t) { } - ~QSGTextureCleanupEvent() { delete texture; } - QSGTexture *texture; -}; - /*! \class QSGContext -- cgit v1.2.3 From e6c0595b2138929f5cb6199cde9c3d79d549e0ae Mon Sep 17 00:00:00 2001 From: Eskil Abrahamsen Blomfeldt Date: Mon, 2 Jan 2017 12:35:35 +0100 Subject: Add advance property to QQuickText This is a step on the way to certain optimization possibilities for text in Qt Quick. Basically, to allow users the ability to split text into separate items (so that you can distinguish dynamic from static, and unshaped from shaped text), we also need a way to string those items together visually later. The advance property is required for this. [ChangeLog][QtQuick][Text] Added "advance" property to Text element. Task-number: QTBUG-56728 Change-Id: I8e7bf9bac410fa9c5553b48db90956431a2873f6 Reviewed-by: Simon Hausmann --- src/quick/items/qquicktext.cpp | 47 ++++++++++++++++++++++++++++++++++++++++ src/quick/items/qquicktext_p.h | 2 ++ src/quick/items/qquicktext_p_p.h | 1 + 3 files changed, 50 insertions(+) (limited to 'src/quick') diff --git a/src/quick/items/qquicktext.cpp b/src/quick/items/qquicktext.cpp index 09371db66d..080cc9412e 100644 --- a/src/quick/items/qquicktext.cpp +++ b/src/quick/items/qquicktext.cpp @@ -384,6 +384,7 @@ void QQuickTextPrivate::updateSize() updateBaseline(fm.ascent(), q->height() - fontHeight - vPadding); q->setImplicitSize(hPadding, fontHeight + vPadding); layedOutTextRect = QRectF(0, 0, 0, fontHeight); + advance = QSizeF(); emit q->contentSizeChanged(); updateType = UpdatePaintNode; q->update(); @@ -457,8 +458,26 @@ void QQuickTextPrivate::updateSize() if (iWidth == -1) q->setImplicitHeight(size.height() + vPadding); + + QTextBlock firstBlock = extra->doc->firstBlock(); + while (firstBlock.layout()->lineCount() == 0) + firstBlock = firstBlock.next(); + + QTextBlock lastBlock = extra->doc->lastBlock(); + while (lastBlock.layout()->lineCount() == 0) + lastBlock = lastBlock.previous(); + + if (firstBlock.lineCount() > 0 && lastBlock.lineCount() > 0) { + QTextLine firstLine = firstBlock.layout()->lineAt(0); + QTextLine lastLine = lastBlock.layout()->lineAt(lastBlock.layout()->lineCount() - 1); + advance = QSizeF(lastLine.horizontalAdvance(), + (lastLine.y() + lastBlock.layout()->position().y()) - (firstLine.y() + firstBlock.layout()->position().y())); + } else { + advance = QSizeF(); + } } + if (layedOutTextRect.size() != previousSize) emit q->contentSizeChanged(); updateType = UpdatePaintNode; @@ -968,6 +987,16 @@ QRectF QQuickTextPrivate::setupTextLayout(qreal *const baseline) br.moveTop(0); + // Find the advance of the text layout + if (layout.lineCount() > 0) { + QTextLine firstLine = layout.lineAt(0); + QTextLine lastLine = layout.lineAt(layout.lineCount() - 1); + advance = QSizeF(lastLine.horizontalAdvance(), + lastLine.y() - firstLine.y()); + } else { + advance = QSizeF(); + } + if (!horizontalFit && !verticalFit) break; @@ -3055,6 +3084,24 @@ QJSValue QQuickText::fontInfo() const return value; } +/*! + \qmlproperty size QtQuick::Text::advance + \since 5.10 + + The distance, in pixels, from the baseline origin of the first + character of the text item, to the baseline origin of the first + character in a text item occurring directly after this one + in a text flow. + + Note that the advance can be negative if the text flows from + the right to the left. +*/ +QSizeF QQuickText::advance() const +{ + Q_D(const QQuickText); + return d->advance; +} + QT_END_NAMESPACE #include "moc_qquicktext_p.cpp" diff --git a/src/quick/items/qquicktext_p.h b/src/quick/items/qquicktext_p.h index b190738cfb..a56bcdb87b 100644 --- a/src/quick/items/qquicktext_p.h +++ b/src/quick/items/qquicktext_p.h @@ -99,6 +99,7 @@ class Q_QUICK_PRIVATE_EXPORT QQuickText : public QQuickImplicitSizeItem Q_PROPERTY(qreal bottomPadding READ bottomPadding WRITE setBottomPadding RESET resetBottomPadding NOTIFY bottomPaddingChanged REVISION 6) Q_PROPERTY(QJSValue fontInfo READ fontInfo NOTIFY fontInfoChanged REVISION 9) + Q_PROPERTY(QSizeF advance READ advance NOTIFY contentSizeChanged REVISION 10) public: QQuickText(QQuickItem *parent=0); @@ -251,6 +252,7 @@ public: void resetBottomPadding(); QJSValue fontInfo() const; + QSizeF advance() const; Q_SIGNALS: void textChanged(const QString &text); diff --git a/src/quick/items/qquicktext_p_p.h b/src/quick/items/qquicktext_p_p.h index 6456750359..fde07eaf2e 100644 --- a/src/quick/items/qquicktext_p_p.h +++ b/src/quick/items/qquicktext_p_p.h @@ -89,6 +89,7 @@ public: void processHoverEvent(QHoverEvent *event); QRectF layedOutTextRect; + QSizeF advance; struct ExtraData { ExtraData(); -- cgit v1.2.3 From c158ca8be49a75026e83751dfd825c5bdd63189a Mon Sep 17 00:00:00 2001 From: Pier Luigi Fiorini Date: Sat, 31 Dec 2016 00:07:50 +0100 Subject: Add screen product information Add information such as manufacturer, model and serial number that is now available on QScreen to the Screen attached property. [ChangeLog][QtQuick][Screen] Add manufacturer, model and serial number. Change-Id: If8f33dffa5eff33111f93212249424b9092250b8 Reviewed-by: Shawn Rutledge --- src/quick/items/qquickscreen.cpp | 48 ++++++++++++++++++++++++++++++++++ src/quick/items/qquickscreen_p.h | 9 +++++++ src/quick/items/qquickwindowmodule.cpp | 1 + 3 files changed, 58 insertions(+) (limited to 'src/quick') diff --git a/src/quick/items/qquickscreen.cpp b/src/quick/items/qquickscreen.cpp index 9b54b7fba9..6a3eab957e 100644 --- a/src/quick/items/qquickscreen.cpp +++ b/src/quick/items/qquickscreen.cpp @@ -99,6 +99,27 @@ QT_BEGIN_NAMESPACE The y coordinate of the screen within the virtual desktop. */ +/*! + \qmlattachedproperty string Screen::manufacturer + \readonly + \since 5.10 + + The manufacturer of the screen. +*/ +/*! + \qmlattachedproperty string Screen::model + \readonly + \since 5.10 + + The model of the screen. +*/ +/*! + \qmlattachedproperty string Screen::serialNumber + \readonly + \since 5.10 + + The serial number of the screen. +*/ /*! \qmlattachedproperty int Screen::width \readonly @@ -234,6 +255,27 @@ QString QQuickScreenInfo::name() const return m_screen->name(); } +QString QQuickScreenInfo::manufacturer() const +{ + if (!m_screen) + return QString(); + return m_screen->manufacturer(); +} + +QString QQuickScreenInfo::model() const +{ + if (!m_screen) + return QString(); + return m_screen->model(); +} + +QString QQuickScreenInfo::serialNumber() const +{ + if (!m_screen) + return QString(); + return m_screen->serialNumber(); +} + int QQuickScreenInfo::width() const { if (!m_screen) @@ -335,6 +377,12 @@ void QQuickScreenInfo::setWrappedScreen(QScreen *screen) } if (!oldScreen || screen->name() != oldScreen->name()) emit nameChanged(); + if (!oldScreen || screen->manufacturer() != oldScreen->manufacturer()) + emit manufacturerChanged(); + if (!oldScreen || screen->model() != oldScreen->model()) + emit modelChanged(); + if (!oldScreen || screen->serialNumber() != oldScreen->serialNumber()) + emit serialNumberChanged(); if (!oldScreen || screen->orientation() != oldScreen->orientation()) emit orientationChanged(); if (!oldScreen || screen->primaryOrientation() != oldScreen->primaryOrientation()) diff --git a/src/quick/items/qquickscreen_p.h b/src/quick/items/qquickscreen_p.h index 99e1466631..e9db07d14c 100644 --- a/src/quick/items/qquickscreen_p.h +++ b/src/quick/items/qquickscreen_p.h @@ -68,6 +68,9 @@ class Q_AUTOTEST_EXPORT QQuickScreenInfo : public QObject { Q_OBJECT Q_PROPERTY(QString name READ name NOTIFY nameChanged) + Q_PROPERTY(QString manufacturer READ manufacturer NOTIFY manufacturerChanged REVISION 10) + Q_PROPERTY(QString model READ model NOTIFY modelChanged REVISION 10) + Q_PROPERTY(QString serialNumber READ serialNumber NOTIFY serialNumberChanged REVISION 10) Q_PROPERTY(int width READ width NOTIFY widthChanged) Q_PROPERTY(int height READ height NOTIFY heightChanged) Q_PROPERTY(int desktopAvailableWidth READ desktopAvailableWidth NOTIFY desktopGeometryChanged) @@ -87,6 +90,9 @@ public: QQuickScreenInfo(QObject *parent = nullptr, QScreen *wrappedScreen = nullptr); QString name() const; + QString manufacturer() const; + QString model() const; + QString serialNumber() const; int width() const; int height() const; int desktopAvailableWidth() const; @@ -104,6 +110,9 @@ public: Q_SIGNALS: void nameChanged(); + Q_REVISION(10) void manufacturerChanged(); + Q_REVISION(10) void modelChanged(); + Q_REVISION(10) void serialNumberChanged(); void widthChanged(); void heightChanged(); void desktopGeometryChanged(); diff --git a/src/quick/items/qquickwindowmodule.cpp b/src/quick/items/qquickwindowmodule.cpp index a5234d4f77..a7f45534c4 100644 --- a/src/quick/items/qquickwindowmodule.cpp +++ b/src/quick/items/qquickwindowmodule.cpp @@ -200,6 +200,7 @@ void QQuickWindowModule::defineModule() qmlRegisterUncreatableType(uri, 2, 0, "Screen", QStringLiteral("Screen can only be used via the attached property.")); qmlRegisterUncreatableType(uri, 2, 3, "Screen", QStringLiteral("Screen can only be used via the attached property.")); qmlRegisterUncreatableType(uri, 2, 3, "ScreenInfo", QStringLiteral("ScreenInfo can only be used via the attached property.")); + qmlRegisterUncreatableType(uri, 2, 10, "ScreenInfo", QStringLiteral("ScreenInfo can only be used via the attached property.")); } QT_END_NAMESPACE -- cgit v1.2.3