| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
examples/quickcontrols2/quickcontrols2.pro
src/imports/controls/ComboBox.qml
src/quicktemplates2/qquickabstractbutton.cpp
src/quicktemplates2/qquickabstractbutton_p.h
src/quicktemplates2/qquickapplicationwindow_p.h
src/quicktemplates2/qquickcombobox.cpp
src/quicktemplates2/qquickcontainer.cpp
src/quicktemplates2/qquickcontrol.cpp
src/quicktemplates2/qquickcontrol_p.h
src/quicktemplates2/qquickcontrol_p_p.h
src/quicktemplates2/qquicklabel_p.h
src/quicktemplates2/qquicklabel_p_p.h
src/quicktemplates2/qquickslider_p.h
src/quicktemplates2/qquickspinbox.cpp
src/quicktemplates2/qquicktextarea_p.h
src/quicktemplates2/qquicktextarea_p_p.h
src/quicktemplates2/qquicktextfield_p.h
src/quicktemplates2/qquicktextfield_p_p.h
tests/auto/auto.pro
tests/auto/controls/data/tst_combobox.qml
Change-Id: I34cdd5a9794e34e0f38f70353f2a2d04dfc11074
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Tumbler is excluded because test_customContentItemAtConstruction()
starts failing if deferred execution is enabled for the content item.
Task-number: QTBUG-50992
Change-Id: I11022c3c380311396453cf6229e068e4aae2d82a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-50992
Change-Id: I6372e143c68f0a5bf7212d759281acef3c81618e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Icb22f656893c89f61233bb547f03e63240bb8f97
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add more test cases, and clarify the roles of the test styles.
- empty: no delegates at all
- incomplete: has all delegates, but with no bindings that access
delegates and therefore trigger creation (tests that delegates must
be created regardless)
- simple: has all delegates and creates bindings to simulate a full
style
- override: overrides the simple style and tests that the default
instances of overridden delegates are not created
There are still several non-popup controls that lack deferred
execution. These are marked with QEXPECT_FAIL() to make it easy
to track what's missing. This list still excludes all popups.
Task-number: QTBUG-50992
Change-Id: I70ce42592e7a320251edebfab3030ccc7c0eb978
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
tst_controls::SpinBox::test_initialFocus() caught an issue that focus
was not transferred as expected when the creation of the content item
was deferred.
Task-number: QTBUG-50992
Change-Id: I6b9f5684ab7141fa4ebfe4c7fe3e32528553b96d
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Use QQmlFile::urlToLocalFileOrQrc() instead of QUrl::toLocalFile()
to avoid assuming a local file path. In static builds, QML files are
in QRC.
Task-number: QTBUG-65016
Change-Id: Ide36e5269d8692620f352574c726fbd1997c0a77
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The default (for ListView) is 400 pixels a second, which is really slow
when there are 1000 items. Set highlightMoveDuration to 1000 (one
second) for both view types to ensure a constant amount of time to
animate currentIndex changes.
[ChangeLog][Controls][Tumbler] Made currentIndex animations
take a constant amount of time (1 second) regardless of how many
items are in the model. This prevents Tumblers with large amounts
of items from scrolling too slowly when changing the currentIndex.
Task-number: QTBUG-65165
Change-Id: I0342236e49fae346926eb7e8a5fb6ed0813e457e
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| | |
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
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added global.cfg file that lists the includes needed to create the
binary compatibility test file. Also added the binary compatibility file
to test 5.10 content.
Change-Id: I9ddf9000991452c63d491695fb30c5c27199164d
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Sergio Ahumada <sahumada@texla.cl>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Change-Id: I19202b23a3027c7a24e15be2b929e9fc02aed044
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I8dfe1ddca7d06553450bd3b7906a05e3530c3a85
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Action caused checked state of the button to be reset back to its
original value if checked status had been change through click or key
press. To avoid this, separate private function has been added to that
does not change the status.
Task-number: QTBUG-65108
Change-Id: I8a5aaa9aab739db3ba10d0202f5fb718cc7195bd
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently, there's no explicit mention of being able to customize the
font via the qtquickcontrols2.conf file.
Change-Id: I0c62e19b721a2d652021c303f876aaaa1098b880
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Currently, there's no explicit mention of being able to customize the
palette via the qtquickcontrols2.conf file.
Change-Id: I11f16a4e7dd759de2121e986df17ae9fdc651180
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\ \ \
| | | |
| | | |
| | | | |
Change-Id: I0553212e943114e3fa592d9e1e9c1f7d59219186
|
| |\ \ \
| | | |/
| | |/|
| | | | |
Change-Id: Iacaf1656f2a66df0a97641f855aaf4d9d9189e6d
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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>
|
| |\ \
| |/ /
|/| |
| | | |
Change-Id: I043c6f0484a3075db15687595026c0af76ba63ff
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I969a911c3e66aff502188ff9a103f16dc6544ba5
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
|
|\ \ \
| | |/
| |/|
| | | |
Change-Id: Ide4b85626dd153b534c39a3afa2f3b9e732badf5
|
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
QQuickIconLabel is a wrapper around QQuickText & QQuickImage. While
the alignment is mostly handled by layouting the internal QQuickText
and QQuickImage instances, it must also propagate the alignment so
that the text and image elements themselves also apply the correct
content alignment.
Task-number: QTBUG-64492
Change-Id: Ieb9d26fce703247bc6e2e61fa38e44c29937d1ad
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
A regression introduced by 0504150. A wrong binding for the x-coordinate
was chosen while merging CheckIndicator back to CheckDelegate.
Task-number: QTBUG-64430
Change-Id: Ia3b07e7537cc888406076c700ecd495a958cb7c1
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |/
|/|
| |
| |
| | |
Change-Id: I6ed929757a3d526b2c521359e744322e3f519250
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I792cd065a70aaabf2349e1fe2c5b5dc41e29d1d3
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I696b405843f9eda79ec586cb99953469cb7f3c86
Reviewed-by: J-P Nurmi <jpnurmi@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.
The same was done for earlier revisions in 5.9 in commit 430fe83.
Change-Id: I738d7fdadd348c21737228c37d0f31e39b37f8e7
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quicktemplates2/qquickabstractbutton_p.h
src/quicktemplates2/qquickbuttongroup_p.h
src/quicktemplates2/qquickrangeslider.cpp
src/quicktemplates2/qquickrangeslider_p.h
src/quicktemplates2/qquickswipeview_p.h
src/quicktemplates2/qquicktextarea.cpp
src/quicktemplates2/qquicktextarea_p.h
src/quicktemplates2/qquicktextfield_p.h
Change-Id: I7cba8783b1dd85a4db534222e36572ee05dd01d0
|