| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Task-number: QTBUG-50992
Change-Id: I3e5c8bf7cc39fae0e882440079bb43292ace1810
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't collect multiple object names for the same object. It was
confusing that the "override" tests contained both "label-override"
and "label-simple", for instance.
- If creation fails, output the error as part of the FAIL message.
- Verify that the QML files actually contain correct types. One of
the RadioButton tests was accidentally running with a CheckBox.
Change-Id: Ide56eed84b5625652321bfe4ef5e32fcf6f45438
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-50992
Change-Id: Ibba0e79f8eaf76336dad3708606484a2846b2912
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
As a special case, ComboBox defers the execution of the popup until
the popup is either accessed or made visible. This gives a nice boost
in creation time benchmarks (20->25, ~25%). The old optimization of
setting the delegate model only when the popup is visible is no longer
needed.
Task-number: QTBUG-50992
Change-Id: Ifeaceb759ab676bb54c6bc09dc97810eade72ca1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-50992
Change-Id: Ia07055d2fa3d30c91bdf3c526cf7301c7ed1ce2b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-50992
Change-Id: Ibbc946c3402c65f9b100fc74dde04e4d439c8535
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-50992
Change-Id: I6d205f8ea0c90986b18b7e6cedbf347f1ce38eec
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-50992
Change-Id: I99a8d97e7f25cfff398fb30e365c7b245b738c37
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-50992
Change-Id: I8e626d1a0585f93cbd612aca39a1e9050f5e0ed3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-50992
Change-Id: I432be00d81344ce129bc8906370555b134fdf423
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Note: It is important to repeat the names of the deferred properties
in base classes. The QML engine ask for the class info from the meta-
object. A class info declaration in a sub-class overshadows the class
info declaration by the same name in the base class.
Task-number: QTBUG-50992
Change-Id: Ib674b943db2f0bf196c9386ea22b511715c0a98f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
458eb65f7 introduced a performance regression. Before 458eb65f7, qmlbench
delegates_button.qml results were around 40 frames on a TX1. After 458eb65f,
it dropped to 32. This patch is unfortunately not able to bring it on the
original level, but at least improves the results to 37.
For QQuickText, it is extremely important that implicitWidth() gets called
before the component is completed, to avoid doing implicit size calculation
multiple times. Deferred execution caused a performance regression by creating
contentItem in "one go". We need to split the deferred execution to two parts
so that bindings get first setup, and later enabled upon completion. This way,
we utilize QQuickText's performance optimization for implicit size calculation.
Task-number: QTBUG-50992
Change-Id: I4bf00af71b6d7dbf1d4b58b00fe547c6c321f8ed
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When used within a QQuickWidget, our custom scenegraph item animations
wouldn't update. Gunnar suggested that the cause of this is the fact
that we're not calling QQuickWindow::update() anywhere (as would be
done for us if we implemented these controls with Animators in QML).
To go into more detail, QQuickWidget uses a QQuickRenderControl
internally, and the render control's renderRequested() and
sceneChanged() signals are both connected to
QQuickWidget::triggerUpdate(), so if calling QQuickWindow::update()
is enough to kick it into action.
QQuickWindow::frameSwapped is not emitted as part of
QQuickWidget's render cycle, so that is probably the core of the
problem. So instead, of using frameSwapped to drive the animation,
we drive it directly from our beforeRendering handler.
We also want to ensure that the very first animation triggers a
start as well, so we make QQuickAnimatedNode::start() call
QQuickWindow::update().
It was also suggested that we use direct connections when connecting to
QQuickWindow::beforeRendering and QQuickWindow::frameSwapped, as
QQuickWindow has affinity to the GUI thread. So, to make sure that
things get called on the right thread at the right time, we change
that as well.
Task-number: QTBUG-62874
Change-Id: Id233be1b80858ec19eef9312f143adffadababff
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
| |
Change-Id: I22b0bf8f03b472bae7a25711cca83c0657c9e848
|
|
|
|
|
| |
Change-Id: I24ae2872dd74c682e24dbeda563c0fa281ae5522
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In practice, deferring the execution of the delegates (until
accessed) means that the default delegate item does not get created
at all, when a custom control replaces it at construction time.
Button {
background: Rectangle { ... }
}
Before, such custom Button would never be faster than the original
one, because the default delegate was first created and then thrown
away at construction time. Originally, this was not considered a huge
problem, because the plan was to keep the default delegates so light-
weight that it wouldn't matter. However, then came the fancy styles
with shadows and effects and thus, heavier default delegates. There's
also a growing demand for more features, and the default delegates
are slowly getting heavier...
Now, after this patch, if you replace a heavy default delegate with
a light and simple custom delegate, the result is a much faster
control. For example, replacing Material style Button's background,
which has a shadow effect, with a plain Rectangle gives a ~10x boost,
because the default background with its heavy shadow effect is not
executed at all.
At the same time, deferring the execution of the default delegates
avoids troubles with asynchronous incubation, because we don't need
to destroy an object in the middle of the incubation process.
Task-number: QTBUG-50992
Change-Id: I2274bff99b9ff126d3748278d58d859222910c98
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
Fixes compile with disabled widgets module.
Task-number: QTBUG-64761
Change-Id: I743884d77d51e89061d87cab006bab0cafc9ddb7
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\
| |
| |
| | |
Change-Id: I53a6ca82706ff6afbad9e1f40e001c81b8c8ceb8
|
| |
| |
| |
| |
| |
| |
| | |
Add a lot of missing controls and properties.
Change-Id: I7c0ff3cc7fd7220e338d78cac575091ff12abf48
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Id3ab86fcc29b411e47b9930d3b1d4f313d7be91b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
| |
if the scene is rendered by a QQuickRenderControl and we have a different
target window (for instance QQuickWidget) we check the target window of
the render control instead of the own window, this fixes window keyboard
shortcuts for QQuickWidget
Task-number: QTBUG-64548
Change-Id: I7614be580f2a707c752189e4c9b53a5d5f0159d7
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
| |
Change-Id: Ie72671fb92108dfaf5aaae4ea3ffb279e14b2f1a
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-64065
Change-Id: Id77a85ce5b88c20795e9f7fe9d2ece974f46a315
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
| |
To make them correctly available in QML so that they also work as
signal arguments.
Task-number: QTBUG-64259
Change-Id: I5fa00871f96357d924661c4b8af323a0f1748c9d
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
We've come to realize that even though it's tempting to group similar
properties together, organizing the API so that revisions are grouped
together makes future maintenance more pleasant. It's a lot easier to
to see what was added and when.
Change-Id: I47ba7725260f2c259048848cc2a9b17bce2f01c7
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
| |
Change-Id: Ic98b332c5e30104c4a3c74a873caafa9065d6b5d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
The resource file gallery.qrc was removed, load from path instead.
Change-Id: I167c3f967f8a73bf0de9ffe1658c00970b3d8075
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
| |
Change-Id: I7bfb3505cf34b6e8a6f670abd81ee6e39084a1fc
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-64065
Change-Id: I7182cf24197250c927c8cc5227356e835e55a130
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickTextField wants to emit pressed(), released(), and pressAndHold()
signals not only on left, but on all mouse button clicks. Therefore it
explicitly sets accepted mouse buttons to all. However, the base class,
QQuickTextInput, has only been prepared to handle left (selection) and
middle (paste) mouse buttons. Don't pass right mouse button -only
events to the base class to avoid it clearing selection on right click.
Task-number: QTBUG-64048
Change-Id: I015820c78995cc8dd7cbeb16fca0f9b991040bad
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-64099
Change-Id: I6580f1779e2863e25980968b076f342a5d76d423
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The size (and position) of the background item is respected if
explicitly defined, so the wrapper item is not needed. This does
not reduce or simplify bindings, so the performance boost is not
remarkable, but this can improve the qmlbench results by a frame
or two depending on the hardware. ;)
Change-Id: Ibd45cf02a3eb30b48b4af86e369a1db4cc5d3864
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The system resource will not be reclaimed and reused, reducing the
future availability of the resource.
In QQuickStackView::​componentComplete(): Leak of memory or
pointers to system resources (CWE-404)
Coverity-Id: 178431
Change-Id: Iff8f8e2d228042789faae56512fd3255c3e56498
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
| |
Change-Id: Ibec1396de3e929a229e1550b8045d687aa5a513c
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
| |
Don't dereference the contentItem pointer without checking. We can use
availableWidth/Height as a fallback.
Task-number: QTBUG-63898
Change-Id: I1ef7704e96e233036eacd6e3586f5bd0c72fac2d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
test_interactive() was iterating the entire rectangle 2px around each
indicator pixel by pixel and sending mouse clicks and touch presses +
releases at each coordinate. This resulted to a total of 845 mouse
clicks and 845 touch presses and releases. Select a few interesting
coordinates to reduce it down to 40 mouse clicks and touch presses and
releases.
Change-Id: Ie3439aae8481e019956c49d2d82067dac8741b8f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: Ifbbc0695023d238f2066f3412e563fb663cdec74
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The problem was that QQuickContainer started already moving items while
QQmlObjectModel was creating items and QQuickRepeater was initializing
the order. Don't reorder items during the creation, but only after
component completion.
Task-number: QTBUG-61310
Change-Id: I13380c5ab6b3bddaad3fa03ef6fb028622b4cd11
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Tooltips are special popups that should not block hover, because it
conflicts with the typical condition for showing tooltips on desktop
platforms.
Task-number: QTBUG-63644
Change-Id: Ie974aed23a7df8e4b926bec5fe717cb909d15842
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I6b9e31919502fb2f47e4b3657302a745c9f85b23
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Avoid accidental detach with C++11 range for loops.
Change-Id: I2a105ef5a2505d26ee086974177f8f1e4040b522
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Ensure that lastSavePath (now lastSaveUrl) is converted
to a URL correctly by constructing it from screenshotsDir
rather than screenshotsDirStr.
It was resolved as a qrc path previously.
Change-Id: I5ccdad6166b3927a149875b6ff89ff53c2440c05
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
| |
Change-Id: Ib56041e69547e03d7db10974d4638748f99fd2bf
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We were accidentally passing QQuickOverlay as a QML context parent for
dynamically created popup background dimmers. There is only one overlay
per window, and the overlay is not destroyed when a popup is destroyed.
QQuickOverlay is just a visual parent item for popup background dimmers,
but the actual owner is QQuickPopup. Make sure to pass the popup instance
as a QML context parent to ensure that the popup background dimmer's QML
context is cleaned up when the popup is destroyed.
Task-number: QTBUG-63672
Change-Id: I5cabbcef5035cef40af3c9edbcd8f7ae3157bd8a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-63618
Change-Id: I6a32158726e4425dc24c24f4f9dc9cc80aa462bf
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\
| |
| |
| | |
Change-Id: Idbaf1791ffca20c4961bea16bb411720bbcac062
|
| |
| |
| |
| |
| | |
Change-Id: I976ebebb69e583963f9578fb007fb008311a22b4
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
| |
| |
| |
| | |
Change-Id: Ifaa644970cd8da55d02c1af76acd3ce8fbedb6da
|
| |
| |
| |
| |
| |
| |
| |
| | |
Disable hover to avoid unexpected changes.
Task-number: QTBUG-60480
Change-Id: I22fab5c95daa42f3c84437072bce49cac5c705af
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Start keeping track of the content size only after the component is
complete, to avoid creation time ping pong with content size updates
and content item resizing.
Task-number: QTBUG-62325
Change-Id: I4b75dc398d0b746dd7e0b04291270f47f91bb7e6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|