| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
2436de31bc48b0576d2f48507a89ffbb719e52c1 added documentation for this
to ListView, but we also need it in other places so that users don't
miss it.
Task-number: QTBUG-139026
Pick-to: 6.8 6.9 6.10
Change-Id: I7274bf4524baee4711f370e012009c97a140fd4e
Reviewed-by: Richard Moe Gustavsen <[email protected]>
Reviewed-by: Matthias Rauter <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
It can happen that also animations with more than 2 registered frames
turn out to have a constant value, and thus can be simplified. Improve
the detection function to cover also such cases.
Pick-to: 6.10
Change-Id: I7f95e0371be6d36bcebff01a99ffa0cd226b54ef
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.10
Change-Id: I5cdc5e2d3976620d3e387905015449adf0703a45
Reviewed-by: Ulf Hermann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement go to definition for enums (values and keys) defined from C++ or QML.
This allows user to jump to their own C++ files, and does not jump to
headers outside the project folder, like private/qquickitem_p.h for
example, as it might get confusing for the user to open a file in the
editor that they are not supposed to edit.
Task-number: QTBUG-128393
Change-Id: I0410ecf4cf810e6c6072038bffc4564eb787c7fc
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement go to definition for grouped properties.
Jump to the C++ file at the correct line when searching for grouped
properties from QML.
This allows user to jump to their own C++ files, and does not jump to
headers outside the project folder, like private/qquickitem_p.h for
example, as it might get confusing for the user to open a file in the
editor that they are not supposed to edit.
Task-number: QTBUG-128393
Change-Id: I190a71b51b618e4050c9542f987d67e9b835a59f
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement go to definition for attached types defined in C++.
Jump to the C++ file at the correct line when searching for attached
types or their methods and properties from QML.
Support both cases of attached types:
Attached types in the binding target property or in the binding itself.
This allows user to jump to their own C++ files, and does not jump to
headers outside the project folder, like private/qquickitem_p.h for
example, as it might get confusing for the user to open a file in the
editor that they are not supposed to edit.
Task-number: QTBUG-128393
Change-Id: I4c40d7241227d2e5921c85ab7756782a37e5a0ad
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement go to definition for methods (signals, slots, invokables)
defined in C++. Jump to the C++ file at the correct line when
searching for methods from QML.
This allows user to jump to their own C++ files, and does not jump to
headers outside the project folder, like private/qquickitem_p.h for
example, as it might get confusing for the user to open a file in the
editor that they are not supposed to edit.
Task-number: QTBUG-128393
Change-Id: I7dcd347dcc925fd8e85cc2188c63cfdeab318a96
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement go to definition for properties of QML components defined in
C++. Jump to the C++ file at the correct line when searching for
properties ofQML Component types from QML.
This allows user to jump to their own C++ files, and does not jump to
headers outside the project folder, like private/qquickitem_p.h for
example, as it might get confusing for the user to open a file in the
editor that they are not supposed to edit.
Also log a warning when a C++ header was not found.
Task-number: QTBUG-128393
Change-Id: I9da962b671dfe1f9e29fb260655f4f37132c6815
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
| |
Avoid triggering a warning, and use the same code paths when going
to the definition of singleton and non-singleton types.
Task-number: QTBUG-128393
Change-Id: I1376adf0423d239aab1f7cad01a35f2c5db53874
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Attached types on the left hand side of a binding have a different
scopes than attached types on the right hand side of a binding.
Special case them in resolveExpressionType to allow to implement
go-to-definition on attached types correctly for both kind of scopes in
a later commit.
Task-number: QTBUG-128393
Change-Id: Id82f3572014c8c8310cc359c4ed0bbfb6465cf7c
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Add line numbers to qmltyperegistrar's output now that MOC includes this
information in its output.
Task-number: QTBUG-119143
Task-number: QTBUG-128393
Change-Id: Id77ef37f1503bd17fa42a355770a1ffeb348b46e
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
Coverity wants us to move them instead but moving out of locals makes it
easy to accidentally move out of a local you still need. We prefer to
use const refs, except in hot code paths.
Coverity-Id: 487583
Change-Id: I9dca9122d7fb8797b3d45e197be747fd16d16165
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
| |
Pick-to: 6.8 6.9 6.10
Change-Id: Ie3da3ba0aab73ad61fa32593bcdd19ffcc714a02
Reviewed-by: Laszlo Agocs <[email protected]>
|
|
|
|
|
|
|
| |
Amends 12fb7d27431a7db2a19e1954c85d5dc03264b356
Change-Id: I3af53164851a30317a1fdb5b9190bf7473c3d1ea
Reviewed-by: Ulf Hermann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Component.onDestruction can be used to execute some code as an object is
being destructed. The code may, however, reference objects that are no
longer in a valid state because they themselves have already been
destructed. We then throw an exeception.
Commit a741271dd58b21728928684f1ef1efaa91e79ebf introduced the init step
for calls in which the types of arguments are resolved. For object
methods, we need to check that the object is still valid or throw an
exception otherwise. This is made more complicated by the fact that, in
some cases, the destruction of the object happens in a somewhat chaotic
manner where, for instance, the object is still alive but its method and
property storage has already been deleted.
This inconsistent state is the cause of QTBUG-138516 and existing checks
for invalid objects were not sufficient and we crashed when trying to
use the function that we were unable to resolve. We can detect this
particular problem by checking whether the ddata of the object still has
its jsWrapper.
Amends a741271dd58b21728928684f1ef1efaa91e79ebf
Fixes: QTBUG-138516
Pick-to: 6.10 6.9
Change-Id: Ifdd7708d73ea6012d1e07aebed257b3f538183c1
Reviewed-by: Ulf Hermann <[email protected]>
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Explicitly finding a private module was not strictly required in Qt
6.9 and older. This patch adds a small demonstration to some snippets,
to show how to find QmlPrivate/QuickPrivate. This might be helpful
for users who're scratching their heads when their previously-working
project now fails to build in Qt 6.10.
Change-Id: Ia8a08d94ea65aa73a44c7a7610d28119582ebf0f
Pick-to: 6.10
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Ulf Hermann <[email protected]>
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
This generalizes the QVariantMap code path.
Pick-to: 6.10 6.9 6.8
Task-number: QTBUG-139025
Change-Id: Ibbdc1da974d3c166474c4bd02fb4c70d8df3e688
Reviewed-by: Semih Yavuz <[email protected]>
Reviewed-by: Fabian Kosmale <[email protected]>
|
|
|
|
|
|
|
|
| |
ReferenceObject and VariantAssociationObject were indented in rather
confusing ways.
Change-Id: I3a4ef04f716609a0b32844bb14e4dfded6a1f2fa
Reviewed-by: Semih Yavuz <[email protected]>
|
|
|
|
|
|
|
|
| |
It was causing the button to never appear when it should.
Pick-to: 6.10 6.9
Change-Id: I59d13d0e2588536c384fd2c6024dd9f5d7a24274
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously a RowLayout was being used. But I would argue that it's
better UI to use a SplitView instead.
Add the necessary overrides in QQuickSideBar, so that the SideBar
actually knows it's correct implicit size. This is needed in order for
the SplitView to work correctly.
We want the implicit width to be large enough to cover the delegate with
the most text, with a maximum width of half the available space in the
dialog.
As for the height, we want it to be tall enough to cover all the
standard paths + add favorite button, so that the feature of adding
directories to the favorite list is less cumbersome. The height of the
sidebar should be part of what determines the implicit height of the
dialog.
Pick-to: 6.10
Change-Id: If267d8197e82f8a91a059e31723c46fe95af3d41
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Names of QML components should not start with 'Q' and new components
should have a QML_ADDED_IN_VERSION.
Amends commit 9efc1fb4ac7982f105a13781fccff74a61907601.
Pick-to: 6.10
Change-Id: I1044603f7afab3fee92cd84b1a2a84f0564e6a73
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Santhosh Kumar <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If isReference() is true and we allocate a gadgetPtr() on the stack with
alloca(), then when readReferenceValue() fails, we return immediately,
leaving a bad pointer in d()->gadgetPtr():
- gadgetPtr now references alloca() memory from a function that returned
- the destructor of the gadget is never called
To fix this, ensure that we destruct and nullptr the gadget on all exit
paths, thanks to a qScopeGuard().
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I4ff411c0f364ad337fdbd55772812e1f219e6dff
Reviewed-by: Ulf Hermann <[email protected]>
|
|
|
|
|
|
|
|
| |
Cmake escapes some characters but not all, so you may end up with
invalid command lines on some platforms.
Change-Id: I1a3aad0b3d48b9e2dea2c4b1b55e371f286dfd46
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When requested, use the specified .qmlformat.ini file as the setttings
file. When --settings option is given through commandline, do not
perform per-directory configuration lookup.
Adapt the test to accept the SearchOptions.
Fixes: QTBUG-107212
Change-Id: I6b4f2c4a4321f89ae6dabf89a866c53486c22cce
Reviewed-by: Sami Shalayel <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add reportConfigForFiles to generic tooling class. It will perform the
search for the given files. Use stdout to report. qmllint had already an
option --dry-run for printing the fixed codes, but we can still allow this to
use that option name.
For qmlls, report the path if verbose option is set.
Fixes: QTBUG-137874
Change-Id: I6bd43866073b3df832b6fd89d477bced869d74c0
Reviewed-by: Ulf Hermann <[email protected]>
|
|
|
|
|
|
|
| |
Task-number: QTBUG-137318
Pick-to: 6.10
Change-Id: I3e4d506ce6b8961b85bfb8a992c6de345ea7c1f1
Reviewed-by: Jan Arve Sæther <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a property potentially used in focusIn or focusOut animation is
changed, we need to reschedule the animation with the correct parameters.
properties like verticalPadding, leftPadding, controlHasText, ...
To fix the issue I simplified focus animation logic.
Fixes: QTBUG-138028
Change-Id: I115fb6fdd5676ae0282b5b4b5bd460ea3b28392a
Pick-to: 6.10 6.9 6.8
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A window can be hidden during the polish step. For example, an app may
hide its window if the geometry is not good enough. This can result in
the following render thread events if the QPA sends sync expose events:
- WM_Obscure
- WM_TryRelease
- WM_RequestSync
The WM_RequestSync event comes from the WMSyncEvent.
With QtWayland, repainting a window after it has gotten unexposed can
lead to the compositor posting a protocol error. There is also matter of
keeping code predictable: if the QPA sends an unexpose event, it'd be
great if the app stops repainting.
Pick-to: 6.10
Change-Id: I1d477436d6f79156aca44960c47a84f2e12ca4d2
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In animated transforms, it is common that only 1-2 of the properties
(scale/translate/rotate/anchor) are actually animated, while the rest
have constant, and often default, values. To lighten the generated qml
code somewhat, this patch skips generating Animation items for
constant value properties. In particular, it skips animating the
center/origin point of rotations when not needed. And for properties
with constant default values, the entire Transform object is skipped.
Depending on the inpu, this saves 10-50% of the size of the generated
qml, and correspondingly saves loading time and processing load.
Fixes: QTBUG-139076
Pick-to: 6.10
Change-Id: I151164b63356b0fd3b15cfcdc8d163f835d46fde
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds a build command for generating QML files out of SVG
files automatically. It works by first calling svgtoqml on the
sources and then adding these to the QML module for the target.
[ChangeLog][svgtoqml] Added a cmake api for automatically
generating QML files from SVG files in an application.
Task-number: QTBUG-128915
Change-Id: I44e70f0ada4ca8ac9ac8253d46832d3a286da927
Reviewed-by: Alexandru Croitor <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
If we don't do this, QQuickAbstractDialog::create will see that
m_handle is valid and call onCreate, which tries to call selectedFiles
and we get a crash.
Amends f9421abbdf4d2e2be06febf9f75a2b62e6875835.
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: Id522e068c689a5bc5662466e446f99586bc7c738
Reviewed-by: Oliver Eftevaag <[email protected]>
|
|
|
|
|
|
|
|
| |
Also, turn QQuickAccessible items to invalid() once the
QuickItem destructor starts.
Change-Id: I8b6bc7d69ffaeb01eb453e75de2847efb869cbf2
Reviewed-by: Jan Arve Sæther <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The only difference in the function is moved into dataPrivate.
This is the 9th patch in an attempt to make them more similar and
eventually merge common pars in a common abstract class.
Task-number: QTBUG-138703
Pick-to: 6.10
Change-Id: I6b247121f64b070ee31846a5da4be9ad1abb93be
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The only difference in the function is moved into setDataPrivate.
Q_STATIC_LOGGING_CATEGORY lcTreeModel is no longer used.
This is the 8th patch in an attempt to make them more similar and
eventually merge common pars in a common abstract class.
Task-number: QTBUG-138703
Pick-to: 6.10
Change-Id: Id7a7166a7dd31a5ab3908e68571bc802729798a3
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For applications running under Qt Wayland compositors, touch events may
be accompanied by fake mouse moves coming from the touchscreen device.
That might or might not be useful: but since most of Qt Quick ignores
such stray mouse moves, and PinchHandler was getting deactivated by
them, we now make an effort to avoid delivering them to PinchHandler
after it has become the exclusive grabber of those touchpoints (which
looks the same as being the grabber of "that" mouse).
Added a reminder to the handlePointerEvent() comment that tablet events
are different: hover events are not enough, in fact we need to deliver
TabletMove events to HoverHandler so that it has a chance to change the
cursor (i.e. keep the tst_HoverHandler::deviceCursor test working).
Pick-to: 6.8 6.9 6.10
Fixes: QTBUG-123985
Change-Id: I513caf277e2fb87401b3e0bb5547f9623467b423
Reviewed-by: Richard Moe Gustavsen <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Replace the previous stable sort + filter approach with an in-place
compaction loop that moves valid batches forward and recycles invalid
ones immediately.
This removes the need for temporary heap storage and avoids redundant
copying and sorting, while preserving the original order of valid
batches.
Change-Id: Icbe2c3d96b5d38a0a1f2c14ce175eb19d45d5a63
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
| |
The method incorrectly returned m_dirty_vertex_data instead of
m_dirty_index_data.
Pick-to: 6.10 6.9 6.8 6.7 6.6
Fixes: QTBUG-123988
Change-Id: Ib99175adabc711c8449ff3db755fbade968f7c63
Reviewed-by: Edward Welbourne <[email protected]>
Reviewed-by: Andy Nichols <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The container reorders the content model items after component
completion. The content model can be assigned as a model to the item
views to visualise through a container content item. The content item
can have item views anywhere in the object hierarchy. If the item
views are somewhere down in the line and not at the top, there is
a chance during component completion that some of the items are
reparented to the item views, and others are with the container
content item itself. Thus, reordering at this stage (having partial
items) can lead to changing the order of elements within the content
model, which further causes repositioning of items within the item
views.
This patch resolves this issue by skipping reordering the content
model, if any of the items are not reparented to the item views.
Fixes: QTBUG-138490
Pick-to: 6.10 6.9 6.8 6.5
Change-Id: I1673e600774e2821653542c003d2d573f62d024d
Reviewed-by: Oliver Eftevaag <[email protected]>
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We construct the iterator from the exports of the module in all current
code paths. Therefore, this case can't happen in the current code.
Still, the fact that we have a branch that throws a reference error
there tells us that it's intended to work on other collections of names,
too. Let's complete the check and also check for nullptr since
resolveExport can indeed return that.
Coverity-Id: 486706
Change-Id: Ieaf3996e76265e9e6ef59c2168699e47e41e8ff5
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
| |
Change-Id: I2fc82de562909ab2e0eecfbbe1e2e53953a33756
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Ulf Hermann <[email protected]>
|
|
|
|
|
|
|
|
| |
stringValue() already checks isString(). We don't have to do it twice.
Coverity-Id: 486710
Change-Id: I074228f9a120c3bbfe6d4a65f05fe11322fbd07b
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
| |
Coverity-Id: 486699
Coverity-Id: 486697
Coverity-Id: 486715
Change-Id: Icdd15ff578f8be55fe9db3ffc38e893f667edc40
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
| |
The propertyList is an array allocated on the JavaScript stack. None of
it can be null.
Coverity-Id: 486709
Change-Id: I3178181aa89bfff86fb5aa469660a912b4f1691c
Reviewed-by: Olivier De Cannière <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The method is (going to be) removed in 6.11 and is currently producing a
compilation error, as the method is marked `override` but is not
overrinding anything anymore, on current development builds that use a
recent qtbase.
Follow along the base class path and the resolution method in similar
patches (e.g for Qt Creator) by removing the method in its entirety.
Change-Id: I6a334681764d9589317ef2121691f8d4e7888b98
Reviewed-by: Ulf Hermann <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
QQuadpath did not maintain the isSubpathEnd-flag, so it would
typically be lost during path processing. Fix to ensure that
algorithms that test for it work correctly.
Pick-to: 6.10
Change-Id: I793b06ef87087cce4a4545bcd7fd2e20ca3790ad
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQmlComponent has two stages where it can produce errors that weren't
accounted for in the first example (which is what most users will see
first): in its constructor and in create(). Add error handling for
these so that users aren't confused when their QML silently fails to
load or they get crashes trying to access non-existent objects returned
by create().
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I42d0222a997b3cac01cd191bb076513642f5716d
Reviewed-by: Fabian Kosmale <[email protected]>
Reviewed-by: Ulf Hermann <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added braces to the m_hasQueuedStatus check for consistency
and to prevent potential errors if more statements are added later.
No functional changes.
Amends 76bb559e5fbf2dfaf017f8b4a3435938b4d5f4fa
Pick-to: 6.10 6.9 6.9.2
Change-Id: Ic465f41cf08aed0f3f6222786f8fa13f8657d385
Reviewed-by: Assam Boudjelthia <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These binding loops were introduced in
0e4d470d3df3963db3546f94e580994473052283, since the nested
overwriteConfirmationDialog's width were still determined by the contentItem,
but the contentItem's width depended on the overwriteConfirmationDialog's
width.
This resulted in a binding loop, which could be fixed by giving the
overwriteConfirmationDialog an explicit width.
Pick-to: 6.10
Change-Id: I3bb2957fd31710b093eb7f7e887df8f045809921
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The SideBar were facing two major issues.
The first had to do with the buttonDelegate's `required icon` line,
which didn't work after 7322e051c9c3d8dc715c20a3d42d9be83ea2295c,
resulting in an error during component creation.
The other issue had to do with the icons qrc paths only working for the
Basic style. Since the paths were relative, they'd assume that no file
selectors were being used, and thus a simpler path resolution.
This caused all non-basic styles to resolve the url to an invalid
resource.
The first issue was fixed by removing `required icon`, and the latter
was fixed by using complete qrc paths.
In addition, we do a small drive-by fix, by putting a user facing string
into qsTr().
Pick-to: 6.10 6.9
Change-Id: If6cd7ab638ec349b39fe0e4bc763ead78a51a0f4
Reviewed-by: Jonas Karlsson <[email protected]>
Reviewed-by: Mitch Curtis <[email protected]>
|
|
|
|
|
|
|
|
|
|
| |
As highlightedIndex property is added to SearchField, relevant style
implementations that previously relied on currentIndex have been updated
to use highlightedIndex.
Pick-to: 6.10
Change-Id: Ib8bc065c92aa95a1ea5ea3cd5c3825bbd15c2f2d
Reviewed-by: Jan Arve Sæther <[email protected]>
|