| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
avoid checking every press event to be one of touch events type
when touch events are not delivered at all
Change-Id: I1ed91fa124608d8a006cf2f5256ad68294dd465f
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
3b5143bb67cdaaff6b0eabedff1034e4add7ec87 already fixed a crash with the same
stack trace in dev. The same fix works with the referenced bug report.
Task-number: QTBUG-66483
Change-Id: I05450d2ff40f317d9b5b59e28991fa92b414022e
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
| |
Change-Id: I0ea789c0ba3a153b00ac3ab6501ecf10f6c733ce
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The code is more readable and less error-prone (this patch caught a few
uninitialized members) when the members are initialized in the same
place where they are declared. In many cases, empty default destructors
can be entirely removed, and we get faster implicitly declared inline
default constructors defined by the compiler.
Change-Id: I14c5448afc901f9b2ac5965f28c1c26c0b646c08
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
| |
This was already in Overlay's docs, but not Popup's, so this
patch moves the example to a .qdocinc and includes it in both places,
creating a new Popup Positioning section in the process.
Change-Id: I8e8438919fd849a8466b3a28133d22bb45f7dc19
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
tests/auto/popup/tst_popup.cpp
Change-Id: I32e6c6b646a00f8805cb82d181417db60a6fe6c8
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-62158
Change-Id: I0bcf5b02da6a3500e4324462d5f1249a6178c9fd
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
tests/auto/controls/data/tst_scrollindicator.qml
Change-Id: I1f5581ae7814c0d4152e4c9b79a30a8af5a3a17b
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-61698
Change-Id: I46db5e9816190ac7afd6b671198dff11089bc4f3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Controls][ApplicationWindow] Deprecated the overlay grouped
property in favor of the newly introduced Overlay attached properties.
[ChangeLog][Controls][Overlay] Introduced Overlay attached properties
and signals that supersede the overlay grouped property in Application
Window. The Overlay attached type allows providing background dimming
for popups without requiring an ApplicationWindow instance.
Task-number: QTBUG-61336
Change-Id: I9df11bcb167e7725014d5f058fe24d70da4a10b3
Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
| |
During the early days, there was only one visual overlay background
dimmer, so QQuickOverlay was the natural choice to manage it. It was
soon realized that multiple modal popups and drawers needed each their
own background dimming. Now the implementation becomes simpler when
each popup manages its own background dimming. This paves the road for
the upcoming changes making it possible to provide background dimming
without ApplicationWindow.
Task-number: QTBUG-61336
Change-Id: I621db4efe4aa74c147f81f7aee8affebddb00d49
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The newly added multi-touch support can create issues, especially
together with Flickable that is unfortunately still not properly
touch-compatible. The implementation is still based on synthesized
mouse events, so things like Flickable::pressDelay that intercepts
mouse presses and re-sends sends them after a delay, does not play
well with touch-enabled controls.
The easiest way we can disable the whole thing is to make multi-
touch support a configurable feature, the same way hover support
is.
./configure -no-feature-quicktemplates2-multitouch
[...]
Qt Quick Templates 2:
Hover support .......................... yes
Multi-touch support .................... no
[ChangeLog][Templates] Added a configure feature for disabling multi-
touch support (configure -no-feature-quicktemplates2-multitouch).
Task-number: QTBUG-61144
Change-Id: I0003ae925c2a499ecb3e2a5b720088bd963d9ad3
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Instead of using the window content item for detecting when mouse
and touch events propagate through the item hierarchy without being
accepted/handled, utilize QQuickWindowPrivate::handleMouse/TouchEvent()
to deliver the respective events from the window-level even filter.
That way we can unconditionally accept mouse and touch events after
the delivery to the item tree, to ensure receiving the consequent
mouse and touch events.
Change-Id: I5f70c2e0e0d931c544461261721cc9b17ce8d3ef
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I70ac251a02a7856e6770cdb9b3e5b2a2d027d133
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
To unify overlay event delivery from the child event filter and
the event handlers in QQuickOverlay itself.
Change-Id: I0e867baeda3a8b829fe1d1992ea8289d466afc85
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I9558f82cb7330e451c043e25c9a140f49eefa219
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
| |
Inform the caller whether the event was handled.
Change-Id: I9433164ec810f55e760960dd70e4539c5722e775
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
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>
|
|
|
|
|
|
| |
Task-number: QTBUG-58389
Change-Id: I59b2936fd0c984c2dc7c1d3c49fb78c1fa950be7
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Popups used to have a valid window-pointer only when they were visible,
but now the window is automatically looked up from the parent item.
There is no need to pass the window pointer from the overlay anymore,
because the drawer already knows the window.
Change-Id: I9652607217a82af2be89f6ab4490431556e3d17c
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
For example, if you have a floating button on top of a text editor,
hovering the button must change the cursor from the editor's ibeam
cursor to an arrow cursor. This applies to all interactive controls
that call setAcceptedMouseButtons(). If a control blocks mouse events,
it should not use some random cursor from another control underneath.
Task-number: QTBUG-59629
Change-Id: I8a6ae306bbc76a9b22377361cb19cf9c3a872d31
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
| |
To avoid crashes in the future.
Task-number: QTBUG-59532
Change-Id: Ie81f95939fc5655567f9d987cf040daf3a32df43
Reviewed-by: J-P Nurmi <jpnurmi@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
./configure -no-feature-quicktemplates2-hover
[...]
Qt Quick Templates 2:
Hover support .......................... no
Change-Id: I0509a1a9ac3ffe2cbfe4f2016ce0345708860b84
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
| |
Change-Id: I6f40794ae1977d1f23916bff6d0c58d44440fbe5
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
Initialize one member per line. Allow empty constructors with one
initialized member on a single line.
Change-Id: Ie115802561ebd19efd4dacda1fa868b64d279109
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\
| |
| |
| | |
Change-Id: If797ac58344b20e8de4379343131c097247ba2f2
|
| |
| |
| |
| |
| | |
Change-Id: If68cff4efacc7dc5719c8b8e61937e85e9076870
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/imports/controls/SpinBox.qml
src/imports/controls/material/SpinBox.qml
src/imports/controls/universal/SpinBox.qml
tests/auto/controls/data/tst_swipedelegate.qml
Change-Id: Ie1d1f487890f0a9f80a00df5e813e1d2e8303fe5
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/imports/controls/doc/src/qtquickcontrols2-differences.qdoc
sync.profile
Change-Id: I554c40516030075142f9af1dd5c66fdca2b78b9a
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When a popup closes itself on press outside, it accepts the press
event so that it doesn't propagate to other popups or the content
below. We must make sure that such closing popup does not become
the mouse grabber, because it doesn't make sense to route the
subsequent mouse events to the popup that was just closed.
Change-Id: I80c6e26a1d94aa1526a61862f00af2fd0778aa82
Task-number: QTBUG-56697
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We'll start slowly refactoring all QQuickPopupItem-specific things
out of QQuickPopup. In the future the presentation/backend of a popup
could be, under certain circumstances, a native menu popup window, for
example.
Change-Id: I8508da14ab52c65221afc3a9b7f07c371f0416d2
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
|
| |
| |
| |
| |
| |
| | |
Task-number: QTBUG-56136
Change-Id: I3ed7fae09c342c2c456b94fc0cfed781d8edf6aa
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| | |
Change-Id: Id9d844d1fc75f4d254abaf1681747b7b521e881b
Task-number: QTBUG-56131
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|\|
| |
| |
| | |
Change-Id: I37aab846346692fd4bff08b0dbab66db3a8e2716
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This is a preparation step for making drawers movable. Drawer must
be later able to resize the overlay to fit the area of the window
that is covered by the drawer. For example, if the Drawer is below
the header, it can resize the overlay so that it won't be on top of
the header.
Change-Id: I2cfd025a31f3a517575f3dbf9b972dcd6957715c
Task-number: QTBUG-53168
Task-number: QTBUG-55360
Task-number: QTBUG-53609
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
First of all, the name was a bit misleading. It was a list of _visible_
popups. Anyway, it is unnecessary to maintain such list anymore. The
only use case for it was to resize the background dimming items of
visible popups when the window was resized. For that infrequent desktop
-only event, we can fetch the background dimming items from the list of
all popups.
Change-Id: Ie17db042719d4614189a78a2e5314136ca95df42
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Required by the subsequent patches. Done separately keep the other
patches smaller and easier to review.
Change-Id: Id5d13e19f98155cfd3d0474c7d3839808133bab1
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Required by the subsequent patches. Done separately keep the other
patches smaller and easier to review.
Change-Id: I60212451cf53443ae7abd58b8eaad94b66984e03
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Required by the subsequent patches. Done separately keep the other
patches smaller and easier to review.
Change-Id: I90ae08ea196354b3db74e2203983ca95733ef0c8
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Get rid of the ugly and broken event filter approach that was used
with QQuickWindow. Create an instance of QQuickOverlay so that the
same overlay code path is used for both QQuickApplicationWindow and
plain QQuickWindow.
Task-number: QTBUG-55729
Change-Id: I6e26b19cd94a9580418912803f50c30b9dcaeedb
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|/
|
|
|
|
|
|
| |
This prepares QQuickOverlay to be usable with a plain QQuickWindow,
for which we cannot override resizeEvent().
Change-Id: Ib021c510539b134477bb8d532787721a5ac7fca4
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
What comes to the visual background dimming, popups did not respect
dynamic 'dim' or 'modal' property changes. This was half-intentional,
because it was thought an unrealistic use-case to toggle these while
the popup is visible. As a result, the background dimming was missing
if a popup was made visible in a declarative way, and either 'dim' or
'modal' was evaluated after the popup was already visible.
Task-number: QTBUG-54797
Change-Id: Icfb171e619540fef2d91908867b702790cde6c32
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
|