| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
Change-Id: Ia407f277cccfdd96242ebfdbe294d699e26e6b1d
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][Control] Fixed focus scope controls to respect
wheel focus policy.
Task-number: QTBUG-66133
Change-Id: If963feba4b6e59b87ca54af5f6606805093eb0cc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When a popup closes, if it has active focus, it should restore focus
back to where it was regardless of whether the popup originally
requested focus. Even if a popup does not request focus on open, it
may gain focus programmatically or when a control with click-focus is
clicked, for example.
Task-number: QTBUG-66113
Change-Id: I9a7c467abe781bbef390d74898d13b9a30b2695b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a focus scope explicitly requests click focus, make it gain active
focus by clearing the sub-focus child.
Pane {
focusPolicy: Qt.ClickFocus
TextField { }
}
[ChangeLog][Controls][Control] Fixed focus scope controls, such as
Frame, GroupBox, Page, and Pane, to respect click focus policy by
clearing a potential sub-focus child. This makes it possible to close
the virtual keyboard by clicking the background of a Pane that has
Qt.ClickFocus set as its focusPolicy, for example.
Task-number: QTBUG-66133
Change-Id: I582f3c66aa6f11e229d89c4f610fae3c6259104d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-65193
Change-Id: Idff23dcc35f3c3fe41406678613b022098149318
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I697f98d5214f487c915032d744ec593da05368a8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unlike other delegates, such as background and contentItem, popup is
not unconditionally executed upon component completion. For performance
reasons, its execution is delayed until the popup is needed, that is,
the popup is accessed or shown.
When the popup is accessed, we use the current completion status via
isComponentComplete() to determine whether its execution must be
completed immediately, or if we can wait until componentComplete().
However, if the popup was accessed while the combobox itself was being
completed (used in ComboBox's bindings), the popup was never completed
because isComponentComplete() was still returning false even though the
popup was actually being indirectly accessed from componentComplete().
A simple execution order change, to complete the combobox itself before
the popup, fixes the problem.
Task-number: QTBUG-65962
Change-Id: I4764eb7e273e7f6fa1dab1a65a02b87722ee7cba
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-65880
Change-Id: Ic4f9fb087f4a78bd4c6257828011240186b6b22e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
platforms
The LinuxQEMUarm64GCC and LinuxQEMUarmv7GCC CI platform fails because they
use QT_QPA_PLATFORM=offscreen, and grabToImage() doesn't work on
offscreen platforms.
Task-number: QTBUG-63185
Change-Id: Ifac43dfa26182e3b518397fa070bb4d4a62114e0
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The LinuxQEMUarm64GCC and LinuxQEMUarmv7GCC CI platform fails because they
use QT_QPA_PLATFORM=offscreen, and grabToImage() doesn't work on
offscreen platforms.
Task-number: QTBUG-63185
Task-number: QTBUG-65975
Change-Id: I037110408bd7b676d6ca142808774b29d1aa749f
Reviewed-by: Sami Nurmenniemi <sami.nurmenniemi@qt.io>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ensure that "moving" is false before comparing the y position of
the delegate item.
Change-Id: Ie23e86c1f89180c5afca3a48b9361a82635d5e39
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickRepeater does not set a QObject-parent, so make
QQuickShortcutContext::matcher() start from the object itself and
if no window is found, then iterate to the QObject parents.
Task-number: QTBUG-65889
Change-Id: I30a1ed0616edd002abcf28d1b8dc7e2d87e99c13
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/Tumbler.qml
src/quicktemplates2/qquicktumbler.cpp
src/quicktemplates2/qquicktumbler_p.h
src/quicktemplates2/qquicktumbler_p_p.h
Change-Id: I8d50991183fe3c5b50a49e00f01bcd3049f5346c
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that the contentItem is created at a different stage, we
have to shuffle some code around and add some null checks.
Task-number: QTBUG-50992
Change-Id: I34d3a9ea9cb9ab54008a1015b37b1666538c085e
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-50992
Change-Id: I621343bef562b4ed85202a0690a0cccfc0a053c5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-50992
Change-Id: I5f2708bc0e9f37232b10e2cd6f1c61ab779156e3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-50992
Change-Id: I1f31b23f3db23e5582b74b18ed643e8263d99142
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-50992
Change-Id: Idee1a13355e36e9221b32cdf9b89b4090dcf87b4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-50992
Change-Id: Ied6b4365d03fc1ef3ae3a69667f1cb1fc8cdb9ac
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-50992
Change-Id: Iaabd561b2bd009d3db970f370eff6fa717164961
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Same as 3ec6d04d in 5.9, but for the new styles in 5.10.
Task-number: QTBUG-50992
Change-Id: I211c0e6c0b290c1af310898f21850f9fad01b278
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Same as d61567f in 5.9, but for the new styles in 5.10.
Task-number: QTBUG-50992
Change-Id: If47df3796eeadb997bfc76ce6dd6a3b14372ff2b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\ \
| | |
| | |
| | | |
refs/staging/5.10
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/quicktemplates2/qquickcontrol.cpp
tests/auto/sanity/tst_sanity.cpp
Change-Id: I62a79fd7788fec635b9917fc91bacd7338b547fd
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We can already cleanup the internal IDs even if Tumbler doesn't
have deferred execution enabled.
Change-Id: Ide9a0a6c6d1680c6df6b968b5702a6270fea3326
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Task-number: QTBUG-65341
Change-Id: I51bd3390a18e50e37dfdd880dfa8df262d478b04
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
ComboBox no longer creates a popup instance at construction time.
Change-Id: Ie036d75acbd2a7a391c1ed1af590409f4eddd587
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Test file names against registered QML types to avoid including any
internal helper types like CursorDelegate.qml and RectangularGlow.qml.
Change-Id: Ia3079ea215eea59f7e405a50c3170fb4530f4239
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/ /
| |
| |
| |
| |
| | |
Task-number: QTBUG-50992
Change-Id: Ifb41a8caf6b406249d6da4783c546816d9b51581
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-65341
Change-Id: I3bfd36f1d1e275eb507184c376599aa7751a069e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I7cf0a01648d95c386cbf916107546e4f46fadc73
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/BusyIndicator.qml
src/imports/controls/CheckBox.qml
src/imports/controls/CheckDelegate.qml
src/imports/controls/ComboBox.qml
src/imports/controls/DelayButton.qml
src/imports/controls/Dial.qml
src/imports/controls/ItemDelegate.qml
src/imports/controls/MenuItem.qml
src/imports/controls/RadioButton.qml
src/imports/controls/RadioDelegate.qml
src/imports/controls/SwipeDelegate.qml
src/imports/controls/Switch.qml
src/imports/controls/SwitchDelegate.qml
src/imports/controls/doc/src/qtquickcontrols2-configuration.qdoc
src/imports/controls/material/CheckDelegate.qml
src/imports/controls/material/ItemDelegate.qml
src/imports/controls/material/MenuItem.qml
src/imports/controls/material/RadioDelegate.qml
src/imports/controls/material/SwipeDelegate.qml
src/imports/controls/material/SwitchDelegate.qml
src/imports/controls/qquickdefaultbusyindicator.cpp
src/imports/controls/qquickdefaultbusyindicator_p.h
src/imports/controls/qtquickcontrols2plugin.cpp
src/imports/controls/universal/CheckDelegate.qml
src/imports/controls/universal/ItemDelegate.qml
src/imports/controls/universal/MenuItem.qml
src/imports/controls/universal/RadioDelegate.qml
src/imports/controls/universal/SwipeDelegate.qml
src/imports/controls/universal/SwitchDelegate.qml
src/quickcontrols2/quickcontrols2.pri
src/quicktemplates2/qquickcontrol.cpp
src/quicktemplates2/qquickmenu.cpp
src/quicktemplates2/qquickpopup_p.h
Change-Id: Ib25c8b4a7fe018b7c0ade9b02bfaaa6980118c15
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The qmlbench repo has benchmarks only for a subset of controls. They are
part of a larger collection of benchmarks that are run periodically, for
which the results are collected to Grafana. We have limited resources
there, so we don't want to overload it with benchmarks for every single
control type. However, for our own benchmarking purposes it is useful to
be able to easily benchmark all of them.
Change-Id: I920e4c07bce8356e5d9f41d4c1d6ae43e37bb13e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Same as da27cace for the Default style.
An internal ID in the OpacityAnimator element prevented deferred
execution for the whole content item. Apply the same visibility trick
in C++ to avoid having to use an ID in QML.
Change-Id: I4b54bbe3044aff9603b1135ac25d7325e01fdff2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: I8ee27a0c65c9ce8c9cc48c6f59d2b34d02849be8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Due to unclear auto test failurs, Tumbler does not yet have deferred
execution enabled for its content item. Because of this, the test is
getting full of skips and expect fail's for Tumbler. Just leave it out
for now and restore later when Tumbler is fixed.
Change-Id: Iab9465e002572d15e5bda6dbd53b71594f593703
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fix style selection, and make override() actually fail with
internal IDs in the built-in styles.
Change-Id: Ied321c46cd74039f84b683fb6df99aef2d488eef
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the QML engine refuses to defer execution of a delegate (it contains
an ID), we must make sure to cancel any pending deferred execution for
the same delegate. Otherwise, we may end up overriding a custom (non-
deferred) delegate with a default (deferred) delegate.
This patch adds a new test style "identified" to tst_customization.
This style contains delegates with IDs so we can test the behavior with
IDs in base styles. Furthermore, overriding delegates is now tested
in various ways (with and without IDs in the base and custom styles) in
a separate test method. This is done by generating QML code to override
delegates with dummy Item instances with appropriate IDs and names.
Task-number: QTBUG-65341
Change-Id: Ie6dca287cb74672004d9d8f599760b9d32c3a380
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
An ID in the internal Text element prevented deferred execution for
the whole content item. The ID was used for two reasons. First of all,
it was used to propagate implicit size from the Text element to the
root of the content item. Secondly, it was used to calculate clip areas
to provide the same text in two different colors. This patch provides
two internal C++ helpers, ItemGroup and ClippedText, that provide these
functionalities without the need of using IDs in QML. At the same time
we got rid of two wrapper Items and simplified some QML bindings, which
results to a nice boost (18->22) in qmlbench on TX1.
Task-number: QTBUG-65341
Change-Id: Icf9c09356cf5c0ed641bde537bee7291bd260057
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
An internal ID in the OpacityAnimator element prevented deferred
execution for the whole content item. Apply the same visibility trick
in C++ to avoid having to use an ID in QML.
Task-number: QTBUG-65341
Change-Id: Icb20e4ecc60d1093e849737799bb269f7f03097a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove the undesired internal IDs where easily possible, and
add expected failures for the harder ones for now.
Task-number: QTBUG-65341
Change-Id: I5964b2cb59652661c90141259c68b95c721cf6ca
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Maintain the tested controls and delegates in a single array that can
be re-used for testing all styles without repetitive and error-prone
hand-written data rows.
For this to work, the structure of the tested styles must match. The
"incomplete" and "override" styles filled in all possible delegates,
whereas the "simple" style filled in only the normally used delegates.
The test styles have now been synced with the structure of our built-
in styles. For example, Dials and Sliders don't normally have a content
item, and CheckBoxes and RadioButtons don't normally have a background.
Change-Id: I48a26ee170f66882c55b54a282f2e4b3a3875f9a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Since 8e4b910, we've been often seeing the following failure in CI:
FAIL! : tst_controls::Default::Tumbler::test_itemsCorrectlyPositioned() Compared values are not the same
Actual (): 0.00008000000001118224
Expected (): 0
Loc: [/Users/qt/work/qt/qtquickcontrols2/tests/auto/controls/data/tst_tumbler.qml(352)]
QQuickPathView uses such tiny 0.00001 offsets internally. => Use fuzzy
compare for the expected position.
Change-Id: Ie6c1025003aa57335232d23fb8466d1578dc1ab3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unlike with mouse events there's setAcceptedMouseButtons(), currently
there's no way to control whether a control receives touch events or
not. As a temporary workaround until QQuickItem::setAcceptTouchEvents()
has been added, we'll have to ignore touch events by hand.
Task-number: QTBUG-65084
Change-Id: I3d51bdc80981557399f3bdfd181e359679cd1c20
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
QQuickPopup is backed by a QQuickControl subclass aka QQuickPopupItem.
However, since the QML engine sees "background" and "contentItem" as
properties of QQuickPopup, we must ensure that the deferred properties
are executed for the QQuickPopup wrapper object.
Task-number: QTBUG-50992
Change-Id: I2ec055b382e41530a6f4a740cb80853c0181c21a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\ \
| | |
| | |
| | | |
refs/staging/5.10
|
| |\|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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>
|
| | |
| | |
| | |
| | |
| | | |
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>
|