| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
| |
Change-Id: I29b36eaa417986be24c917bc9c9b1f6441773e3d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Sync with the qtbase/header.XXX. The license headers were matching
qtbase/header.XXX-OLD, which makes qtqa/tst_license flood warnings:
Old license being used for foo.qdoc
Change-Id: I199bf303a2d648e0d5f7bc01cb0814a5f945eeff
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| | |
Change-Id: If797ac58344b20e8de4379343131c097247ba2f2
|
| |
| |
| |
| |
| | |
Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
|
|
| |
[ChangeLog][Controls][Drawer] Added interactive property that specifies
whether the drawer reacts to swipes. This can be used to make drawer a
non-closable persistent side-bar.
Task-number: QTBUG-53169
Change-Id: I00a794b5ce47b86fcb28e0db784ca0488cd13a7d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| | |
Change-Id: I4a3971034d8e6daf0285c4bc9e5612b5e6cdabf1
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The test was using QTRY_COMPARE to test that the logical position of
the drawer was 1.0, meaning that the drawer was assumed to be fully
open. Then the test continued with touch move events and tested the
logical position accordingly.
The problem was that waiting (QTRY_COMPARE) for the logical position
of 1.0 does not ensure that the open transition has been finished.
Fuzzy compare might return true just before the transition finishes.
We sent touch move events and tested the logical position accordingly,
while the open transition was still running. This way, the transition
ended up setting an unexpected position for the drawer in the middle
of the touch move event tests.
The solution is to wait for the opened() signal to ensure that the
transition has been finished, before continuing to test touch move
events.
Change-Id: Ia48f4cedc97c09bb1ee064f3b535ad4fc7ae5c71
Task-number: QTBUG-56061
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
| |
| |
| |
| |
| | |
Change-Id: Ic3764ca6ba70b3b9557a6c2088698c40456a93f5
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/CheckIndicator.qml
src/imports/controls/RadioIndicator.qml
src/imports/controls/RangeSlider.qml
src/imports/controls/Slider.qml
src/imports/controls/SwitchIndicator.qml
Change-Id: I32612d2f905ffa02dbaedbb1f84c8237fbd66db3
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Dependencies between popup's size and position easily lead to recursion
into reposition(). Blocking recursive reposition() calls messes up the
positioning, so schedule polish events instead.
Task-number: QTBUG-56755
Change-Id: I72afd14573e5cd57f8162df04e193d4c42fd7236
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Hover effects can be sometimes a bit disturbing. This change makes it
possible to conveniently disable hover effects for a tree of controls
in one go. For example, to disable hover effects for a page including
its header, footer, and all list items:
Page {
hoverEnabled: false
header: ...
footer: ...
ListView {
delegate: ...
}
}
[ChangeLog][Controls][Important Behavior Changes] Control::hoverEnabled
has been made to inherit to children, to make it possible to disable
hover effects for a tree of controls in one place.
Change-Id: Ia87144f2cc04957a32f89d3313816b91d97db635
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
examples/quickcontrols2/gallery/gallery.qrc
src/imports/controls/doc/src/qtquickcontrols2-styles.qdoc
src/quicktemplates2/qquickstackview_p.cpp
src/quicktemplates2/qquickstackview_p_p.h
tests/auto/controls/data/tst_stackview.qml
Change-Id: If451fe0e5653572d305b4de90a6d5cb878463e8d
|
| |
| |
| |
| |
| |
| | |
Change-Id: Id9d844d1fc75f4d254abaf1681747b7b521e881b
Task-number: QTBUG-56131
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If a drawer is positioned below a toolbar, for instance, it must be
possible to interact with the buttons in the toolbar while the drawer
is open (without the drawer closing due to the interaction).
Change-Id: I5e07f66ad997ba6cf991a26fc6849ec51c9c0a22
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I37aab846346692fd4bff08b0dbab66db3a8e2716
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Make QQuickDrawer re-use QQuickPopup's reposition() implementation.
This way QQuickDrawer gains support for proper positioning and margins
"for free". Now it is possible to place Drawer below the window header,
for instance:
import QtQuick 2.0
import QtQuick.Controls 2.0
ApplicationWindow {
id: window
visible: true
header: ToolBar { }
Drawer {
y: header.height
width: window.width * 0.6
height: window.height - header.height
}
}
[ChangeLog][Controls][Drawer] Made it possible to control the vertical
position of a horizontal drawer, and vice versa. This allows placing
a drawer below a header/toolbar, for instance.
Task-number: QTBUG-55360
Change-Id: I63621195efeefa2ea88935d676771b392e0a4030
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Drawer is a special type of popup that always resides at one of the
window edges. Therefore it makes sense for drawers to operate on window
coordinates. Re-parenting drawers to the window overlay achieves that.
Now that the window overlay is guaranteed to always exist and the
ApplicationWindow.overlay attached property works even with plain QML
Window, we can reliably use it as a parent for Drawer.
Task-number: QTBUG-53168
Change-Id: I37c727001350217ea1d2d9c52d73b4cae44d7c8d
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Set mouseGrabberPopup in QQuickOverlay::childMouseEventFilter() the
same way it is set in QQuickOverlay::mousePressEvent() to ensure that
the consequent mouse move events are routed to the appropriate popup.
This worked with "genuine" mouse move events that were caught by the
same child mouse event filter and that way routed to the appropriate
popup, but not with "synthesized" mouse move events that are caught
by QQuickOverlay::mousePressEvent() instead.
Change-Id: Ic59afd85e55c13ebec482bc4dc534accd1f92b2c
Task-number: QTBUG-56010
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quicktemplates2/qquicktextarea_p_p.h
src/quicktemplates2/qquicktextfield_p_p.h
Change-Id: Ie7b4a114ad27a4cad337c91e8ebcf696b0e845d7
|
| |
| |
| |
| |
| |
| | |
Change-Id: I1a3be5ef02cf73a153cebc030313f892fbb03d9f
Task-number: QTBUG-55769
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ief98cd56abd13cfa4e30578e150207462a8243b8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When QQuickDrawer was visible all the time, it did not emit the
visibility related signals at all. Now the signals are emitted,
but aboutToShow() and visibleChanged() were emitted twice when
a drawer was manually dragged open. First time when the dragging
begins (the drawer becomes effectively visible), and second time
when the open transition begins after mouse/touch release. This
change ensures that the signals won't be emitted again when the
transition begins, in case they were already emitted.
Change-Id: I2a175c9e86a480d5cd23e306f41f0d85e2416f75
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Drawers were visible all the time, lurking at the window edges to be
able to catch presses and drag themselves visible when appropriate.
This change moves the handling of window edge presses from QQuickDrawer
to QQuickOverlay, making it possible to show and hide drawers like any
other popups. Instead of having all drawers visible all the time, we
just keep QQuickOverlay visible when there are any registered drawers,
even hidden ones.
Furthermore, this change makes modal popup/drawer background dimming
items accept mouse press events just like they accept hover events to
ensure that a modal overlay does not leak input events through. When
the background dimming of a modal drawer has been dragged over the
drag-threshold, the drawer simply steals/grabs mouse to start dragging
of the drawer.
Task-number: QTBUG-54794
Task-number: QTBUG-54800
Task-number: QTBUG-55022
Task-number: QTBUG-55703
Task-number: QTBUG-55713
Change-Id: I65fb38fcf1466d4e41192c4321d80fb90b49da9a
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A plain QQuickWindow cannot provide a modal background dimming visual,
but we can create a QQuickItem as a fallback to take care of blocking
the hover events for modal popups.
Change-Id: I3ead985c4e2e030aaf28f1ec6c8a1ae285637819
Task-number: QTBUG-54913
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
This allows us to run the relevant popup tests for both QQuickWindow
and QQuickApplicationWindow.
Change-Id: I14b6435afeeb8a6cf640d8c52ad1d9e1fae070b0
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
The MouseArea workaround was not removed when QTBUG-54629 was fixed.
Change-Id: I725ca9a0b05811246e9a6a378f2c5e25c1cdca0f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The width of the window in the test is 400px, and the
width of the drawer is 200px. The default drag margin
equals to QStyleHints::startDragDistance(), which reports
19px on Linux installed on a Chromebook Pixel 2.
The test attempts to drag from (double drag margin):
2 x startDragDistance = 38px
to:
0.25 x width of the drawer = 50px
12px does not exceed the start drag distance of 19px, so the drawer
is not dragged even though the test expects it to be dragged to the
logical position of 0.25. Increase the dragged distance a bit to
exceed the threshold.
Change-Id: Id469533b08c4221430446a2d995e36b4ebdc0258
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I82da1e547c4ead1181ade19f77c62651c00998a3
|
| |
| |
| |
| |
| |
| |
| |
| | |
Use the vertical velocity for top and bottom edges, and invert
the speed for right and bottom edges.
Change-Id: I362dda23f0a2cda60ad7cd52e7373d0707feea83
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I82c2b8d97d639e24147118a2ca6276ae70195b45
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Closed drawers sit visible at the window edge to be able to pull them
out. Don't block hover events when drawers are fully closed ie. when
their overlays are fully translucent.
Task-number: QTBUG-53419
Change-Id: I5bdbed5a2cf3ad6972634432ac79f7fbe5054b98
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/quicktemplates2/qquickswipedelegate.cpp
tests/auto/controls/data/tst_swipedelegate.qml
tests/auto/controls/data/tst_textarea.qml
tests/auto/controls/data/tst_textfield.qml
Change-Id: I244f4ead4d14238c41db0bd965d7a2938f2ea8fc
|
| |
| |
| |
| |
| |
| | |
Change-Id: I7549509aef9a88af7e6a449bae52da273b0253d0
Task-number: QTBUG-54629
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| | |
Change-Id: Ifff470774347041d1638fb1da277a8cc11a00db6
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A drawer must be repositioned even when closed, or else it will peek
out when anchored to the right or bottom edge and the window is resized.
Change-Id: Idf86ec1d841cfcc333eb6c69d07b3e4b2b4015da
Task-number: QTBUG-54578
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Controls must import templates version 2.1 in order to "inherit"
1-revisioned properties, methods, and signals. So far, this has
been done case by case, but it's less error prone and more clear
to change them all. For example, if you ever see a source file
pasted/linked somewhere, it's easy to identify the version it
belongs to.
Change-Id: I41609ec1a22bc05ac3e79f953a147ca42d9e0786
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
Docs, resources, .metainfo and plugins.qmltypes will be updated in
follow up commits.
Change-Id: I4438c5bfb8802bff0fa15c56431cfd288f179861
Task-number: QTBUG-52549
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
| |
Allows controlling "sensitivity" of the edge drag, or disabling
(dragMargin<=0) the entire drag operation if preferred.
Change-Id: Icfe6f186704ca7f11abc66abeec603f29345af98
Task-number: QTBUG-52730
Reviewed-by: BogDan Vatra <bogdan@kdab.com>
|
|
The position on the right and bottom edges is relative to the size of
the window, not the drawer itself.
Change-Id: Ia1d7418d4091a3a9e26f691bd75448023e0ca1cf
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|