| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Skip non-focusable separators, and use a key focus reason
(Qt::TabFocusReason & Qt::BacktabFocusReason) to give the
items visual focus.
[ChangeLog][Controls][Menu] Fixed key navigation to skip separators.
Change-Id: I99affabc50703c7363ab8146e5ced9b45111de00
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
Repeaters are not part of the content model. Exclude them when
calculating the target index when the order of items changes.
Task-number: QTBUG-61310
Change-Id: Iaedd59288ed38e985a34ed8e1f515fdfb50d74e6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) First of all, Popup's QObject-parent depends on the way the Popup
is declared in QML, or what is passed as a parent to createObject()
when creating dynamic instances. For example:
- Popup becomes a QObject child of of the contentItem:
ApplicationWindow {
Popup { }
}
- Popup becomes a QObject child of the window:
ApplicationWindow {
Item {
Popup { }
}
}
- Popup becomes a QObject child of the specified parent:
ApplicationWindow {
Component {
id: component
Popup { }
}
Component.onComplete: component.createObject(overlay)
}
Since QQuickWindow and QQuickView did not set the QObject-parent
of their contentItem and rootObject, respectively, we had troubles
finding popup instances, because window->findChildren<QQuickPopup>()
and window->contentItem()->findChildren<QQuickPopup>() would produce
inconsistent results. This has been fixed in qtdeclarative commit
af6655885, so now we can use window->findChildren() reliably.
2) Popups inherit font from the associated window, not the parent item.
It was wrong to call resolveFont() in setParentItem(), because the
parent item might not change even though the associated window does.
The piece of code was moved to setWindow() instead.
3) QQuickPopupItemPrivate::resolveFont() did not propagate the
default font at all when the font was resolved before being associated
to a window.
4) After the above fixes had been applied, to ensure that popups always
inherit fonts and propagate them down to children as appropriate, we
got a new test failure in tst_controls::Popup::test_font() indicating
that there were extra font change notifiers triggered at creation time.
This was fixed by associating "top-level" popups with the window as
soon as they are appended to ApplicationWindow's default property,
instead of waiting until the popup is complete and then doing a lookup
in the parent hierarchy.
Task-number: QTBUG-61114
Change-Id: I6185c76d50835cb7a06b03db0a3ac9ddad64bdd3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
Filter out macOS debug symbol (.dSYM) directories from the list
of available styles.
Task-number: QTBUG-60973
Change-Id: I5b9c3f4af946d44b1601f32bf7da699c29a86689
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickWindowPrivate::flushFrameSynchronousEvents() is a real trouble
maker in auto tests, because it keeps delivering spurious hover events
based on the last mouse position from earlier test functions and test
cases.
Task-number: QTBUG-61225
Change-Id: I5a8d40a01e3919033f74b26357505f2b514a3281
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, ComboBox's popup is sized vertically in this way:
implicitHeight: contentItem.implicitHeight
Adding an item to a ComboBox with an empty model and then opening
the popup results in the implicitHeight being used in the line below
(in QQuickPopupPositioner::reposition()):
QRectF rect(p->allowHorizontalMove ? p->x : popupItem->x(),
p->allowVerticalMove ? p->y : popupItem->y(),
!p->hasWidth && iw > 0 ? iw : w,
!p->hasHeight && ih > 0 ? ih : h);
An explicit height was never set on the popup, and ih (the
implicitHeight of the popupItem) is greater than 0. This is fine.
However, when a ComboBox's popup item grows large enough that it has to
be resized to fit within the window, its explicit height is set. The
problem occurs when the model is then cleared, as the implicit height
of the popup item becomes 0. So, while "!p->hasHeight" is still true,
"ih > 0" is not, and the explicit height of the popup item is used,
which is still the previous "let's fill the entire height of the
window" size.
To fix this, we bind the height of the popup to a different expression:
height: Math.min(contentItem.implicitHeight,
control.Window.height - topMargin - bottomMargin)
This ensures that the popup has a zero height when the ListView's
implicitHeight is zero (i.e the model is empty), and a height
that fits within the window in all other cases.
Ideally, we'd have a maximumHeight property that controls this, but
for 5.9, we have to fix it this way.
Task-number: QTBUG-60684
Change-Id: Ied94c79bb7b0e693be34e9c7282d991f6f704770
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-61109
Change-Id: I43d28a80ec1a46e836fa8a0f76ee65b0c1a24228
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| | |
Change-Id: Iba044084bf82f6b2b8ceba4aa2a80bdcf8fc38e0
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Material style popups have a shadow outside the popup. QQuickOverlay
cannot block press events to children of a popup, because otherwise
interacting with popup contents would be impossible. However, since
the shadow is outside of the popup, touch events don't propagate to
the popup and get naturally blocked by the popup background. Instead,
the touch event propagates to the overlay. At this point, we must do
an additional check whether we're allowed to start dragging a drawer.
Task-number: QTBUG-60602
Change-Id: I9b5c81246bca7ea40bce0e46dc2e94558a0b9204
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-60598
Change-Id: I65e6e9440c9450fbec4a53b9ee60e11b919c090a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This test confirms that the behavior found in the gallery example
(where there are several nested popups that should close when the
Escape key is pressed, and a Shortcut that should also be activated by
the Escape key once all popups are closed) continues to work.
Change-Id: Ie848ff3505e66ded7b78777808d982c642092d61
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
It currently depends on being the first test that uses attached
properties to be run. This patch resets the values to the expected
values at the beginning of the test to avoid the failure.
Change-Id: I9dea7867e6740cba2e3541bffd1f6648ddf0e47d
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
PageIndicator uses Row internally, and changing its spacing triggers
an asynchronous relayout. Instead of waiting for the Row to relayout,
just pass the padding and spacing at construction time to ensure that
the Row has suitable layout for testing mouse clicks between the row
items.
Change-Id: I9c25c6b57042abb0363bdfe73ebac047cff0fcc7
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This test is failing with the upcoming Fusion style, perhaps because
the combo delegates are a bit heavier. Give the Popup and ListView some
time to layout themselves, before attempting to find a list item at the
bottom.
Change-Id: Ib8486bb7dbc4a43eb3549e2e7ca7ad1be5bad4a0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ib20995b86e776cb64a3d1fa6dea01dee4a802426
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The inheritance hierarcy is:
QWindow <- QQuickWindow <- QQuickWindowQmlImpl <- QQuickAppWindow
Each base class has its own set of revisioned members. Import the
revisioned members in the base classes to the templates/controls
namespace by calling qmlRegisterRevision() with the revision of the
base class and the respective templates/controls version.
Task-number: QTBUG-60893
Change-Id: I6d91209dc5b2eb17c2b3845675a5ddbffb7e8b72
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ieb435b6ac929da753cfff0b157d18d4218cb50d9
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Ia1f9f0fe9d0d907b16159e964573ba1273cc75b9
Reviewed-by: Liang Qi <liang.qi@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For example, qtquickcontrols2-label.qml outputs:
- qtquickcontrols2-label.png (Default)
- qtquickcontrols2-material-label.png (Material)
- qtquickcontrols2-universal-label.png (Universal)
This allows us to take screenshots with different styles without
overlapping names and error-prone manual renaming.
Change-Id: Ic475ee0d95539a1122e37780f8cec038e2fc9446
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| | |
Change-Id: Iec2e4fdba18402762c6d6580abf8e677d5ae583c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
|
| |
Currently boot2qt is tested with QEMU and some tests fail. Disabling
them for now to make it possible to enable qt5 tests for Coin.
Task-number: QTBUG-60266
Change-Id: I2b8d7612ae22741cb19037ff47698f096753d9ca
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
| |
For example, don't take screenshots of qtquickcontrols2-material-*.qml
snippets when running with another style than the Material style.
Change-Id: Ifef5b841d16314ba5d131a7d56f57251d6780ae7
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: Ia631cd493d695aaac44d612f234756b4e5b558dd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The component loading code has been adjusted so that it can load
snippets that use either a Window root element too.
This speeds up the test a lot in the CI, and allows us to flatten
the snippet-structure. Set SCREENSHOTS=1 environment variable to
take screenshots.
Change-Id: Ibd9e76befe62044dd1374899f18ea3d8c7ad454b
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Don't steal a horizontal drag if a flickable has been dragged a long
distance vertically, and then later the flick happens to exceed the
horizontal drag threshold.
Change-Id: Idf39997aa20cc41da561f182119199f30c63ba32
Task-number: QTBUG-60521
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
09b9a55 added touch event tests to tst_popup::overlay(). In order to
make touch tests reliable, touch event compression must be disabled.
Change-Id: I9fcda132447d9a8cf6ef80163be46aea391eff24
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
QQuickDrawer still overrides QQuickPopupPrivate::reposition(), so it
must be called instead of calling QQuickPopupPositioner::reposition()
directly.
Task-number: QTBUG-60493
Change-Id: I45ba7364c32d89d2fd128c07f68274b962467ced
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: Iadf58b0c98d7410e4cc9f75f4baf42adf8c521b8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
The pressPoint must be stored before rejecting a press event,
to be able to calculate correctly when to steal/grab move.
Change-Id: I4c9225fdaf730800fec30b3f37a2a0fe773e8b03
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I91b0a529b293aaef8d17cfbc2aafa5ea1805a3f8
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Apparently missed in 87c1ec3.
Change-Id: Iafeee4d44790eaa37f0e51b5ebe1aefb5d532cf6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I70ac251a02a7856e6770cdb9b3e5b2a2d027d133
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I368dd50a4ded743826d6dc4d25dde379c98af20d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I4db519712ad3d2aa53d8fa7cd387c8a893fc6472
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
The intention is to wait until a dialog and its content is fully open
and visible. While waitForRendering() does the job, it can sometimes
take a bit of unnecessary extra time. Using SignalSpy to wait for
opened() allows the test to continue immediately after the enter
transition is finished.
Change-Id: I86f2d524c616981148988f67dfed09c79002f7a9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
| |
This piece of code, which was thought unnecessary, went missing when
moved from mousePressEvent() to handlePress() in 7faafa4. It is needed
after all for non-dimming modal popups, because in that case we simply
cannot rely on the background dimming blocking the press...
Task-number: QTBUG-60405
Change-Id: I53d89133eeae4ad8531b3c1e07c3b22295d438de
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the scenario where a SpinBox is shown for the first time
with focus, but its editor (TextInput) doesn't have active focus.
tst_focus' keyNavigation.qml had to be adjusted, as an editable
spinbox will now consume key events.
Task-number: QTBUG-60356
Change-Id: I3af0260a22e9633ab6110d6adab7b39a22b849de
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Typically drawer's drag margin is so small that one can barely notice
that it jumps when dragging begins. On systems with larger start drag
distance, or when drawer's drag margin is manually increased, the jump
was noticeable and disturbing.
Unfortunately several tests had to be adjusted accordingly, because
they were assuming that pressing at the edge and then dragging in the
middle would immediately snap the drawer. Now the tests are sending
a press at the edge, first moving past the start drag distance, and
then moving to the actual tested position.
Change-Id: Id8badf256fd4dd51f34db76ebe03bf6b15203cd9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Touch event compression makes auto tests unpredictable and is causing
headache for the upcoming "smooth dragging" changes. Disable touch
event compression and remove the manual flushing that is no longer
needed.
Change-Id: I1264203255d1c796829479026c84ba368f4758b3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
Just to ensure that these corner cases are also tested. We should not
assume that the handle visuals exist, so these tests must not crash.
Change-Id: I3dbf6ec78667bd9e99b3de79ffa8109858f9edd5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
The handle visuals should be optional. There were a few missing checks
for null pointers.
Change-Id: I13e38f373428dbe0c8e338442370fbe7bb02c15a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
It has to default to true to ensure that a QQuickApplicationWindow
instantiated in C++ is not stuck to false forever. When instantiated
by the QML engine, it is set to false during the QML component
initialization phase from classBegin() to componentComple().
Change-Id: Ieba2bbfb8fc0296b8cb28df91b12bcc55dd31bf4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
It has to default to true to ensure that a QQuickPopup instantiated in
C++ is not stuck to false forever. When instantiated by the QML engine,
it is set to false during the QML component initialization phase from
classBegin() to componentComple().
NOTE: QQuickPopupItem's visibility has to be now set outside of
QQuickPopupItem constructor, because QQuickPopupItem::itemChange()
calls back to QQuickPopup::itemChange(). At that point
QQuickPopupPrivate::popupItem should be set.
Change-Id: I96fa4ab4b2f29344c4a0d5bce5f8c7642e9db1a6
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I29b36eaa417986be24c917bc9c9b1f6441773e3d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Not sure why this was added in the first place. Now it has been copied
to all test_multiTouch() implementations and sometimes slows down the
test round quite a bit.
Change-Id: I76e259e0267b34de6432998385b9f2e6759b9819
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Change-Id: I5c5be24142a758637e18df24b43847a8c6079346
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
| |
The auto test was disabled on Linux, because it was randomly crashing
in libdbus on Ubuntu 14.04. The CI has upgraded to Ubuntu 16.04 so this
should no longer be a problem.
Task-number: QTBUG-50295
Change-Id: If654a30456a0d5e2a516b5e235b9b75e89425c92
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
QQuickControl::focusPolicy was only managed in mousePressEvent() and
mouseReleaseEvent(). All controls call the base class implementations
of these event handlers to get the focus policy handling "for free".
Move focus policy handling to handlePress() and handleRelease() that
can be re-used for touch events, and make sure that various controls
call the base class implementation of touch event handlers.
There's still a bit of duplication in QQuickControl::touchEvent() and
the overridden handlers in sub-classes, but this will be improved step
by step. QQuickControlPrivate::handlePress/Move/Release/Ungrab() are
planned to be made virtual, overridden in subclasses, and only called
from QQuickControl event handlers. Most mouse and touch event handlers
in QQuickControl subclasses can be removed later when we get there.
Task-number: QTBUG-58389
Change-Id: I7e82dc2ef49762a005c482ce1353e03cc841659f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-58389
Change-Id: I7120d7bce827beb97a9ae3eaf4e99cf6b6e9f209
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The initial drag threshold is a necessary evil on touch to avoid
conflicting with flickables, but leads to bad experience (QTBUG-47081)
when using a mouse. Now that we have separate mouse and touch handling,
we can apply immediate moves when using a mouse, but keep the old
behavior on touch.
[ChangeLog][Important Behavior Changes] ScrollBar now reacts
immediately when using a mouse.
Task-number: QTBUG-58667
Change-Id: I51759fc01dc8b8536834a8a3cca635ff512f7dc9
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|