| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Because of the previous behavior, the footer could be read aloud by
the screen reader before the content item. And even worse, the footer
could be read aloud even before the header in some cases. This made
it hard for visually impaired people to use the application.
The Page type was used by the Dialog type, so it also affected that.
Fixes: QTBUG-75042
Pick-to: 5.15 6.0
Change-Id: Ic3e8ec3f7dcf18af9262b1d35c986835c8da6900
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix for setting up initial inputMethodHints to Qt::ImhNoPredictiveText
for Combobox.
Before this change, Qt::ImhNoPredictiveText was never set for Combobox.
As inputMethodHints() by default returns Qt::ImhNoPredictiveText value,
setInputMethodHints didn't allow to set this value correctly.
Task-number: QTBUG-61021
Pick-to: 5.15 6.0
Change-Id: Ie4ec0d32fff7586bc3a8bd055b752000c0330fad
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
|
|
|
|
|
|
|
| |
Only react to hovered on enabled items.
Fixes: QTBUG-90580
Change-Id: I955033f391e6cd592e3d75b79b9242019db9fcfa
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
syncCurrentIndex () function assumes that PathView is used as view for,
Tumbler component, and states that actualViewIndex should be 0 while
initialization. This statement is not correct when Tumbler is in
non-wrap mode and uses ListView as view, where currentIndex is set to
-1 by default. Fix actualViewIndex condition according to ListView
logic.
Fixes: QTBUG-84426
Pick-to: 5.15
Pick-to: 6.0
Change-Id: I4ef1e7b45399bf748968490f44b8909f3218d9bc
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the geometry of a control changes, this code is called:
void QQuickControl::geometryChange(const QRectF &newGeometry, const QRectF &oldGeometry)
{
Q_D(QQuickControl);
QQuickItem::geometryChange(newGeometry, oldGeometry);
d->resizeBackground();
d->resizeContent();
if (!qFuzzyCompare(newGeometry.width(), oldGeometry.width()))
emit availableWidthChanged();
if (!qFuzzyCompare(newGeometry.height(), oldGeometry.height()))
emit availableHeightChanged();
}
SwipeDelegate works by moving the background and contentItem together
when it is swiped to expose the various delegates. Because this
involves setting the position of the background, the check for
background's x position being 0 in
QQuickControlPrivate::resizeBackground() would fail and the background
would not be resized at all. Fix this by making resizeBackground()
virtual and don't check the x when checking if we should set the width.
Similarly, in QQuickSwipeDelegatePrivate::resizeContent(), we should
set the contentItem's width instead of just repositioning and resizing
it vertically.
Fixes: QTBUG-85770
Pick-to: 5.15 6.0
Change-Id: I36684bf2797719db87fe93063cc7685efe594eea
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A ScrollView will typically contain other controls. And
if we're using a dpr with a fraction (e.g 1.25), the
position of the controls will sometimes jitter as you
scroll. The result is that if e.g a Frame is wrapped
tight around around a Rectangle, the frame will sometimes
be outside the rectangle, and other times on top. This
is because of rounding issues when drawing the Frame
vs the Rectangle.
So let the default flickable used by a ScrollView have
pixelAligned set to true. This will give the best
cross-platform "out of the box" experience.
The developer can always choose to use his own Flickable
for ScrollView, and tweak it, if such default
behavior is not wanted.
Pick-to: 6.0
Change-Id: I7dc7b0b390dbf055f35cca2a6c15a6075e33c0a4
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a popup had an exit transition set and was destroyed upon e.g.
being rejected, it would not destroy its modal dimmer, and so events
would not go through to popups that were beneath it even after it
was destroyed.
QQuickPopup's destructor does indirectly attempt to call
finalizeExitTransition() through a setParentItem(nullptr) call,
but prepareExitTransition() returns false if it sees that the
exit transition is already running, and so transitionExit()
never calls finished().
This patch fixes the problem by explicitly calling
finalizeExitTransition() in QQuickPopup's destructor if the exit
transition is running.
Fixes: QTBUG-89673
Pick-to: 5.15 6.0
Change-Id: I468fae52f6a83ac314877c67d062028634bb7e17
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
By resetting the opacity and scale properties after an exit transition
we are ensuring that it does not lose the original values that the user
may have set.
[ChangeLog][Important Behavior Changes][Popup] After the exit
transition is finished, then the opacity and scale properties will
be reset to their values before the enter transition is started.
Pick-to: 5.15
Fixes: QTBUG-87283
Change-Id: I2b192c96eaea2906d968341255e80cd19be177e6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This now follows the same pattern as QQuickSpinBox does it for it's
own indicator buttons.
a11y::ScrollBar crashed because of this
Change-Id: I5669fa2bf130b37ad46573aae5c6bebd8e0d0434
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
In order to achieve this, it separates out QQuickSpinButton into a
separate file (and renames it since it's not only purposed for SpinBox
anymore). This allows it to be also used by QQuickScrollBar.
Fixes: QTBUG-88115
Pick-to: 6.0
Change-Id: I2dea42b29750b7bc619031f40a43717fc10c177b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ib7ffbb263856f1ed97693eee10097f8cc2f8fb12
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Since we only depend on using setFamilies() now instead of setFamily()
then we can rely on the fact that it will be resolved correctly, so we
can remove the code that was ensuring that family() would take
precedence if families() was empty.
Change-Id: Iea1464ec840dc76c04a4acae445cab367e03d3ca
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
-recommend using the import statement without versions for Qt 6.0
-update use of \qml snippet without \QtMinorVersion
Task-number: QTBUG-87155
Pick-to: 6.0 6.0.0
Change-Id: I338d4fb81b9709f2f342f250c07ddf66f116b1dd
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
The value is intended to be a URL, therefore only accepting the string
form is not enough.
Task-number: QTBUG-88372
Change-Id: I4d31d1c5eacd49b7591f087c2e82c31b70a3bc1d
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This deals with d7008c79d4ec023527ebfc118ad47f40075f244d in
qtdeclarative which aligned QQmlListProperty with our container types.
Note: not changing the respective APIs of the QQuick classes
in this change. Ie. QQuickPlatformMenu::insertItem still operates on
int as index, and QQuickMenuPrivate still stores currentIndex as int.
This might need to be addressed in a follow-up commit.
Fixes: QTBUG-88362
Change-Id: Ia663cfa47fa91c55997cdef288b2a866107a5f25
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
| |
Fixes: QTBUG-88222
Change-Id: I26ac9ce14fc86b3ada4e3024cb70b1ed4ce4755b
Reviewed-by: Nils Jeisecke <nils.jeisecke@saltation.com>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixed these warnings:
qt5/qtquickcontrols2/src/quicktemplates2/qquickdialog.cpp:515: (qdoc)
warning: Missing '}'
qt5/qtquickcontrols2/src/imports/controls/doc/src/qtquickcontrols2-customize.qdoc:28:
(qdoc) warning: Can't link to 'Creating Qt Quick Projects'
qt5/qtquickcontrols2/src/imports/controls/doc/src/qtquickcontrols2-index.qdoc:28:
(qdoc) warning: Can't link to 'Differences with Qt Quick Controls 1'
qt5/qtquickcontrols2/src/quicktemplates2/qquickdialog.cpp:505: (qdoc)
warning: Can't link to 'Popup::'
Change-Id: I7f66c7e3baa317af0890876ec7a7e9084997f324
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
Reviewed-by: Topi Reiniö <topi.reinio@qt.io>
|
|
|
|
|
|
|
|
| |
This is apparently no longer necessary.
Pick-to: 5.15
Change-Id: I0f45a84ced5118d248ffab4e745c4e2f2ce5738f
Reviewed-by: Paul Wicking <paul.wicking@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Mostly broken links to types and
properties that are either dropped or
renamed.
Task-number: QTBUG-88141
Fixes: QTBUG-88141
Change-Id: I44789cdd1b8560a967b0b3868fd637deef488d88
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
It inherits Container.
Fixes: QTBUG-88184
Pick-to: 5.15
Change-Id: Ic4878c2b240dad2294569a48c4f39e82d377133a
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Following 72e0d699cec09458ca9325035d477d4899e8e47b in qtbase, the model
tester exercises additional code paths to verify correct row/columnCount
implementations for flat models.
This revealed a few bugs in the models used in QQuickHeaderView and the
unit test:
* neither QHeaderDataProxyModel nor the test models handled a valid
parent index for calls to row/columnCount
* QHeaderDataProxyModel::sibling passed the index on as parent
Change-Id: I612e18030d837275614d61ce8987c93fff7f20a9
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For pressPoint to be set, we must enter QQuickPopupPrivate::handlePress()
but until now, Drawer has filtered a synthetic mouse press in order to
get there. Now that Flickable is handling touch events directly, we
have a new rule that if an item has acceptTouchEvents() == true, and
also filters mouse or touch events, then it must filter touch events:
QQuickWindowPrivate::sendFilteredPointerEventImpl() no longer constructs
a synth-mouse event for that item, because it has declared that it
knows how to handle touch events. This rule applies to Drawer.
Setting pressPoint is also unnecessary, because it should always be the
same as QEventPoint::scenePressPosition(). But refactoring all functions
like handlePress(QQuickItem *item, const QPointF &point, ulong timestamp)
(and handleMove and handleRelease) to take QEventPoint instead will be
a larger refactoring.
But until then, when pressPoint is not set, QQuickDrawerPrivate::grabTouch()
usually sees the drag threshold being exceeded when it compares the
current scene position against 0,0 which is why it takes the grab
from some control inside (e.g. Slider).
Fixes: QTBUG-88170
Change-Id: Ia88aed59695feb3d5fdabbbf276241e427ac9d89
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I4e6c1b03915c33f6225c0fb7f86e6acb7715cd4d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A control should have been pressed if it's going to accept a release.
This prevents an issue where a menu opened by pressing enter (handled
via attached Keys property) would instantly trigger the first menu
item.
Pick-to: 5.15 5.12
Fixes: QTBUG-83698
Change-Id: I6b1afbb76f37623012472b2b1148b4862c159239
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
It's not obvious how you can make a ScrollView resize the
content size in such a way that you're only allowed to scroll
in one direction (taking any scroll bars or padding into account).
So add a line the explains how you can do it.
Pick-to: 5.15
Change-Id: I2d4594d99eab2390d7a5f24710a7e381dbac4c2b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We almost always want to clip the flickable so that flickable
contents doesn't show up outside the scrollview. The only time
this is not really needed, is when the scrollview covers the whole
window and the scrollbars are transient. But for that corner case, if
this optimization is needed, the user can simply create his own flickable
child inside the scrollview, and control clipping on it explicit.
[ChangeLog][ScrollView] ScrollView now clips its contents by default.
Change-Id: I44bd7a8c397b90e14d0b9d5db8ec6523da205648
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
Modify special case locations to use the new API as well.
Task-number: QTBUG-86815
Change-Id: I4a690095fcd4b1141550de86b6820ae2dd579429
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
|
|
|
|
|
|
|
|
|
| |
QTouchEvent::touchPoints() is deprecated in qtbase as of
2692237bb1b0c0f50b7cc5d920eb8ab065063d47, and replaced with
QPointerEvent::points().
Change-Id: Ibe5722cf12526f47436921dcef8d3ed7e73cf4cd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Add missing QML_FOREIGN and make it anonymous.
Change-Id: I031132924f8d1c7ad4965248aa6b336c42e172a0
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-87018
Change-Id: I5f9318bd1cad0f760caf02b9066e729af3601098
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
| |
Amends 0ef66bfacd15cd6101522dbb2ffab1ada6a0834b : both constructors need
to setAcceptTouchEvents(). Fixes tst_controls::Basic::Button::test_touch
Task-number: QTBUG-87018
Change-Id: If801bd594aa22659a3ca8bad8be04d5f480033be
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This could have been done since Qt 5.10. In Qt 6 it is now mandatory.
See qtdeclarative/1457df74f4c1d770e1e820de8cd082be1bd2489e and then
qtdeclarative/ab91e7fa02a562d80fd0747f28a60e00c3b45a01
Task-number: QTBUG-87018
Change-Id: Ia05b4524860e99465a3c0b43ecd6159d26b2e5b5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous patch fixed a memory leak, which in turn exposed an issue
caused by item change listeners not being removed before contentModel
is destroyed. QQuickMenuPrivate::itemParentChanged() then tried to
access that contentModel, resulting in a heap-use-after-free.
This patch fixes the issue by removing all menu items before the menu
is destroyed, ensuring that the change listeners are removed in time.
Pick-to: 5.15 5.12
Task-number: QTBUG-86851
Change-Id: I3dc0a251d7fd9c05c384de6472e73493b2d5b664
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
Q_Q should not be used in a QObjectPrivate-derivative's constructor,
as q will be null at that stage. Instead, add QQuickMenuPrivate::init()
and create the contentModel there.
Pick-to: 5.15 5.12
Fixes: QTBUG-86851
Change-Id: Ia2a955e718cc0486af5a05e24fcfcb1c4bacb48d
Reviewed-by: Andy Shaw <andy.shaw@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickTextForeign was defined in both QQuick2Controls and
QQuickTemplates, causing linking to fail when building statically.
Since the type only exists to expose QML API, we just rename
one of the classes.
Change-Id: Id212602ada2f9eda3d7948474f600a954d26ddec
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
If the drawer does not see the press point then it was not open at the
time it was pressed. This ensures that when a touch is done on a button
to trigger the opening of a drawer it does not think it should be
closed due to the default close policy.
Pick-to: 5.15
Change-Id: I0d1b11341e659dc14554d0d72aac70199bbb99fa
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I240b7410a409bb2f72213c02f50870f4ed99db9a
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
| |
Adjust to API changes in qtbase
Change-Id: Ib7d97c9580651077103b8ddeca28c30fb4992cb6
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This amends 1a5a0a591c35dcf498a232a802087683f2244ecb so that it only sets
the hadActiveFocusBeforeExitTransition variable if it is false, ensuring
that it is correctly handled later on if it is true from before. This
handles a case of closing, opening and then closing again in one function
call.
Pick-to: 5.15
Task-number: QTBUG-85884
Change-Id: Ied4ca33045b005f5f666e63d85fb603e9350d982
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
By unregistering it in the destructor of the control and not the private
object ensures that it does not react to any accessibility changes. This
prevents any problems arising due to changes coming when the private
object is deleted.
Pick-to: 5.15
Change-Id: Icce0cc0cff54ce35ddf6be74e32bb0bdeff6d0fc
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the inputted value is out of range but it would be fixed to the
previous value then it would not update the text correctly to show the
corrected value. This ensures that it is updated as appropriate.
Before it would check if the value had actually changed after it had
been fixed to the corrected value. So if it was corrected to the
original value then it would not see it as having changed. Additionally
the displayText also has the original text before the change, so we
have to force through an update to ensure the contentItem's text is
updated too.
Change-Id: Ic38787d0803ab59cd998f4e2871c613f1642e764
Pick-to: 5.15
Fixes: QTBUG-85719
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Not all styles will have a specific version, so don't specify it.
Change-Id: I92f020314d76934f286ca2946e994e2d1c5d37e5
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|\
| |
| |
| | |
Change-Id: I18a4fd46cf13c65fe6f4c3981b7c61ab52109b8d
|
| |\
| | |
| | |
| | | |
Change-Id: I9999194551f71abec3731355cd746e69e2e0b187
|
| |\ \
| | | |
| | | |
| | | | |
Change-Id: Ib1414eac2ad31cbaff6408ba84020a1e5dc064f4
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
Change-Id: I5375ecd1dcbc058806e34fce757df2bf30dac16e
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is how the macOS platform behaves. This will cause a slight
behavior change for all Qt Quick Controls 2 styles on macOS, as
reflected by the change in autotests.
Change-Id: I9ea744737d0d157ee8c83955f718c1cd889a8c1d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I83f21bd6b780daa545c57d050d0f7562e8c0a4ff
Reviewed-by: Venugopal Shivashankar <Venugopal.Shivashankar@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These could not be revisioned as 6.0 at the time, but now they can.
Fixes: QTBUG-84190
Change-Id: I14dbd7609b0662a3ca13ac413204d953c37af7cf
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Before this patch, the documentation stated the following for e.g.
accept():
"Closes the dialog and emits the accepted() signal."
In practice, styles that have enter and/or exit transitions for Dialog
result in closed() being emitted after accepted() (and rejected()).
As there is no way to guarantee this particular order, we should be
consistent and swap it around so that accepted()/rejected() are emitted
first.
[ChangeLog][Important Behavior Changes] Dialog's accepted() and
rejected() signals are now emitted before closed() when calling done(),
accept() and reject().
Fixes: QTBUG-85748
Change-Id: I706dda8de28c350d65e3188787af8f66a2c5f07d
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|