diff options
author | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2014-10-31 20:20:43 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@theqtcompany.com> | 2014-10-31 20:21:09 +0100 |
commit | 473ef83dba6976250a1ff27175716aa1af970f2f (patch) | |
tree | 922044c8be598f76945af1599196c7f379df280e /src/quick | |
parent | beb6667d4e65dfe2ec9e7f554837524416c0f4dc (diff) | |
parent | 0704d2be63b484cb579c1507223db3f914b1338a (diff) |
Merge remote-tracking branch 'origin/5.4' into dev
Change-Id: I30f9c925631991ceb22339d1333936faecffbaf4
Diffstat (limited to 'src/quick')
-rw-r--r-- | src/quick/items/context2d/qquickcanvasitem.cpp | 12 | ||||
-rw-r--r-- | src/quick/items/context2d/qquickcontext2d.cpp | 12 | ||||
-rw-r--r-- | src/quick/items/qquickborderimage.cpp | 8 | ||||
-rw-r--r-- | src/quick/items/qquickimagebase_p_p.h | 1 | ||||
-rw-r--r-- | src/quick/items/qquickitem.cpp | 7 | ||||
-rw-r--r-- | src/quick/items/qquickitemview.cpp | 6 | ||||
-rw-r--r-- | src/quick/items/qquickpathview.cpp | 6 | ||||
-rw-r--r-- | src/quick/items/qquickrepeater.cpp | 6 | ||||
-rw-r--r-- | src/quick/items/qquicktextcontrol.cpp | 28 | ||||
-rw-r--r-- | src/quick/items/qquicktextedit_p_p.h | 2 |
10 files changed, 44 insertions, 44 deletions
diff --git a/src/quick/items/context2d/qquickcanvasitem.cpp b/src/quick/items/context2d/qquickcanvasitem.cpp index 15eb28350e..c31b7726c4 100644 --- a/src/quick/items/context2d/qquickcanvasitem.cpp +++ b/src/quick/items/context2d/qquickcanvasitem.cpp @@ -313,7 +313,7 @@ QQuickCanvasItem::~QQuickCanvasItem() } /*! - \qmlproperty size QtQuick::Canvas::available + \qmlproperty bool QtQuick::Canvas::available Indicates when Canvas is able to provide a drawing context to operate on. */ @@ -790,18 +790,18 @@ QSGTextureProvider *QQuickCanvasItem::textureProvider() const } /*! - \qmlmethod object QtQuick::Canvas::getContext(string contextId, any... args) + \qmlmethod object QtQuick::Canvas::getContext(string contextId, ... args) - Returns a drawing context or null if no context available. + Returns a drawing context, or \c null if no context is available. The \a contextId parameter names the required context. The Canvas item will return a context that implements the required drawing mode. After the - first call to getContext any subsequent call to getContext with the same + first call to getContext, any subsequent call to getContext with the same contextId will return the same context object. If the context type is not supported or the canvas has previously been - requested to provide a different and incompatible context type, null will - be returned. + requested to provide a different and incompatible context type, \c null + will be returned. Canvas only supports a 2d context. */ diff --git a/src/quick/items/context2d/qquickcontext2d.cpp b/src/quick/items/context2d/qquickcontext2d.cpp index b1af6f10dd..0101e0edf4 100644 --- a/src/quick/items/context2d/qquickcontext2d.cpp +++ b/src/quick/items/context2d/qquickcontext2d.cpp @@ -3093,11 +3093,12 @@ QV4::ReturnedValue QQuickJSContext2DPixelData::proto_get_length(QV4::CallContext QV4::ReturnedValue QQuickJSContext2DPixelData::getIndexed(QV4::Managed *m, uint index, bool *hasProperty) { + Q_ASSERT(m->as<QQuickJSContext2DPixelData>()); QV4::ExecutionEngine *v4 = m->engine(); QV4::Scope scope(v4); - QV4::Scoped<QQuickJSContext2DPixelData> r(scope, m->as<QQuickJSContext2DPixelData>()); + QV4::Scoped<QQuickJSContext2DPixelData> r(scope, static_cast<QQuickJSContext2DPixelData *>(m)); - if (r && index < static_cast<quint32>(r->d()->image.width() * r->d()->image.height() * 4)) { + if (index < static_cast<quint32>(r->d()->image.width() * r->d()->image.height() * 4)) { if (hasProperty) *hasProperty = true; const quint32 w = r->d()->image.width(); @@ -3123,16 +3124,13 @@ QV4::ReturnedValue QQuickJSContext2DPixelData::getIndexed(QV4::Managed *m, uint void QQuickJSContext2DPixelData::putIndexed(QV4::Managed *m, uint index, const QV4::ValueRef value) { + Q_ASSERT(m->as<QQuickJSContext2DPixelData>()); QV4::ExecutionEngine *v4 = m->engine(); QV4::Scope scope(v4); if (scope.hasException()) return; - QV4::Scoped<QQuickJSContext2DPixelData> r(scope, m->as<QQuickJSContext2DPixelData>()); - if (!r) { - scope.engine->currentContext()->throwTypeError(); - return; - } + QV4::Scoped<QQuickJSContext2DPixelData> r(scope, static_cast<QQuickJSContext2DPixelData *>(m)); const int v = value->toInt32(); if (r && index < static_cast<quint32>(r->d()->image.width() * r->d()->image.height() * 4) && v >= 0 && v <= 255) { diff --git a/src/quick/items/qquickborderimage.cpp b/src/quick/items/qquickborderimage.cpp index 8d8e4b6a02..07b8958664 100644 --- a/src/quick/items/qquickborderimage.cpp +++ b/src/quick/items/qquickborderimage.cpp @@ -582,10 +582,16 @@ QSGNode *QQuickBorderImage::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeDat qMax<qreal>(0, width() - border->right() - border->left()), qMax<qreal>(0, height() - border->bottom() - border->top())); - if (innerSourceRect != d->oldInnerSourceRect || innerTargetRect != d->oldInnerTargetRect) + QSizeF newSize(width(), height()); + if (innerSourceRect != d->oldInnerSourceRect + || innerTargetRect != d->oldInnerTargetRect + || newSize != d->oldSize) { updateNode = true; + } + d->oldInnerSourceRect = innerSourceRect; d->oldInnerTargetRect = innerTargetRect; + d->oldSize = newSize; } bool updatePixmap = d->pixmapChanged; diff --git a/src/quick/items/qquickimagebase_p_p.h b/src/quick/items/qquickimagebase_p_p.h index ec2f0bb73e..21d11a7448 100644 --- a/src/quick/items/qquickimagebase_p_p.h +++ b/src/quick/items/qquickimagebase_p_p.h @@ -77,6 +77,7 @@ public: qreal devicePixelRatio; QRectF oldInnerSourceRect; QRectF oldInnerTargetRect; + QSizeF oldSize; bool async : 1; bool cache : 1; bool mirror: 1; diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp index 41e9e0e57a..25f139549d 100644 --- a/src/quick/items/qquickitem.cpp +++ b/src/quick/items/qquickitem.cpp @@ -6957,6 +6957,13 @@ void QQuickItem::grabTouchPoints(const QVector<int> &ids) windowPriv->itemForTouchPointId[ids.at(i)] = this; if (oldGrabber) ungrab.insert(oldGrabber); + + QQuickItem *mouseGrabber = windowPriv->mouseGrabberItem; + if (windowPriv->touchMouseId == ids.at(i) && mouseGrabber && mouseGrabber != this) { + windowPriv->mouseGrabberItem = 0; + QEvent ev(QEvent::UngrabMouse); + d->window->sendEvent(mouseGrabber, &ev); + } } foreach (QQuickItem *oldGrabber, ungrab) oldGrabber->touchUngrabEvent(); diff --git a/src/quick/items/qquickitemview.cpp b/src/quick/items/qquickitemview.cpp index 2fd79715e1..93cb5e4e9d 100644 --- a/src/quick/items/qquickitemview.cpp +++ b/src/quick/items/qquickitemview.cpp @@ -273,9 +273,13 @@ QVariant QQuickItemView::model() const return d->modelVariant; } -void QQuickItemView::setModel(const QVariant &model) +void QQuickItemView::setModel(const QVariant &m) { Q_D(QQuickItemView); + QVariant model = m; + if (model.userType() == qMetaTypeId<QJSValue>()) + model = model.value<QJSValue>().toVariant(); + if (d->modelVariant == model) return; if (d->model) { diff --git a/src/quick/items/qquickpathview.cpp b/src/quick/items/qquickpathview.cpp index 825845eca9..6cf3e33de9 100644 --- a/src/quick/items/qquickpathview.cpp +++ b/src/quick/items/qquickpathview.cpp @@ -607,9 +607,13 @@ QVariant QQuickPathView::model() const return d->modelVariant; } -void QQuickPathView::setModel(const QVariant &model) +void QQuickPathView::setModel(const QVariant &m) { Q_D(QQuickPathView); + QVariant model = m; + if (model.userType() == qMetaTypeId<QJSValue>()) + model = model.value<QJSValue>().toVariant(); + if (d->modelVariant == model) return; diff --git a/src/quick/items/qquickrepeater.cpp b/src/quick/items/qquickrepeater.cpp index 8e13947d78..e2a3043857 100644 --- a/src/quick/items/qquickrepeater.cpp +++ b/src/quick/items/qquickrepeater.cpp @@ -183,9 +183,13 @@ QVariant QQuickRepeater::model() const return d->dataSource; } -void QQuickRepeater::setModel(const QVariant &model) +void QQuickRepeater::setModel(const QVariant &m) { Q_D(QQuickRepeater); + QVariant model = m; + if (model.userType() == qMetaTypeId<QJSValue>()) + model = model.value<QJSValue>().toVariant(); + if (d->dataSource == model) return; diff --git a/src/quick/items/qquicktextcontrol.cpp b/src/quick/items/qquicktextcontrol.cpp index 2585caefb5..0ad21ccff3 100644 --- a/src/quick/items/qquicktextcontrol.cpp +++ b/src/quick/items/qquicktextcontrol.cpp @@ -965,7 +965,6 @@ QRectF QQuickTextControlPrivate::rectForPosition(int position) const const QTextBlock block = doc->findBlock(position); if (!block.isValid()) return QRectF(); - const QAbstractTextDocumentLayout *docLayout = doc->documentLayout(); const QTextLayout *layout = block.layout(); const QPointF layoutPos = q->blockBoundingRect(block).topLeft(); int relativePos = position - block.position(); @@ -980,24 +979,14 @@ QRectF QQuickTextControlPrivate::rectForPosition(int position) const #endif QTextLine line = layout->lineForTextPosition(relativePos); - int cursorWidth; - { - bool ok = false; -#ifndef QT_NO_PROPERTIES - cursorWidth = docLayout->property("cursorWidth").toInt(&ok); -#endif - if (!ok) - cursorWidth = 1; - } - QRectF r; if (line.isValid()) { qreal x = line.cursorToX(relativePos); qreal w = 0; - r = QRectF(layoutPos.x() + x, layoutPos.y() + line.y(), cursorWidth + w, line.height()); + r = QRectF(layoutPos.x() + x, layoutPos.y() + line.y(), textCursorWidth + w, line.height()); } else { - r = QRectF(layoutPos.x(), layoutPos.y(), cursorWidth, 10); // #### correct height + r = QRectF(layoutPos.x(), layoutPos.y(), textCursorWidth, 10); // #### correct height } return r; @@ -1510,19 +1499,6 @@ QString QQuickTextControl::anchorAt(const QPointF &pos) const return d->doc->documentLayout()->anchorAt(pos); } -void QQuickTextControl::setCursorWidth(int width) -{ - Q_D(QQuickTextControl); -#ifdef QT_NO_PROPERTIES - Q_UNUSED(width); -#else - if (width == -1) - width = textCursorWidth; - d->doc->documentLayout()->setProperty("cursorWidth", width); -#endif - d->repaintCursor(); -} - void QQuickTextControl::setAcceptRichText(bool accept) { Q_D(QQuickTextControl); diff --git a/src/quick/items/qquicktextedit_p_p.h b/src/quick/items/qquicktextedit_p_p.h index 41a5107ccf..5233413cd7 100644 --- a/src/quick/items/qquicktextedit_p_p.h +++ b/src/quick/items/qquicktextedit_p_p.h @@ -122,7 +122,7 @@ public: Qt::LayoutDirection textDirection(const QString &text) const; bool isLinkHoveredConnected(); - void setNativeCursorEnabled(bool enabled) { control->setCursorWidth(enabled ? 1 : 0); } + void setNativeCursorEnabled(bool) {} void handleFocusEvent(QFocusEvent *event); void addCurrentTextNodeToRoot(QSGTransformNode *, QQuickTextNode*, TextNodeIterator&, int startPos); QQuickTextNode* createTextNode(); |