| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
Change-Id: I87acd2ff973b3acce6d575bf6b2e04b8e50f0597
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
(cherry picked from commit 8751b64383ebf6da96a16a73cb6886067036442f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Revisions before QML_ADDED_IN_VERSION and revisions after
QML_REMOVED_IN_VERSION should both result in anonymous types. This way,
you can then derive from the type in question and expose the derived
type in a different set of versions.
Change-Id: Ia59258047fc242c809c27525bb75fd2797fe5aab
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 464abaec05e0aa0ab699243412c50a5d5ac30742)
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It doesn't make sense for these properties to be negative or larger
than 1.0.
The size property is meant to be the size of the scrollbar relative to
the scroll area size, either horizontally or vertically, and should be
in the value range 0 ≤ x ≤ 1, where 1 means that it covers the whole
scrollbar area, and 0, meaning it's invisible. This property can be set
from qml, or by QQuickFlickable with a scrollbar assigned to the
Scrollbar.vertical or Scrollbar.horizontal properties.
The minimumSize property can be set by the qml user, to force the
scrollbar to be larger than the Flickable size / contentSize ratio.
It makes sense to force the 0 ≤ x ≤ 1 constraint for this property's
value as well.
amends ef69623648f6f5ef5ab10dd9dee72f044334d53d
As an additional sanity check, I've added a qt_is_finite() check for all
qreal properties as well, just to prevent our API users from
accidentally setting a property to an invalid floating point value.
Change-Id: I9f2880333483bf584986801d6b7204fea8d66e58
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit 0e4444a74a4259ec0871ec95d3804a0bbaf3b30f)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Followup to 8503f884bbdb50c4bebc8f8a9fce05275b0612b1: much of the qml
was moved to an example, and the leftovers in this directory no longer
include the main.cpp/main.qml/CMakeLists.txt for building a standalone
executable. It's generally enough to run them individually with the qml
runtime, on desktop platforms at least.
Task-number: QTBUG-101451
Change-Id: I4b329d0fabb398308c411246f34789d66e7eda33
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 754e971d1d2a15ebd89430b1572912566417625b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Amends 16f0d38d568b3af135f5db862f5868a6bc669c42.
From 0fc8a511baa6493c8d80046dd99b8eba3634d2a2, it seems that
not only Android is relying on these imports to satify
qmlimportscanner, but also Integrity. So rename the imports
to something generic and remove the explicit mention for Android.
Task-number: QTBUG-97056
Change-Id: I9273fd0f9201a805cad4d588847796f7daecb686
Reviewed-by: Kimmo Ollila <kimmo.ollila@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 841217b9883a24919ab375a90a7fef41cc82b44c)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
On 32-bit Android x86 using a length of 0xffffffe throws an
"RangeError: ArrayBuffer: out of memory" instead of the expected
"RangeError: TypedArray.set: out of range".
Task-number: QTBUG-99193
Change-Id: Id6deea18fe90228db616ddc7550c7832825c297a
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit c67e7922f2b21453b37e7e2397863c449a5e415b)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we are dealing with dynamic metaobjects, the QML engine may not
create property caches. We cannot see this at compile time. Therefore,
we need to establish a fallback infrastructure that does the same
operations on plain QMetaObject.
Fixes: QTBUG-101349
Change-Id: I8c936fc077b0018df71196620b6987825253cb39
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 1e722f5e8e6510f3a1bc10436f8262c918ca9599)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
-Add dummy_imports.qml to TESTDATA
-Let qmlimportscanner handle plugin import
-Skip cases that depend on mounted filesystem
Task-number: QTBUG-99123
Change-Id: I99e21e423f2114c4c4ee1e24bdf9bb85af51baf7
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Reviewed-by: Tatiana Borisova <tatiana.borisova@qt.io>
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
(cherry picked from commit 0fc8a511baa6493c8d80046dd99b8eba3634d2a2)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Returning void from any JS function doesn't quite cut it.
Fixes: QTBUG-101285
Change-Id: I199813627614061ec25139277e8ea23cb844aac5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
(cherry picked from commit 23ab2e0f5552bb54fef5a6c57f5f82f430d0956c)
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is in line with what we do in other reverse() and rewind() methods.
Unfortunately we need to dig deep into the QQuickItem internals in order
to get all the flags and callbacks right.
Fixes: QTBUG-101186
Change-Id: Icde1a1b2dab1b9cab5adcbc28485a7526a8ac2b7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 247efb9a343a14bb12805e56e4950919071d9395)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you give qmltyperegistrar an invalid URI it should still not generate
invalid C++ code. In fact the module will still be somewhat usable. You
just cannot import it.
Task-number: QTBUG-101072
Change-Id: I21232f99c1ef486a62dbe339f7d0ae1b9abc8871
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 88e96debfdad3961db3225de7b4c7f90afe7698e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
You cannot just pass a resource path or absolute path. We expect a URL
after all. A relative path is a relative URL, so you can pass that.
Fixes: QTBUG-98181
Change-Id: I010bc08b8cb0ff06712f7b0353955bee96ae36c1
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 1240a440f29762850a9206bdf9961cebe015c1fa)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to enable testing on declarative for the module
as a whole and have some sort of test verification for the mean
time, and fix the fails over time.
This also disable tests like qdom and qjsscope which are host tests.
Task-number: QTBUG-100991
Task-number: QTBUG-99194
Task-number: QTBUG-101005
Task-number: QTBUG-101006
Change-Id: Ie7ae5b8e0ccdf2f55ce3568091d513a073c48417
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 6c3373109fedf45b06c9c48355a80922fd754b31)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A QtQuick Text element is used to represent a separate block of text
in a window.
Normally, when TalkBack is enabled, the user expects to be able to
navigate between separate blocks of text with regular A11Y gestures.
However before this patch the Text elements were not focusable by
default, so all the Text elements in the Window were read by the
TalkBack successively, as if it was one element.
This could be solved by explicitly adding
Accessible.focusable: true
to the properties of every Text element.
This patch enables A11Y focus on Text elements by default.
Fixes: QTBUG-77371
Change-Id: Icfcef6ee301b9218bb9ace97a05432c9fc2ffb0a
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 9c5f772b5eb008cd0d00a0801b80a399fdc0e3c9)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The issue was that on Android the main windows always takes the whole
display size, so the width and height properties are ignored.
Task-number: QTBUG-77371
Change-Id: I6942235498d47ac945287a607e267e86a9a2069b
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 7b005273804d79b0a5943a4803b51f2093280367)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This renames all qml files added before to allow qmlimportsanner to
include the necessary modules into Android packages, into
android_dummy_imports.qml, and also adds a comment in each one
describing why it's needed.
Task-number: QTBUG-97056
Change-Id: I7fc0514dd9e5bc10849fdd0503547e1a75242414
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 16f0d38d568b3af135f5db862f5868a6bc669c42)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: The layout is initialized with a copy of the current font
before the laying out begins.
In cases when setupTextLayout() iterates through the main loop multiple
times, it will update the layout font, if it differs. (See code below)
if (!once) {
if (pixelSize)
scaledFont.setPixelSize(scaledFontSize);
else
scaledFont.setPointSizeF(scaledFontSize);
if (layout.font() != scaledFont)
layout.setFont(scaledFont);
}
The whole reason why we might update the font in the first place, is
because the QQuickText has a fontSizeMode property which can be set to
e.g. HorizontalFit, which will cause the layouting to downscale the font
in order to fit (assuming the text doesn't fit the space available),
instead of eliding.
The problem here is that QFont internally uses a float to store the point
size, and we would convert that value to an int when temporarily storing
it on the stack. This would modify the pointSize value in cases where
the pointSize is fractional, and cause a mismatch between the QQuickText
and QTextLayout.
The lineWidth is set only during the first loop iteration. During
successive iterations of the main loop, the layout's font would be updated
to one that has either a floored or ceiled pointSize.
If the pointSize is a fractional value, and is ceiled when being updated
during the second loop iteration, the layout would use a larger font
value, which would cause the QTextLayout::naturalTextWidth() to return a
larger value than that of the lineWidth, triggering eliding.
Solution: Keep the font precision, by storing the values as floats
instead of ints.
Fixes: QTBUG-92006
Change-Id: Ibf64ac2dfbf262c6aae05b8eb8251d2f5a869b69
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit ae62122a8f57b1de654e891125f19d2e18d6f5df)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This helps to prevent memory leaks if some of the tests fails.
On Android it also helps to prevent crashes when one of the tests fails.
As a drive-by: replace QScopedPointer usage with std::unique_ptr.
Task-number: QTBUG-77371
Change-Id: Ib0d12f82d967116569266e6f65367bcf89f66c9c
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 3fb70ea89c813072f8c191298bf2c18efc4bdab5)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-101341
Change-Id: I8c9413caf24f1d2afc6678d2432c08ac7da2f1c3
Reviewed-by: Alexey Edelev <alexey.edelev@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit ae989a87bc2dad377e4884531f4a1b24dca897f4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
2nd round of test failures fixes for Android. Mostly resource bundling
related issues still.
Task-number: QTBUG-97056
Change-Id: I2fac0710a7b5528fcef4480babd0cbf749e488b3
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 9bdfea7f1f1ffe16c7a1140b09c94b9d72d24f18)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-101342
Change-Id: Ib660394b5956b891b86dd20cab83c80f5274fa43
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
(cherry picked from commit 39855a3ba193f86dd2504c9ec7a8fb4e4d702eb4)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Failing to call updateGeometry() and setting the various dirty flags
leads to inconsistent state.
Fixes: QTBUG-99436
Fixes: QTBUG-98857
Change-Id: I15240b1670947da29e2f05e7ea41c7586f0b987a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit b81e27e65217f8425acb58c3ac848c728790c872)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
As we don't store void, null and empty lists, moving those is a noop.
Don't generate invalid code for that.
Change-Id: Ica6714acd0ce8a5ddca44d9a397e776eb3df4247
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 074b66e0073b55d32060ffd542a02c811ad763a8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
The loader's context may have been removed from the context hierarchy or
it may not have a context in the first place. We should not crash then.
Fixes: QTBUG-67950
Change-Id: I1058d5b1f978aa040f8b2f018c4357dd7a3ef333
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 79e885537f8546a18d7d9d902d6efe40b1915c96)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- tst_stacklayout::compile on qnx
- tst_gridlayout::compile on qnx
- tst_rowlayout::compile on qnx
Task-number: QTBUG-101327
Change-Id: I06593184389f11a4dec1fdfc71a2986db046b364
Reviewed-by: CI Insignificant Platforms Monitor Bot <ci_insignificant_platforms_monitor_bot@qt.io>
(cherry picked from commit 126afed75f738d93935b3b82f1afddda058ec148)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
- goUp on qnx
Task-number: QTBUG-101329
Change-Id: I5c1a3c98caf5299f53db4b4fb430d4cc29f5bb4a
Reviewed-by: CI Insignificant Platforms Monitor Bot <ci_insignificant_platforms_monitor_bot@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We have to add the methods first, so that the properties can be
associated with their proper notification signals once we add them. If
we add the properties first, the "missing" notification signals are
synthesized.
Fixes: QTBUG-101155
Change-Id: I1aacbf33a24f7a98d05dece77c804bd7cba8a041
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 57614680f760068c1db39888beba46944f409ff0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously whenever a property was called the warnings qmllint emitted
made it seem like the property was just not found instead of not being
callable.
Now we will warn if you try to call a property and warn about
properties shadowing methods, slots or signals. We also discourage
calling variant properties now that may or may not be a function.
This change also fixes an assert being hit in isMissingPropertyType
due to our previous, lackluster checks.
Fixes: QTBUG-101074
Change-Id: I0790b4a4584f3430ee1d8ddf549611225a36cc5b
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 1829d7c64c1d8d5b42241135bfead030521cb398)
|
|
|
|
|
|
|
|
|
|
|
|
| |
Moves the QModelIndex value types from QtQml to QtQml.Models as they
cannot otherwise be properly resolved in tooling.
Fixes: QTBUG-100338
Change-Id: I30fc18b388974238ba8353e87ef09f57f8ceabd1
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
(cherry picked from commit e2864d6aa97d246546514ec0f97263574d19ec47)
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Simple deferred properties occur quite often in QML (throughout
Qt Quick, for example), so qmltc should be able to deal with
them as with deferred properties
Ignore generalized group properties, PropertyChanges and similar
types for now. They require more testing and are well out of
scope of the tech preview
Task-number: QTBUG-100053
Change-Id: I0f3588789d188cd6bec81de0b61d3205b665a917
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 68924be5b5282fb9f0276c743cf450f2e2aa5274)
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously we only warned about missing property types when the lookup
was not on the current scope but only on an id, parent etc.
This change makes sure we also warn in this case and don't produce false
positives for an unqualified access.
Task-number: QTBUG-100839
Change-Id: I732b8420c0c6b96dd8f93cde66a7f9813e704671
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
(cherry picked from commit 696f89b1988ed54833406ee8166ffa40e3edaee5)
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In JavaScript we have a number of extra conversions not covered by
qvariant_cast. Therefore, add a method to perform a QVariant conversion
in JavaScript semantics to QJSEngine, and use that in the compiler.
Fixes: QTBUG-100883
Change-Id: I8b0bfa0974bc6b339d2601fb373859bc710788c8
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Andrei Golubev <andrei.golubev@qt.io>
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
(cherry picked from commit d0f4e0c037cf61eb5bb559755ee7c9ce6cf6b7dc)
|
|
|
|
|
|
|
|
|
|
| |
Rather, reject the code and let the engine handle it.
Fixes: QTBUG-100980
Change-Id: Ibcd1249ba3550b40121622752b4ca22d1df3ed2a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
(cherry picked from commit 69fefd94e8b0ec2aa379d0b75ccaa2c58e3f0933)
|
|
|
|
|
|
|
|
|
|
|
|
| |
The code we're commenting could again contain block comments. You cannot
nest them.
Fixes: QTBUG-100978
Change-Id: I78685bf29dd30f05e5a3b17abc43ba0b4cb6849e
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
(cherry picked from commit 795d7dafe5be5cd48aa8225a1343285b3aca2be7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
We have to mark the required variables also in block 0. And we shouldn't
generate empty blocks.
Fixes: QTBUG-101011
Change-Id: I0dd19f69f45f507cb83e2ddfba3060de48a940b4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 88147eb3f621e7d972410698d6edca16493d7c66)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
| |
Task-number: QTBUG-65614
Change-Id: I31e2a61e3b2df2432042c8b6028df63cc9cb8d22
Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
(cherry picked from commit 8fb4fb6d014ba4bbaa7f7d22998cfda4ea5e9855)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The original attempt, deb238586a "QQuickIcon: Resolve URL relative to
current element," works fine for IconLabel itself, but not for Buttons
containing IconLabel.
// <style>/Button.qml
T.Button {
id: control
icon: // owner: control
contentItem: IconLabel {
icon: control.icon // owner: this, but should be control
}
}
// user code
Button { icon.source: "a.png" }
Since IconLabel is an implementation detail of the Button, IconLabel.icon
owner needs to point to the Button so the user-specified icon.source can
be resolved relative to the user code, not to the <style>/ directory.
This patch fixes the problem by explicitly resolving the source URL on
setIcon() and propagating the resolved icon object to the inner items.
If the relative URL has already been resolved by e.g. Button, the inner
IconLabel never resolves the URL again to itself.
The problem could be addressed by initializing icon owner only once by
Action/Button constructor, but that would lead to dangling owner pointer
as icon object could be copied anywhere. So I've added resolvedSource
data member in place of the owner pointer.
Button { id: dangling }
Button { id: victim; icon: dangling.icon } // owner: dangling
Component.onCompleted: dangling.destroy()
// ... would SEGV (or use after free) if victim.icon.source modified.
Fixes: QTBUG-95587
Change-Id: Ibdd07118e79f1e1f36e1faea0289150eca734e27
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit dfc16e40ab43e8062b93c566e4316efe4d4f10a0)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Fixes: QTBUG-100947
Change-Id: If0b05adac91f687daf697f3510e4cf48e7de4537
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 4c716dd19cf88349acc33eddae28c4e9222a3800)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Include imports into the test resources because they might be needed
by the test as well.
Task-number: QTBUG-97056
Change-Id: If2e0425bdc11024fb2f49c7fe4d6d62f6422f401
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit d736e9a601e6fa03d164e741998627680aa8bf44)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If you call positionViewAtCell(row, Qt.AlignTop) for the last row
in the table, the row will be aligned to the top of the view, as
requested. But this looks really wrong , since it will cause the
table to be flicked to a position that causes it to overshoot
by a distance close to the height of the whole view, effectively
leaving a big empty gap at the bottom. This looks really buggy.
This patch will correct this behavior by ensuring that we never
flick the table to an "invalid" position while positioning
table at a cell using the requested alignment. Instead we
clamp the table to the edges of the viewport.
Fixes: QTBUG-100680
Change-Id: Id3003df784a0128df28ee2e78e2456e1fa1e11e8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit c3d909ec286962c507e346a8d490b905cdd266f8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
The warning was about the delegate's parent being null in
QTBUG_48044_currentItemNotVisibleAfterTransition.
Change-Id: I54198b26adea137d539f71c8aebc1ba3a18d1e97
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
(cherry picked from commit e523f00974eeccec4525edf85c732659a9c16119)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
| |
Change-Id: I05525f884f239c954527f24ad8842b108b32aff1
Reviewed-by: Maximilian Goldstein <max.goldstein@qt.io>
(cherry picked from commit 121457933dfa40de188063fefe86fa78881e18cd)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Partial cherry-pick of dc9de38abe797e835480171a047bf96e98c84e1f
This should help qmltc to reject singleton types in a user-friendly
manner, without compromising qmllint in 6.3
Task-number: QTBUG-98558
Change-Id: I2c9def171e36ca50d3f3d26b093bca6d376621ed
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These QML files are needed for androiddeployqt to be able to package
the QML modules because they're not imported in a normal fashion under
a QML file but rather implicitly inside the test cases.
Task-number: QTBUG-97056
Change-Id: I792462e88a2d8ca43747cffc050fe60987f90ecd
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 98fe8834faaaed65c6c162d0cd2af5609caf14f3)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
Use QScopeGuard instead of manual calls, so even a failed test will
properly clean up after itself.
Change-Id: I321f3560557e58b16cd177c623cb78b5b25111a7
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit 94c63a7f1236e764fcc8514ab17c993ee1e9aec7)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
| |
Document some extra behavior details through tests
Change-Id: Id05da7983406a0a61e78496a8e6483e10a7c38d1
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
(cherry picked from commit 4d98aa998eceb53ce616e9111553b8fdc5fad906)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As it stood, it was not possible to add custom pointer handlers
to a TreeViewDelegate, to e.g do an expandRecursive() if using the
right mouse button, or holding down ctrl during a click.
This patch will change this, so that we only perform the default
collapse/expand operations when using a plain left (double)
click, and ignore the event otherwise.
Change-Id: Ifbdf0903158b65c50d0e36e98ab7e48efaa3e3ab
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
(cherry picked from commit 2014101583b89128960f645e57192d1d475767e6)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to enable testing on declarative for the module
as a whole and have some sort of test verification for the mean
time, and fix the fails over time.
Task-number: QTBUG-100003
Task-number: QTBUG-100014
Task-number: QTBUG-100016
Task-number: QTBUG-100018
Task-number: QTBUG-100020
Task-number: QTBUG-100021
Task-number: QTBUG-100164
Task-number: QTBUG-100166
Task-number: QTBUG-100167
Task-number: QTBUG-100169
Task-number: QTBUG-100171
Task-number: QTBUG-100173
Task-number: QTBUG-100175
Task-number: QTBUG-100176
Task-number: QTBUG-100177
Task-number: QTBUG-100191
Task-number: QTBUG-100253
Task-number: QTBUG-100254
Task-number: QTBUG-100256
Task-number: QTBUG-100257
Task-number: QTBUG-100258
Change-Id: I85bf1501b94f04853a1ca715e35df0a56041308a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
(cherry picked from commit f22d884faff5f68230981fc191527c67aeb8a18f)
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
bundle all data resources and make sure all imports and bundled.
Add dummy.qml files which are needed for androiddeployqt to be able
to package the QML modules because they're not imported in a normal
fashion under a QML file but rather implicitly inside the test cases.
Task-numer: QTBUG-97056
Change-Id: I8be72c06994cc7bd90fb176a19bf69142b225fd1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit b6413335b0a977e5c7218c4d74fb090fa11bf52e)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
We want to give globalPos to every pointer event ctor in general, to
avoid bad assumptions.
Task-number: QTBUG-100324
Change-Id: I8f744d4f01aec9e860b625a77b258237539deab6
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 334aea0aa14eac90a6ff77aad120d76ed0fad372)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
|