| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/labsmodels/qqmltablemodel.cpp
tests/auto/qml/qqmltablemodel/tst_qqmltablemodel.cpp
This follows edc8512580fa16892dc13034e93300cc6a2bba59.
Change-Id: I42d1a977d33043045558118948db9151d03950c7
|
| |\
| | |
| | |
| | | |
Change-Id: Icc410df82e57ed370ab0b80253074d495fc8c135
|
| | |\
| | | |
| | | |
| | | | |
Change-Id: I294cb27a59754f7090f9bc1a500faf0423571549
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Since the type for a TableModelColumn can be seen as an int when it is
in the first row, it is still possible that it is representing a double
value in other rows. Therefore it should be allowed to add/change a row
that would display a double for that column.
Change-Id: I994a8ead595f836a20a4e82fbf94953b1aa4b7da
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Amends 3b806a18cc665b5ae0e12d45fe170bfc3f00352a.
Eric's change tried to tackle the issue by making the PartModel more
well-behaved. However, this still left some issues, as exhibited by the
linked bug. This time, we simply make the repeater more robust, and
setup d->deletables if it's not done yet.
Pick-to: 5.15
Fixes: QTBUG-71964
Change-Id: I58c80c84f73fddaea5d6030f92ffff219ecf2b71
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
(cherry picked from commit 28a31148ca02dbb530fd92dfafbcf71c64af4b70)
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Change-Id: Iba61fff386b0d76e8d3dbb63e5b86ed8ee79d151
|
| |\| | |
| | | | |
| | | | |
| | | | | |
Change-Id: I5d7acb2a3883104d6002f147b58977ff58aa3383
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
When using OpacityAnimator, an opacity node will be created and inserted into
nodes tree to perform opacity animation. However, since the default value of
opacity node is 1, the opacity animation will start from 1 even if we set
it from 0 to 1.
Fixes this issue by updating the value of opacity just after creating a new
opacity node.
Fixes: QTBUG-79199
Change-Id: I2e462f0c56892fda040836ffde6685145769e60c
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Task-number: QTBUG-76719
Change-Id: I0979134b8a8fe8f8460a13ef1338991126537413
Reviewed-by: Tony Sarajärvi <tony.sarajarvi@qt.io>
(cherry picked from commit 395075816e77969b28ded88d027a398194d3e756)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously, if there were multiple super classes, revisions were only
collected for the first one. Also, properties and enums declared in the
type itself were ignored when QML.Foreign was specified. Finally, we
would previously re-set resolvedClass and re-sort the revisions on each
super and attached type.
Change-Id: Iccb939cae66a5c4e2e5c312359e389463df80b4e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
Fixes: QTBUG-83667
Change-Id: Ia54510bd7c20fb232b117c1ea0fa5facfcd1a9a5
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Change-Id: Id484c7bb1a3ed3b2bf593f6197664e4ee2ad4006
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The function QQuickTableViewPrivate::tableLayoutToString() returns
a string used for debugging the loaded table. If the table is
empty, it will crash/assert while trying to read data out of an
empty vector.
This patch will check for this case before creating the string.
Change-Id: I47c01b3c8447ccc7424fe475f38e22ff70c681d8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|\ \ \ \ |
|
| |\| | |
| | | | |
| | | | |
| | | | | |
Change-Id: I2193fb62d998f130c33adda340b0da45f7b418fb
|
| | | |/
| | |/|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
In 78c1fcbc49f56463064eef738a475d9018357b24 we stopped giving the
exclusive grab to hidden or disabled items with is good. But the change
did not take into consideration how mouse area handles its internal
state.
As a simple example: A mouse area that would set itself hiddin in the
press handler, would continue to have d->pressed == true, which means it
would not react to any future press events.
The fix is to let mouse area check in its change handler whether it has
become invisible.
The test also checks that enabled behaves the same way. There is no
action needed, since mouse area does completely custom handling of
enabled (maybe something to fix in Qt 6), disabling a mouse area doesn't
disable its children for example, it doesn't invoke
QQuickItem::setEnabled at all. Due to this circumventing the common
behavior, by chance disabling a mouse area in the on pressed handler
works.
Fixes: QTBUG-74987
Change-Id: Idb8499b3e5bcb744fbba203fdea5c46695bd5077
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It makes it very volatile to source code changes..
Use the RegExp variant of ignoreWarning() instead.
Change-Id: I9a9a26e844d5e7e30289d3843c89a9e6724f9f71
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The order for non-zero-duration animations are:
* started()
* runningChanged(true)
* stopped()
* runningChanged(false)
* finished()
This patch tries to ensure that zero-duration animations have the same signal
emission order.
The problem was that when setRunning(true) was called on zero-duration
animation, it would call itself (setRunning(false)) lower in the call stack in
order to immediately stop again. This had the implication that we could emit
stopped() even before started() was emitted (since the recursive call to
setRunning(false) would actually complete before the ancestor stack frame
setRunning(true) was completed)
To fix this we emit started() *before* we call start() on the animationInstance.
There is still a bug in that runningChanged(true) is still not emitted for a
zero-duration animation, but this patch should improve the current behavior in
the sense that stopped() is not emitted _before_ started().
Task-number: QTBUG-48193
Change-Id: Ic2bc85e648e6746f6a058e2e9136515e7fdb6192
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We will need them to find the types in C++ code.
Change-Id: Id00c6d855adbb767a0be8a9469fbe47447ccec8b
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also, even if the file does not appear to be a header, still try to
include it. People use strange file names.
Change-Id: I2db7bd6aa14007a8b458c3860ba0553bb3b384b7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|\| |
| | |
| | |
| | | |
Change-Id: If7b3f7902eb18d586d8b721e77f4dfedc87cfb9a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- the test items must be visible, so that waitForRendering() works
- arcTo::test_paint tried to render an out-of-bounds arc, which
resulted in rendering nothing. Now renders within the 100x100 canvas.
- painted() is not emitted the first time the Canvas is rendered.
- Canvas.save() saves relative to the directory from which the test is
run, while Canvas.loadImage() loads relative to the test data
directory in this autotest (other tests are loading red.png for
example). So we need to use absolute paths to test loading and saving
in the directory where the executable is.
- canvas.getContext('2d').getImageData(8.5, 8.5, 8.5, 8.5)
now triggers different rounding behavior in QRectF::toRect(),
after qtbase 88e56d0932a3615231adf40d5ae033e742d72c33:
it becomes QRect(9,9 8x8). The assert in qt_create_image_data()
needs to accommodate that.
- Fixed another pedantic warning in qt_create_image_data a few
lines above: if it creates the image itself, it needs to round
the qreal width and height values.
This reverts commit a23ee5c0de0d91859e1e76e64073861347dd9861 and
amends 424cfef3cc3c140df51905713fa3849562bc494d and
d142b2d212ea09a7919a0a2761ee9c04d5c9bda8.
Task-number: QTBUG-41043
Change-Id: I825c2c5a2bbc8d5324c3ba41a681aa68bc25a159
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-41043
Change-Id: I3a48439d30d9ec1cd908197c8d63984c95d336e3
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Apparently we're poking into the unit data during the last evaluate().
We need to keep it alive until then.
Change-Id: I3a08766503a3508720b3ac154171e6fc8bd280d1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If you add your own libraries with metatypes, qmake cannot determine
where to look for their metatypes.json files. Add a qmake variable that
allows the user to specify them.
Fixes: QTBUG-82709
Change-Id: I3f5685146c134c89e541e4097ff3928de9af2aee
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Should now produce more consistent output for if statements.
Fixes: QTBUG-82261
Change-Id: I39da0c80c4aadc2c5bdef32953c34ed9f0708a9e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Fixes UiPublicMember nodes having a newline between comment and first node
- Implements a Front_Inline type so comments at the beginning of object
definitions are handled properly
Fixes: QTBUG-82259
Change-Id: I0b40290037ce88a9ffe16390d72cbf3d704db41a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Allows user to decide between native (default), macos (\r), unix (\n) or windows (\r\n)
line endings.
Fixes: QTBUG-82258
Change-Id: Ie1eb365085815cbbebbf0d026c6f72f0ef2acb9d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also, fix the check to actually test the correct capabilities by using
the containerCapabilities function; testing _iteratorCapabilities only
worked by chance so far.
Task-number: QTBUG-82743
Change-Id: I64f20c6bf1e47737c7b927f79e1e78c1a1603741
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When intrusively playing with compilation units, we need to play by the
rules and actually free them when we are done.
Task-number: QTBUG-82768
Change-Id: I75ac0d01d48922a6a214df0c9d2345e27fb39bff
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In a typical Qt Quick application, when a window is resized, the
contentItem of that window is resized with it, and then the root item.
QQuickOverlay in qtquickcontrols2 listens to size changes in the
contentItem (QQuickRootItem) via addItemChangeListener(), as a cheap
way (e.g. no signals) of knowing when to resize background dimming
effects. It resizes the dimmer item to the size of the window.
The first problem with QQuickWidget is that it only ever resizes the root item
when using the SizeRootObjectToView resize mode, and not the contentItem.
The second problem is that the root item is resized (via updateSize()) before
the window itself even has a size (which happens in
QQuickWidget::createFramebufferObject() via the call to
d->offscreenWindow->setGeometry()).
To demonstrate the second problem in detail, consider the following widget
hierarchy (written in everybody's favorite language: QML):
QMainWindow {
QQuickWidget {
QQuickWindow { // QQuickWidgetPrivate::offscreenWindow
QQuickRootItem { // QQuickWindowPrivate::contentItem
Page {} // QQuickWidgetPrivate::root
}
}
}
}
The QMainWindow starts off as 200x200. When the window is resized,
QQuickWidget::resizeEvent() is called. The first thing it does is call
updateSize(), which in the case of SizeRootObjectToView, resizes the root item
to 300x300. This causes QQuickOverlayPrivate::itemGeometryChanged() to be
called, and the dimmers are resized to the size of the window, but the window
still has its 200x200 size, as it is only updated later, when
QQuickWidget::createFramebufferObject() is called.
This patch fixes these issues by ensuring that contentItem and the window
itself are resized along with the root item.
As to why such manual intervention is necessary: from what I can see, it is
because it's an "offscreen" window. This means that
QWindowPrivate::platformWindow is null, and setGeometry() takes a different
path that presumably results in no QResizeEvent being sent to the QQuickWindow.
As QQuickWindow relies on resizeEvent() being called to resize its contentItem,
the contentItem is never resized. With a typical Qt Quick application, all of
this works as expected.
Change-Id: I7401aa7a9b209096183416ab53014f67cceccbe4
Fixes: QTBUG-78323
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Let's celebrate the feature's 6 year anniversary with introducing an
autotest for it.
Also happens to be good sample code for generating image sequences from
animated Quick scenes driven by a custom animation driver.
Tied to (direct) OpenGL at the moment. The RHIified version will appear
eventually as the work for introducing RHI support in QQuickRenderControl
progresses.
Task-number: QTBUG-78595
Change-Id: I7294ce986dca9968407ae738afe7ed2640ecd103
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QTest::toString() returns a bare pointer to a heap-allocated character
array. We need to delete it.
Change-Id: I5a5cf1054e582af21e784595c00646d5b4fc0b7f
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8bcd06ce79e1d6795a8249df6f72d4b583dbfa28
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This construction leaks the resulting character array. You need to
actually delete[] it. However, we can be pretty sure that there are no
questionable characters in those strings. Therefore we can just use
qPrintable instead.
Change-Id: Ib863f0ed7db800680a44df534e3b46a4ba807798
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Previously we would run into infinite loops on those. Mind that qmllint
will reject a file called Window.qml that imports QtQuick.Window and
then instantiates a Window {}. Such a thing is bad style.
Task-number: QTBUG-82817
Change-Id: I6db82ca1794c3020dcb7d7e837fe44f72bca5029
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I4afef3fdbb9e3c3ec20ba5d00307992131b9ba3e
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
There are many incomplete qmltypes files around. We should not just
crash on those.
Task-number: QTBUG-82817
Change-Id: Ie072b80473927570c80fb2f9ae329de711c35904
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
In particular, those can be qualifiers for imports, in which case we
have to combine them with the next segment in order to find the type.
Task-number: QTBUG-82817
Change-Id: I217a79572cd1e160dcbbcb9541c53941c81ab76c
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Otherwise we miss subtleties such as Label vs. T.Label.
Task-number: QTBUG-82817
Change-Id: Idc2131426b2fd96f279dab83292a348b9295d5c0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
And also check them when analyzing JavaScript access.
Task-number: QTBUG-82817
Change-Id: I677e7883fb24ab80ff20d1998e2d7df440ef4112
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: Ic52fa388711a76d729ae28678932f4a150da9583
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
After processing all other imports, there might be other imports both
in front and behind of the inline component imports in the import list.
To avoid having to search for them, we sort the list so that they are
in front.
Fixes: QTBUG-82302
Change-Id: I9f6deb03608b1ebd0cbe0eddd1a1e5d39837a783
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|\| |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/qmlmodels/qqmltableinstancemodel.cpp
src/qmlmodels/qqmltableinstancemodel_p.h
Change-Id: I89339b1cb41ba27fe30c79530859a1c2bfbecc69
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since the commit a18ab2a3822e0d, we promote the [startItem] in focus
tab chain when it is invisible to prevent endless loop. However the
problem still happen if the [startItem] is equal to [firstFromItem]
Fixes it by compare the [current] item with the original start item
Fixes: QTBUG-81510
Change-Id: Iae0207f39e2b8c4fc6ed0cf36f0a855668accfba
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
Otherwise the test fails when path contains special characters like ‘+’.
Change-Id: I461d9755436148ce979284be31ef8d204235c8a4
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The Qt version was added in 5.14 "for use as eventual replacement for
QString::SplitBehavior." Move another step cloaser to that goal.
Change-Id: I3214ad6ccaca9dfd4a026589cabeb40cbf4a6298
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is needed in a few places outside of declarative, so this change
restores the loc member in DiagnosticMessage and moves
QQmlJS::AST::SourceLocation into common's QQmlJS namespace/directory.
QQmlError is unaffected and retains only line/column.
Amends d4d197d06279f9257647628f7e1ccc9ec763a6bb
Change-Id: Ifb9d344228e3c6e9e26fc4fe112686f9336ea2b2
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
We should check for the window's root item before accessing it.
Change-Id: I196d9cb4d0e525ffb62b3fd347fd986033cab3dd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I00e3f9535e819d9d0d547c9d3cf50be469cf9339
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|