| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickPopup::componentComplete() will automatically search for a
parentItem in case there's no explicit binding on parent. Since
componentComplete() also calls d->transitionManager.transitionEnter()
in case visible was set to true via the visible property, it would make
sense to simply set the visible member variable to true on a
QQuickMenu::setVisible(true) call, and delay calling transitionEnter()
on the transition manager until componentComplete() is called.
If for whatever reason the parentItem is explicitly set to nullptr after
componentComplete(), we can still prevent the menu from opening. I don't
see any potential issues with having the safeguard in
QQuickPopup::setVisible(), instead of QQuickMenu::setVisible().
Fixes: QTBUG-138193
Pick-to: 6.11 6.10 6.8
Change-Id: I869c81a6dc6977a4c7e1d88e2507ade08b84dabd
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Tst_palette::comboBoxPopupWithThemDefault fails on its first run
because tst_palette:comboBoxPopup sets a theme beforehand. It always
passes on its second run, as no theme as been fixed yet.
Change the order of the two tests ensuring that
comboBoxPopupWithThemDefault is passing on its first run.
This is a workaround to prevent the theme being fixed before the test.
Change-Id: I902f6b0cff9f35305cb5534d1318395677fa2748
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
|
| |
|
|
|
|
|
|
| |
Amends 023cad2c2c815c3237fdd4636213084db63fdcb1.
Task-number: QTBUG-142189
Change-Id: I4aac13fb790578ea69fb856e41ffc265f2330a01
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Avoid positioning items at fractional positions and then testing with a
QContextMenuEvent at 0, 0 relative to the item: it may be outside the
item by a fraction of a pixel and fail to "hit" during delivery.
Pick-to: 6.11
Change-Id: I0f1f98a7ae88a23356026d2c6c7eeb4bf2a72a92
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Keyboard navigation between the MenuBar, MenuBarItems, Menus and
MenuItems broke, when we introduced popup windows.
Since then, we've added various patches
(e.g. 2393c588bc9a5368c013952a4fb195c5b4017543) to gradually fix
key event handling.
Add a test, to verify that menubar navigation now works.
Task-number: QTBUG-121363
Pick-to: 6.8
Change-Id: I64d720a07fc300040ce1670082f9628befb73f5b
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
|
| |
[ChangeLog][Controls] Added DoubleSpinBox.
Fixes: QTBUG-67349
Change-Id: Icb2f02162825daf74778de725f80af63874a5d16
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
CalendarModel used previously set from and to values to calculate the
range and thus the count wasn't ever up to date.
Fixes: QTBUG-141883
Pick-to: 6.10 6.8
Change-Id: Id3ef60810d2e8ebfcc060307e6d17cfca379cd78
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
tst_QQuickMenuBar::subMenuFlipsPositionWhenOutOfBounds is failing on
ubuntu where a keyboard event is sent before the window became active.
Check that the window is active instead of checking if it is exposed,
ensuring the window can properly receive keyboard events.
Change-Id: If4dd3533fc5788f44d6011f89683f4b74ecd77c0
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-137318
Pick-to: 6.10
Change-Id: Iead7b9ad0bf22c96d94ab70795fed854f613f6d7
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
|
|
|
|
| |
Task-number: QTBUG-142189
Change-Id: I863b5773f89528d3582dd83c84cff78d159990c4
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix the flaky tests tst_QQuickStyle::commandLineArgument,
configurationFile, environmentVariables. The tests were picking up the
previously selected style, causing them to be unable to change and to
fail the next tests. When re-running a test no style is selected yet,
meaning the desired test can be selected succesfully.
Change the order to have lookup as the last time as it will make
other tests fail the first time. The lookup test is still failing the
first time it is run due to the wrong font size.
Reset the style inside of cleanup()
Change-Id: Ic974316c856affbc5f3fe805aabd27588b021c4c
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a followup to e323e508b61ce0a2615c9c8e8fbf897e27965173.
In cases where a Dialog has an item with explicit focus, e.g:
```
Dialog {
Button {
focus: true
text: "Foo"
}
footer: DialogButtonBox {
standardButtons: DialogButtonBox.Ok
}
}
```
Then the "Foo" button should get focus, since it's explicitly set in
QML. 4d1753b95f0343a68f80a1b482b8ab9a0397fecb changed this behavior to
instead always give the buttonbox focus.
If focus isn't explicitly set elsewhere, it should be fine to give it to
the buttonbox. However, doing so unconditionally would be a significant
behavior change that would break lots of user projects.
Add a precondition to verify that the popupItem doesn't have a
subFocusItem, before considering whether or not to give focus to the
buttonbox.
As a drive-by, also just call setFocus() instead of forceActiveFocus().
Both functions work for our purposes, so might as well use the less
extreme option.
Amends e323e508b61ce0a2615c9c8e8fbf897e27965173
Change-Id: Iea72f162669159082386966a1d9419c64abb7302
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Focus behavior was changed in 4d1753b95f0343a68f80a1b482b8ab9a0397fecb
to give the buttonBox focus when a dialog is opened.
This will fundamentally conflict with user projects that manually set
the focus property.
Further discussion will be needed to arrive on a good solution for when
the focus property is manually set. For now, we can at least make sure
that the new focus behavior is limited to cases where the buttonBox
actually contains buttons (aka, not empty), with at least one of them
being enabled.
Fixes: QTBUG-141998
Change-Id: I704e6a707f5b579e5f4de7b6197abc2fc5dfdf3e
Reviewed-by: Jarkko Koivikko <jarkko.koivikko@code-q.fi>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In QQuickAbstractButtonPrivate::updateEffectiveIcon we need to
resolve the icon's color so that QQuickIconLabel knows which of
defaultIconColor and icon.color should win.
In both QQuickAbstractButtonPrivate::updateEffectiveIcon and
QQuickAction::setIcon, we need to unconditionally set the icon
and be more strict about when we return early.
This fixes the case where setting "transparent" as the icon color
wouldn't result in the original image's colors being used, but
would instead result in the style's default icon color:
Button {
text: "Original icon color"
icon.source: "heart.svg"
icon.color: "transparent"
}
Button {
text: "Original icon color (action)"
action: Action {
icon.source: "heart.svg"
icon.color: "transparent"
}
}
Task-number: QTBUG-87459
Change-Id: Ic490e3b37a8174b8c034b84a1ad551a78088e44d
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Styles need a way to set the default icon color for controls. Until
now, that was done like this:
icon.color: "tomato"
contentItem: IconLabel {
icon: control.icon
}
This breaks the use case of e.g. an Action that sets its own
icon.color, because the icon property of the control always takes
precedence (see 146bc9517c56feda4eba34282d3cc53bd47b6267).
This patch adds a defaultIconColor property to IconLabel, which allows
styles to specify a color without overriding any potential action's
icon:
contentItem: IconLabel {
icon: control.icon
defaultIconColor: "tomato
}
If icon.color was explicitly set, it is used instead.
This does mean that overriding the contentItem will result in the
icon color being lost, but that is already the case for style
customizations in general.
All controls that set icon.color and using IconLabel to display their
icon are affected and are therefore adapted: Button, CheckDelegate,
DelayButton, ItemDelegate, MenuBarItem, MenuItem, RadioDelegate,
RoundButton, SwipeDelegate, SwitchDelegate, TabButton, ToolButton.
Add FlowPane to the shared folder of the baseline test and use it in
the tests that we touch. This fixes two issues:
- Using Pane as the background fixes text being invisible for some
styles.
- Using Flow provides the most space-efficient layouting of items now
that we have more than would fit in the old layout.
Task-number: QTBUG-87459
Change-Id: I455ce7202a46b7cfa7545650574e48ad72796675
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Qt Quick Controls lacked the ability for setting a default button in a
dialog button box. This is something that we support in QtWidgets, and
it makes sense to allow dialogs with a DialogButtonBox set as the footer
to decide if a particular button should be default, and have focus when
the dialog is opened.
With this patch, we're introducing two different ways for selecting a
default button.
The first is the usage of the DialogButtonBox::defaultButton property,
which works like this:
```
DialogButtonBox {
defaultButton: Button {
text: qsTr("Ok")
}
Button {
text: qsTr("Cancel")
}
}
```
In the snippet above, the Button that is set as default should both be
highlighted, and be the sub focus item of the DialogButtonBox.
However, since the standardButtons property can be used to dynamically
create buttons on the fly, we also needed an alternative way for picking
a default button.
In cases where standardButtons is being used to create buttons in the
DialogButtonBox, the new defaultStandardButton property can be used:
```
DialogButtonBox {
standardButtons: DialogButtonBox.Yes | DialogButtonBox.No
defaultStandardButton: DialogButtonBox.Yes
}
```
Something worth noting, is that the DialogButtonBox's contentItem is
typically a ListView. ListView have the ItemIsFocusScope flag set,
meaning that we need to give focus to both the ListView, and the default
Button.
In addition, the FontDialog and ColorDialog will now make the Ok button
default, and give it focus when the dialogs are opened.
The FileDialog and FolderDialog will continue to give the ListView
focus, since that's IMO more user friendly. The MessageDialog will need
new API to take full advantage of this new feature, which will be
introduced later.
[ChangeLog][DialogButtonBox] The DialogButtonBox now has two new
properties, defaultButton and defaultStandardButton. When one of these
properties are being used, a button set as default will be highlighted
and receive activeFocus whenever the DialogButtonBox gets focus. If
a DialogButtonBox is assigned as a Dialog's footer, it will also get
focus when the Dialog is opened. This means that a Dialog with a
DialogButtonBox as its footer, will give focus to a default button when
opened. If both of these properties are unset, the first button with the
AcceptRole will get focus, but it will not be highlighted.
Fixes: QTBUG-58246
Fixes: QTBUG-139352
Change-Id: Ic083410184dd63e0e790694f782a7a98c1dc8b6e
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
| |
This will tell us which item had focus if the expected one doesn't.
Pick-to: 6.10
Change-Id: I7252ba389b6bb113f866351fe7cda8e6bb2a62bf
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The failure was (with sped up animations):
FAIL! : tst_QQuickPopup::Material::invisibleToolTipOpen() 'toolTip->isOpened()' returned FALSE. ()
Loc: [/Users/mitch/dev/qt-dev2/qtdeclarative/tests/auto/quickcontrols/qquickpopup/tst_qquickpopup.cpp(2090)]
Use the same PointLerper approach used in other tests which always
helps with test flakiness caused by mouse moves.
The test didn't fail after several runs of tst_QQuickPopup (with all
styles) after applying this patch.
Pick-to: 6.8 6.10
Change-Id: I4ebb1247847965215a6c4e1fa0b28e68057694f7
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Otherwise the old scroll bar can be visible in certain situations.
Extends 908aa77d16e00f2bccc0ddae0f8b61955c56a6a1.
Amends bb2a6c61777e2500fa00710c8bb752fa7b99f079.
Fixes: QTBUG-141229
Pick-to: 6.8 6.10
Change-Id: I5c8a02f90e68c42d21078b945cc1ea0c84066635
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
Verify that using integer values for from, to and stepSize results in
integer values.
Task-number: QTBUG-141090
Pick-to: 6.8 6.10
Change-Id: Ideadd88bae45d3d9cfff9a4efd077a35368029e2
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on 42687caf7bc7496b838995f3fa68194ca8323da3.
If a user uses integer values for stepSize, from and to, they
most likely want the actual values of the handles to be integers, too.
Detect this condition, and store it in a new boolean member. If the
condition is met, we round the value in valueAt() (which, due to
floating point math, might not be an exact integer).
Fixes: QTBUG-141090
Pick-to: 6.8 6.10
Change-Id: If9507534db8fceb113e7426b5d46c6a023919d66
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
| |
|
|
|
|
|
| |
This helps avoid confusion with the default field for categories.
Change-Id: Iceb9a2adeb928a0f801fab9c718a8ecc3ac8cd07
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
|
| |
|
|
|
|
|
|
|
|
| |
By not comparing the Dial's value against 1 eight times.
Amends 42687caf7bc7496b838995f3fa68194ca8323da3.
Pick-to: 6.8 6.10
Change-Id: I67bc64c517d06a176ba4b2189f5755f954915ae1
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The attached property doesn't propagate to the sub-menu items
within the pop when the pop-up type is configured as Popup.Window,
as the attached property, is provided only for the immediate window
(made as part of patch d824585075b0abaec12c0cbb6445aa4eb84b2cea)
and not further up.
This patch ensures that the attached property is provided for the
window if configured for anything further up in the hierarchy.
Fixes: QTBUG-139603
Pick-to: 6.10 6.9 6.8
Change-Id: I95b9f735b7e19ad9916562bf09445fd20f2ba1f4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tst_QQuickContextMenu::menuItemShouldntTriggerOnRelease() has always
been flaky (introduced in dac8529dc3fac2ab57be9c72ef7f436e94317e25).
Skip it to unblock submodule update.
Task-number: QTBUG-133302
Task-number: QTBUG-137400
Task-number: QTBUG-141398
Task-number: QTBUG-141406
Pick-to: 6.10 6.9
Change-Id: I3bc1e02d7e5ac81296d85b6b40a602f820a25118
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickPopupPrivate::handleMouseEvent() has already converted from
`item->mapToScene(point.position())` to `point.scenePosition()`:
1. fe86b0fda7bcce099a0bca08e6925e89efc634c4
2. e481f1c414d7c243efabe4215b1865c616d25ce0
Give QQuickPopupPrivate::handleTouchEvent() the same treatment to fix
swiping open Drawers by touch.
Change-Id: Ieb4b8f0677043f09771e5700c8d441cc90d7fa75
Fixes: QTBUG-132914
Pick-to: 6.10 6.8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It crashes when failing to acquire UI thread deadlock protector
that's acquired by input context. The reason this happens is
that some QML tests have a TextEdit or TextInput based elements
that ends up doing some operation that blocks the UI thread
even after the test case is finished and then when a next
test case tries to create a window surface it finds the UI
thread blocked. Skip these for now, otherwise a solution
needs to be found under QTBUG-139400.
This includes:
* tst_qquickwidget::focusOnClickInProxyWidget
* tst_QQuickContextMenu::textControlsMenuKey()
* tst_QQuickContextMenu::mouseAreaUnderTextArea()
Fixes: QTBUG-141161
Task-number: QTBUG-139400
Pick-to: 6.10 6.8 6.5
Change-Id: I61eed34d79aaa88c46937610dec962dcecf5c716
Reviewed-by: Rami Potinkara <rami.potinkara@qt.io>
Reviewed-by: Soheil Armin <soheil.armin@qt.io>
|
| |
|
|
|
|
|
|
|
| |
PageTab is really like a button, or something you can click on
to display the selected tab. It is not the contents of that
tab.
Change-Id: I4ddd87541512a3712d9ca65e7336c8d9018d1023
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Resetting foreground and background values did not propagate to
children when the earlier value matched theme default.
Stop pre-clearing m_hasX/m_customX in reset. Clearing these variables
prevents propagating the values to children due to early exit
conditions in the inherit functions.
Clear only m_explicitX and call inherit with the parent's values.
m_hasX/m_customX values are then cleared in the inherit function,
if changed. This guarantees propagation to children even when the
color is unchanged.
Pick-to: 6.10 6.8
Change-Id: Ie4f7276d43afbfaf5b4d10ccf658f27000d640d9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change fixes setting the background or foreground explicitly to the
theme default. The value did not persist.
Example case for background:
The default m_hasBackground is false and background color is
globalBackground that is 0xFFFAFAFA, so if user sets the background
color to 0xFFFAFAFA the logic skips it by doing early out and doesn't
set m_hasBackground to true.
Fixes: QTBUG-140068
Change-Id: I26f1182d808354f34800dc62760e5498cbd77b3b
Pick-to: 6.10 6.8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
In rare cases the mouse was lingering over the exact position of the
scroll bar as a result of other tests moving the mouse, which would
make the scrollbar never leave the active state, and hence keep
reporting a non-0 opacity.
We're programmatically activating the scroll bar via increment(),
so we don't need the scroll bar to be interactive to do the test.
Pick-to: 6.10 6.8 6.5
Change-Id: Id75b22d51277c3515fd4f448360bd576b45d69d8
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Reset the style to "" to use the builtins styles, instead of reusing the
last style set by a previous test. Before this change, `tst_styleimports
attachedTypesAvailable` would test Basic, Fusion, ... styles while
`tst_styleimports` would only test the `FileSystemStyle` style set by a
previous test.
This commit fixes a test failure in a later commit.
Pick-to: 6.10 6.8
Task-number: QTBUG-133755
Change-Id: I693b976e786dce4bcf45dcf31b55142aed342a70
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In QQuickWindowPrivate::maybeSynthesizeContextMenuEvent(), if the mouse
event's QEventPoint already has a grab (passive or exclusive), it may be
that a TapHandler with default gesturePolicy has onTapped: menu.popup()
or a MouseArea has onClicked: menu.popup() or something like that.
We can at least detect that a MouseArea has an exclusive grab, or a
TapHandler that handles the right mouse button has a passive grab,
although we cannot see what it will do in the future when the right
mouse button is released. We don't want to flash up a menu on press if
the user's code is going to show a menu on release, so don't send the
QContextMenuEvent, just in case.
Amends 24ac76941e899a7a92c5c06f70bc2b9f0344daf0 and
9ac0e70cdbf99e06761b6edb28937fded8791bdb
[ChangeLog][Controls] To fix QTBUG-134903, when the right mouse button
is pressed, we don't send a QContextMenuEvent if we can detect that a
right-mouse click might already be handled by a TapHandler or a
MouseArea to open a Menu. But we recommend that you stop opening menus
that way: either rely on the built-in menus provided by TextArea and
TextField, or use the ContextMenu attached property to replace or add
menus to controls. In Qt 7 we plan to send the QContextMenuEvent without
checking for handlers first.
Fixes: QTBUG-134903
Task-number: QTBUG-132384
Change-Id: I1ef5387fbddeed4e6fc81d538683248a05d6e03f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Because rightPadding and bottomPadding properties are set in the windows
and macos ScrollView style implementation if the user try to set the
padding property there will be no effect. So with this change we make
sure that the padding property is used if rightPadding or bottomPadding
aren't explicitly set by the user.
Fixes: QTBUG-123631
Change-Id: I5078cec1774cef7b99e0735022ddb4ce84cd08df
Pick-to: 6.10 6.8 6.7
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Until now, currentIndex was assigned to different values on different
actions, like to 0 on model changes, or to the index of the highlighted
index according to the arrow key actions. These caused unexpected behavior
so the following changes were made:
- Removed setting to 0 when model is set in the beginning.
- Reset currentIndex to -1 on any user edit(typing/deleting)
- Disabled arrow key interactions on currentIndex
Now currentIndex only changes whether the user clicks an item in the
popup or presses Enter on a highlighted item.
Pick-to: 6.10
Change-Id: Ib1a991c87a767fe436b4b025a26834871401ca4b
Reviewed-by: Jan Arve Sæther <jan-arve.saether@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In the linked bug report, a Loader is deactivated after an Image within
it has started loading. A slot was connected to the statusChanged
signal of the Image, which calls replace(). This caused an assertion
failure because the StackView's QML engine was null.
Note that it's not enough to check if the QML context is non-null,
because it still is at that point.
There isn't an easy way to check for this in one place in
QQuickStackView, let alone in user code, so we need a lot of engine
checks.
Add a C++ test for StackView, as I wasn't able to get it to crash with
a QML-only test. For now we only need to test the Basic style, since
most styles don't provide anything too interesting or complex for
StackView.
Fixes: QTBUG-140018
Pick-to: 6.8 6.10
Change-Id: I53ba016bf44c46b7734b0b2daeeb62177f9067db
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If an item doesn't call setAcceptTouchEvents(true), touch events will
be converted to mouse events. This mostly worked, except for hover,
where the touch events don't translate in the way that we needed them
to.
Set this for SpinBox in the same way that
3c2eab829df900a4bcc308fe0d8d5a87cd8f56a3 did for other controls.
Fixes: QTBUG-140481
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: I18751f86c1af1aea019f441a90af443cd88dea8b
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 60e5d85921369cc6574e67c6d2cd18f2701ba0ce.
Reason for revert: sporadic swapchain warnings on
Windows make this flaky.
Change-Id: I41183455bdbe15dc4b7b18d42f182c64b3d41667
Task-number: QTBUG-98718
Task-number: QTBUG-140242
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
|
| |
|
|
|
|
|
| |
Task-number: QTBUG-98718
Pick-to: 6.8 6.9 6.10
Change-Id: Idfedb0e9cb97833c7e144de7593cabf73522f88e
Reviewed-by: Santhosh Kumar <santhosh.kumar.selvaraj@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously it was returning event->allPointsAccepted(), which can be
false even if the event was accepted, because the event points'
accepted states are set to false before delivery.
This fixes an issue where a MouseArea under a ContextMenu created by a
text editing control would emit its pressed signal when a MenuItem in a
popup window above it was clicked.
Fixes: QTBUG-139342
Change-Id: I4d4043929c316a8e70fecdb4a8b23b48f9442390
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use dimmer as a context object rather than the test itself, which
outlives it.
The backtrace was:
FAIL! : tst_QQuickPopup::Basic::fadeDimmer(modal) The computed value is expected to be greater than the baseline, but is not
Computed (opacityChangeCount): 2
Baseline (2) : 2
Loc: [/Users/mitch/dev/qt-dev2/qtdeclarative/tests/auto/quickcontrols/qquickpopup/tst_qquickpopup.cpp(2629)]
=================================================================
==68826==ERROR: AddressSanitizer: stack-use-after-scope on address 0x00016b7f7140 at pc 0x000104743c68 bp 0x00016b7ecfd0 sp 0x00016b7ecfc8
READ of size 4 at 0x00016b7f7140 thread T0
#0 0x000104743c64 in tst_QQuickPopup::fadeDimmer()::$_0::operator()() const tst_qquickpopup.cpp:2625
#1 0x000104743bc0 in QtPrivate::FunctorCall<std::__1::integer_sequence<unsigned long>, QtPrivate::List<>, void, tst_QQuickPopup::fadeDimmer()::$_0>::call(tst_QQuickPopup::fadeDimmer()::$_0&, void**)::'lambda'()::operator()() const qobjectdefs_impl.h:116
#2 0x000104743b64 in void QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<std::__1::integer_sequence<unsigned long>, QtPrivate::List<>, void, tst_QQuickPopup::fadeDimmer()::$_0>::call(tst_QQuickPopup::fadeDimmer()::$_0&, void**)::'lambda'()>(void**, QtPrivate::FunctorCall<std::__1::integer_sequence<unsigned long>, QtPrivate::List<>, void, tst_QQuickPopup::fadeDimmer()::$_0>::call(tst_QQuickPopup::fadeDimmer()::$_0&, void**)::'lambda'()&&) qobjectdefs_impl.h:65
#3 0x000104743ab4 in QtPrivate::FunctorCall<std::__1::integer_sequence<unsigned long>, QtPrivate::List<>, void, tst_QQuickPopup::fadeDimmer()::$_0>::call(tst_QQuickPopup::fadeDimmer()::$_0&, void**) qobjectdefs_impl.h:115
#4 0x000104743930 in void QtPrivate::FunctorCallable<tst_QQuickPopup::fadeDimmer()::$_0>::call<QtPrivate::List<>, void>(tst_QQuickPopup::fadeDimmer()::$_0&, void*, void**) qobjectdefs_impl.h:337
#5 0x000104743848 in QtPrivate::QCallableObject<tst_QQuickPopup::fadeDimmer()::$_0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase*, QObject*, void**, bool*) qobjectdefs_impl.h:547
#6 0x00011694273c in QtPrivate::QSlotObjectBase::call(QObject*, void**) qobjectdefs_impl.h:461
#7 0x000116e49454 in void doActivate<false>(QObject*, int, void**) qobject.cpp:4284
#8 0x000116e467a0 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) qobject.cpp:4344
#9 0x00010c1462d4 in QQuickItem::opacityChanged() moc_qquickitem.cpp:1019
#10 0x00010c1461c8 in QQuickItem::setOpacity(double) qquickitem.cpp:6517
#11 0x00010c168638 in QQuickItem::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) moc_qquickitem.cpp:850
#12 0x000113847100 in QQmlPropertyData::writeProperty(QObject*, void*, QFlags<QQmlPropertyData::WriteFlag>) const qqmlpropertydata_p.h:413
#13 0x000113c33468 in QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlRefPointer<QQmlContextData> const&, QFlags<QQmlPropertyData::WriteFlag>) qqmlproperty.cpp:1668
#14 0x000113c32638 in QQmlPropertyPrivate::writeValueProperty(QObject*, QQmlPropertyData const&, QQmlPropertyData const&, QVariant const&, QQmlRefPointer<QQmlContextData> const&, QFlags<QQmlPropertyData::WriteFlag>) qqmlproperty.cpp:1326
#15 0x000113c32390 in QQmlPropertyPrivate::writeValueProperty(QVariant const&, QFlags<QQmlPropertyData::WriteFlag>) qqmlproperty.cpp:1270
#16 0x000113c391b4 in QQmlPropertyPrivate::write(QQmlProperty const&, QVariant const&, QFlags<QQmlPropertyData::WriteFlag>) qqmlproperty.cpp:1947
#17 0x00010c9949ac in QQuickAnimationPropertyUpdater::setValue(double) qquickanimation.cpp:2740
#18 0x00010c992444 in QQuickBulkValueAnimator::updateCurrentTime(int) qquickanimation.cpp:2069
#19 0x000114345428 in QAbstractAnimationJob::setCurrentTime(int) qabstractanimationjob.cpp:481
#20 0x000114349c3c in QAbstractAnimationJob::setState(QAbstractAnimationJob::State) qabstractanimationjob.cpp:367
#21 0x00011434bc34 in QAbstractAnimationJob::start() qabstractanimationjob.cpp:514
#22 0x00010c9ff568 in QQuickBehavior::write(QVariant const&) qquickbehavior.cpp:419
#23 0x00010c9ff88c in non-virtual thunk to QQuickBehavior::write(QVariant const&) qquickbehavior.cpp
#24 0x000113f53b7c in QQmlInterceptorMetaObject::doIntercept(QMetaObject::Call, int, void**) qqmlvmemetaobject.cpp:392
#25 0x000113f532e4 in QQmlInterceptorMetaObject::intercept(QMetaObject::Call, int, void**) qqmlvmemetaobject_p.h:153
#26 0x000113f59788 in QQmlVMEMetaObject::metaCall(QObject*, QMetaObject::Call, int, void**) qqmlvmemetaobject.cpp:750
#27 0x0001138474d0 in void QQmlPropertyData::doMetacall<(QMetaObject::Call)2>(QObject*, int, void**) const qqmlpropertydata_p.h:395
#28 0x000113847128 in QQmlPropertyData::writeProperty(QObject*, void*, QFlags<QQmlPropertyData::WriteFlag>) const qqmlpropertydata_p.h:415
#29 0x000113c33468 in QQmlPropertyPrivate::write(QObject*, QQmlPropertyData const&, QVariant const&, QQmlRefPointer<QQmlContextData> const&, QFlags<QQmlPropertyData::WriteFlag>) qqmlproperty.cpp:1668
#30 0x000113c32638 in QQmlPropertyPrivate::writeValueProperty(QObject*, QQmlPropertyData const&, QQmlPropertyData const&, QVariant const&, QQmlRefPointer<QQmlContextData> const&, QFlags<QQmlPropertyData::WriteFlag>) qqmlproperty.cpp:1326
#31 0x000113c32390 in QQmlPropertyPrivate::writeValueProperty(QVariant const&, QFlags<QQmlPropertyData::WriteFlag>) qqmlproperty.cpp:1270
#32 0x000113c391b4 in QQmlPropertyPrivate::write(QQmlProperty const&, QVariant const&, QFlags<QQmlPropertyData::WriteFlag>) qqmlproperty.cpp:1947
#33 0x000113c38f84 in QQmlProperty::write(QVariant const&) const qqmlproperty.cpp:1863
#34 0x000113c39358 in QQmlProperty::write(QObject*, QString const&, QVariant const&) qqmlproperty.cpp:1880
#35 0x000107c1db04 in QQuickPopupPrivate::hideDimmer() qquickpopup.cpp:1290
#36 0x000107c16a68 in QQuickPopupPrivate::prepareExitTransition() qquickpopup.cpp:821
#37 0x000107c1e038 in QQuickPopupTransitionManager::transitionExit() qquickpopup.cpp:1326
#38 0x000107c23fd4 in QQuickPopup::setVisible(bool) qquickpopup.cpp:2496
#39 0x000107c104d8 in QQuickPopup::close() qquickpopup.cpp:1408
#40 0x000107c1ba80 in QQuickPopup::setParentItem(QQuickItem*) qquickpopup.cpp:2180
#41 0x000107c1b324 in QQuickPopupPrivate::itemDestroyed(QQuickItem*) qquickpopup.cpp:1063
#42 0x000107c1bb8c in non-virtual thunk to QQuickPopupPrivate::itemDestroyed(QQuickItem*) qquickpopup.cpp
#43 0x00010c117f70 in void QQuickItemPrivate::notifyChangeListeners<void (QQuickItemChangeListener::*)(QQuickItem*), QQuickItem*>(QFlags<QQuickItemPrivate::ChangeType>, void (QQuickItemChangeListener::*&&)(QQuickItem*), QQuickItem*&&) qquickitem_p.h:413
#44 0x00010c113d7c in QQuickItem::~QQuickItem() qquickitem.cpp:2420
#45 0x00010c50e3e8 in QQuickRootItem::~QQuickRootItem() qquickwindow_p.h:62
#46 0x00010c4ed840 in QQuickRootItem::~QQuickRootItem() qquickwindow_p.h:62
#47 0x00010c4ed86c in QQuickRootItem::~QQuickRootItem() qquickwindow_p.h:62
#48 0x00010c4da1c0 in QQuickWindow::~QQuickWindow() qquickwindow.cpp:1197
#49 0x00010c531f34 in QQuickWindowQmlImpl::~QQuickWindowQmlImpl() qquickwindowmodule.cpp:73
#50 0x00010cf2d4f4 in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement() qqmlprivate.h:104
#51 0x00010cf2d3e0 in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement() qqmlprivate.h:102
#52 0x00010cf2d40c in QQmlPrivate::QQmlElement<QQuickWindowQmlImpl>::~QQmlElement() qqmlprivate.h:102
#53 0x00010472efa8 in QScopedPointerDeleter<QObject>::cleanup(QObject*) qscopedpointer.h:24
#54 0x00010472eefc in QScopedPointer<QObject, QScopedPointerDeleter<QObject>>::~QScopedPointer() qscopedpointer.h:81
#55 0x00010466f0e8 in QScopedPointer<QObject, QScopedPointerDeleter<QObject>>::~QScopedPointer() qscopedpointer.h:79
#56 0x00010471246c in QQuickVisualTestUtils::QQuickApplicationHelper::~QQuickApplicationHelper() visualtestutils_p.h:192
#57 0x00010468ff88 in QQuickVisualTestUtils::QQuickApplicationHelper::~QQuickApplicationHelper() visualtestutils_p.h:192
#58 0x0001046a953c in tst_QQuickPopup::fadeDimmer() tst_qquickpopup.cpp:2635
[...]
Amends ef8bde838ec708ff45ad68c5db899a86116b4e94.
Pick-to: 6.8 6.9 6.10
Change-Id: Ie5c49b7d9ecd3c74f822590d296062b516563391
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
These were added in 031da6519072529481b045e67d143bd55a120aef but don't
have any test data listed in Grafana on 6.5, 6.8, 6.9, 6.10 or dev, so
we can assume they're passing.
Task-number: QTBUG-114718
Pick-to: 6.8 6.9 6.10
Change-Id: Ia7e6effc46b56c0e9985c00182de7436fc1ab037
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This test has no test data listed in Grafana on 6.5, 6.8, 6.9, 6.10 or
dev, so we can assume it's passing.
Amends 9231fbdb27b667b08464aa6560fedb0e8aee2c52 and
367edbfbc3a29827f9c34800b4de509c8629e38a.
Pick-to: 6.5 6.8 6.9 6.10
Change-Id: Ib731b622ba25c7cc631b10eecf1bd1a23f0391a9
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
Reviewed-by: Axel Spoerl <axel.spoerl@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After the deadlock fix in QTBUG-139211, these can be enabled again
since they were crashing for the same reason.
The enables tst_controls and tst_focus.
At the same time blacklist few test cases that still fail, doing
this is still beneficial because get more test coverage anyways
from re-enabling the skipped tests.
Fixes: QTBUG-100259
Fixes: QTBUG-100258
Task-number: QTBUG-139415
Pick-to: 6.10
Change-Id: Id5b0a0e0870dd89bf4bc376b1b705ebeaa1b6ea0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
| |
Both overlay() and doubleClickInMouseArea() seem to be passing.
Pick-to: 6.10
Task-number: QTBUG-118532
Change-Id: I24a9e4f991ed82b899e4e5ba0c03bbb8f9794fe2
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
Connect spacing and inset change signals from the internal
popupItem to the Popup,ensuring that QML bindings and UI
updates reflect property changes.
Pick-to: 6.10 6.9 6.8
Fixes: QTBUG-135249
Change-Id: Iab92430406e43942c2818a3f62976ccd2fca025d
Reviewed-by: Oliver Eftevaag <oliver.eftevaag@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The test case tst_qquickmenu::loadMenuAsynchronously is getting flaky,
w.r.t warning message, sometimes depending on the platform, and so it's
required to extend the regex to consider that case.
Amends patch: 28553473cfc55acd2f989769c2ea13c38997603a
Task-number: QTBUG-139552
Change-Id: I4766c7ac52a586dcf5b470ce5a676a51e2503cb5
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
|
| |
|
|
|
|
|
|
|
| |
It's causing a lot of flaky failures, so blacklist it until it can be
fixed.
Task-number: QTBUG-131695
Change-Id: I81835fe1af677899abcc26534c5fd95dc69004cb
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
| |
The test was still not account for safe margins in few places,
it seems it didn't account for the fact that Android apps will
have the margins set from the start.
Fixes: QTBUG-139583
Pick-to: 6.9 6.10
Change-Id: Ia04a0ca2e7ad96a1e72a0d7fe9416634fb24e116
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
The test case added as part of patch
36216db956096d6cabdb28b08368dd76db92c652 shows up warning
"There are still \"n\" items in the process of being created at engine
in destruction.\". This patch allow this test case to pass if fail
on warning enabled for the quick menu auto test.
Task-number: QTBUG-137160
Task-number: QTBUG-139552
Change-Id: I7f31ffd096cc10b514542092a85f346e413b40dd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|