SwipeArea: Support watching a swipe without owning its events
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Fix Released
|
Medium
|
Zoltan Balogh | ||
ubuntu-ui-toolkit (Ubuntu) |
Fix Released
|
Medium
|
Michael Terry | ||
ubuntu-ui-toolkit (Ubuntu RTM) |
Fix Released
|
Medium
|
Unassigned |
Bug Description
== Ask ==
I want to add SwipeArea.
I have a specific need for it, but it might be a generally useful thing?
== Backstory ==
Recently, the UITK got SwipeArea, which is great. In unity8, I'm working on a redesign of the edge introduction tutorial on first boot of your device.
There's a part of it where we put a shell-wide overlay on top of the screen that says "Swipe from the bottom to do ..." and this should fade out as the user swipes up (but should do the right thing if the drag isn't completed or is held in place).
One way to do this would be to communicate with the app. But that's a lot of infrastructure for one little feature. And this feature might be short-lived, because eventually we're going to try to move those "coach mark" help screens in the UITK as well for apps to use themselves. But for now, the shell is showing the bottom edge coach mark for a select few apps.
So another easy way to do it is to be able to monitor the user's drag, but not interfere with it. So the shell can see what the drag is doing, but the app still does the drag itself.
== Next Steps ==
I was working on a unity8 branch to add a monitorOnly field to DirectionalDrag
You can see the WIP branch linked from this bug [1] to see the kind of change I'd propose.
But before finalizing that branch by fleshing out tests and such, I would appreciate feedback on how receptive you are to it, whether you want a different name than 'monitorOnly', etc. Thanks.
[1] https:/
Related branches
- ubuntu-sdk-build-bot: Approve (continuous-integration)
- Zsombor Egri: Approve
- Timo Jyrinki: Approve (trigger ci for non-sdk-team member)
- PS Jenkins bot: Approve (continuous-integration)
-
Diff: 314 lines (+179/-6)6 files modifiedcomponents.api (+2/-0)
src/Ubuntu/UbuntuGestures/ucswipearea.cpp (+52/-5)
src/Ubuntu/UbuntuGestures/ucswipearea_p.h (+5/-0)
src/Ubuntu/UbuntuGestures/ucswipearea_p_p.h (+1/-0)
tests/unit_x11/tst_swipearea/DownwardsLauncher.qml (+14/-0)
tests/unit_x11/tst_swipearea/tst_swipearea.cpp (+105/-1)
- Zsombor Egri: Needs Fixing
- PS Jenkins bot: Approve (continuous-integration)
-
Diff: 3287 lines (+1254/-304)71 files modifiedapicheck/apicheck.cpp (+10/-0)
components.api (+55/-51)
debian/control (+9/-0)
debian/libubuntugestures5-private-dev.install (+3/-0)
documentation/ubuntu-components.qdoc (+1/-1)
documentation/ubuntu-ui-toolkit-common.qdocconf (+1/-1)
examples/ubuntu-ui-toolkit-gallery/Buttons.qml (+2/-2)
examples/ubuntu-ui-toolkit-gallery/Label.qml (+6/-6)
examples/ubuntu-ui-toolkit-gallery/MainPage.qml (+17/-27)
examples/ubuntu-ui-toolkit-gallery/UbuntuListViews.qml (+7/-3)
src/Ubuntu/Components/1.2/TextField.qml (+1/-1)
src/Ubuntu/Components/1.3/AdaptivePageLayout.qml (+1/-0)
src/Ubuntu/Components/1.3/AppHeader.qml (+5/-0)
src/Ubuntu/Components/1.3/MainView.qml (+5/-21)
src/Ubuntu/Components/1.3/TextField.qml (+19/-1)
src/Ubuntu/Components/1.3/UbuntuListView.qml (+178/-9)
src/Ubuntu/Components/1.3/UbuntuListView11.qdoc (+0/-38)
src/Ubuntu/Components/ComponentModule.pro (+0/-2)
src/Ubuntu/Components/Themes/Ambiance/1.3/FocusShape.qml (+1/-1)
src/Ubuntu/Components/Themes/Ambiance/1.3/PageHeadStyle.qml (+9/-0)
src/Ubuntu/Components/Themes/Ambiance/1.3/PullToRefreshStyle.qml (+4/-2)
src/Ubuntu/Components/plugin/plugin.cpp (+3/-1)
src/Ubuntu/Components/plugin/plugin.pri (+1/-4)
src/Ubuntu/Components/plugin/privates/threelabelsslot_p.cpp (+10/-7)
src/Ubuntu/Components/plugin/privates/threelabelsslot_p.h (+3/-1)
src/Ubuntu/Components/plugin/quickutils.cpp (+2/-1)
src/Ubuntu/Components/plugin/quickutils.h (+7/-0)
src/Ubuntu/Components/plugin/ucaction.cpp (+114/-16)
src/Ubuntu/Components/plugin/ucaction.h (+8/-1)
src/Ubuntu/Components/plugin/ucbottomedge.cpp (+1/-1)
src/Ubuntu/Components/plugin/ucbottomedgehint.cpp (+1/-1)
src/Ubuntu/Components/plugin/ucfontutils.h (+6/-6)
src/Ubuntu/Components/plugin/uclistitemlayout.cpp (+80/-4)
src/Ubuntu/Components/plugin/ucqquickimageextension.cpp (+11/-5)
src/Ubuntu/Components/plugin/ucscalingimageprovider.cpp (+3/-1)
src/Ubuntu/Components/qmldir (+1/-1)
src/Ubuntu/Test/plugin/plugin.pri (+2/-1)
src/Ubuntu/Test/plugin/uctestextras.cpp (+18/-0)
src/Ubuntu/Test/plugin/uctestextras.h (+2/-0)
src/Ubuntu/UbuntuGestures/UbuntuGestures.pro (+6/-0)
src/Ubuntu/UbuntuGestures/damper.cpp (+1/-1)
src/Ubuntu/UbuntuGestures/ucswipearea.cpp (+58/-13)
src/Ubuntu/UbuntuGestures/ucswipearea_p.h (+7/-3)
src/Ubuntu/UbuntuGestures/ucswipearea_p_p.h (+8/-6)
tests/api/Extinct/Animals/AnimalModule.pro (+1/-1)
tests/api/Extinct/Animals/plugin/plugin.cpp (+2/-0)
tests/api/Extinct/Animals/plugin/plugin.pri (+2/-0)
tests/api/Extinct/Animals/plugin/tarpan.cpp (+59/-0)
tests/api/Extinct/Animals/plugin/tarpan.h (+46/-0)
tests/api/Extinct/Animals/qmldir (+1/-1)
tests/api/components.api (+11/-8)
tests/autopilot/ubuntuuitoolkit/__init__.py (+2/-0)
tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/__init__.py (+3/-1)
tests/autopilot/ubuntuuitoolkit/_custom_proxy_objects/_ubuntulistview.py (+4/-0)
tests/autopilot/ubuntuuitoolkit/tests/gallery/test_buttons.py (+1/-1)
tests/uitk_test_plan.sh (+1/-0)
tests/unit/plugin_dependency.pri (+1/-1)
tests/unit/runtest.sh (+1/-1)
tests/unit/tst_components/tst_fontutils.qml (+13/-14)
tests/unit_x11/tst_bottomedge/tst_bottomedge.cpp (+1/-1)
tests/unit_x11/tst_bottomedge/tst_bottomedge.pro (+1/-1)
tests/unit_x11/tst_components/battery-100-charging.svg (+25/-0)
tests/unit_x11/tst_components/shape.svg (+77/-0)
tests/unit_x11/tst_components/tst_imageprovider.qml (+29/-4)
tests/unit_x11/tst_components/tst_pagestack.qml (+6/-0)
tests/unit_x11/tst_components/tst_scrollbar.qml (+67/-25)
tests/unit_x11/tst_components/tst_shortcuts.qml (+58/-0)
tests/unit_x11/tst_components/tst_slotslayout.qml (+47/-2)
tests/unit_x11/tst_components/tst_ubuntulistview13.qml (+105/-0)
tests/unit_x11/tst_swipearea/tst_swipearea.cpp (+2/-2)
tests/unit_x11/tst_swipearea/tst_swipearea.pro (+1/-1)
description: | updated |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
assignee: | nobody → Michael Terry (mterry) |
status: | New → In Progress |
importance: | Undecided → Medium |
Changed in ubuntu-ui-toolkit (Ubuntu): | |
status: | In Progress → Fix Committed |
Changed in ubuntu-ui-toolkit (Ubuntu RTM): | |
status: | New → Fix Committed |
importance: | Undecided → Medium |
Changed in canonical-devices-system-image: | |
assignee: | nobody → Zoltan Balogh (bzoltan) |
importance: | Undecided → Medium |
status: | New → In Progress |
milestone: | none → 11 |
Changed in canonical-devices-system-image: | |
status: | In Progress → Fix Committed |
Changed in canonical-devices-system-image: | |
status: | Fix Committed → Fix Released |
This bug was fixed in the package ubuntu-ui-toolkit 1.3.1918+ 15.04.20160404- 0ubuntu1 in https:/ /launchpad. net/~ci- train-ppa- service/ +archive/ ubuntu/ stable- phone-overlay
---------------
ubuntu-ui-toolkit (1.3.1918+ 15.04.20160404- 0ubuntu1) vivid; urgency=medium
[ Benjamin Zeller ]
* Register expected warning messages in the tree testcase.
* Add testsuite for Tree. Fixes LP: #1549171.
* Compile with Qt 5.6. Fixes LP: #1540356
* More Qt 5.6 fixes.
[ Michael Terry ]
* Add grabGesture field to SwipeArea.
* This field controls whether the SwipeArea takes ownership of the gestures it
observes. Fixes LP: #1527387.
[ Timo Jyrinki ] overrides.
* Add a test for blocking if packaging not sorted and clean.
* More package name transitioning, wrap and sort, fix debian/copyright syntax,
update standards-version, fix devel package sections and add/fix
lintian-
[ Olivier Tilloy ] ve5-ubuntu- ui-toolkit- plugin. Fixes LP: #1553551.
* Fix dependencies of the transitional dummy package
qtdeclarati
[ Christian Dywan ] *-plugin to qml-module-*. Fixes LP: #1342031.
* Rename qtdeclarative5-
* Require a qtdeclarative5 known to have the tab fence patch.
* Reset previous theme version and use UbuntuTestCase in tst_animator.
* BottomEdge(Hint) focus and close via keyboard. Fixes LP: #1523825
* Add 1.3 version of UbuntuTestCase.
* No gdb when running unit tests on armv7l.
* Build-depend on python3-debian for wrap-and-sort.
[ XiaoGuo Liu ]
* Fix AdaptivePageLayout documentation.
[ Tim Peeters ]
* Properly disable left/right arrows on sections when at the beginning/end of
the list. Fixes LP: #1551356.
* Sections and old AppHeader landscape mode. Fixes LP: #1551341.
* Set the window color as soon as the window is available, to avoid a
flickering background when it is updated later.
Fixes LP: #1439133, LP: #1554897
* Add theme, style and styleName properties to Dialog and Popover.
Fixes LP: #1555548
* Update the gallery script to use the new name of the export script.
* Export the full list of library paths.
* Prevent Page geometry changes in APL when changing Pages in a column.
* Fix typo in DatePickerStyle. Fixes: LP #1561440.
[ Zsombor Egri ] preloadContent. Fixes LP: #1540454. xtColumn( ) is called. Fixes LP: #1544745
* ListItem focus navigation in ListView and other views.
Fixes LP: #1523815, LP: #1536679, LP: #1549733, LP: #1549743
* BorromEdge.
* Asynchronous loader (AsyncLoader) using incubator, prerequisite for
BottomEdge preloading its content. Fixes LP: #1540454.
* ListView proxy should not consume up/down key events. Fixes LP: #1554447
* Pick up the right style. Fixes LP: #1555797
* Label makes sure the color alteration is known by the theming.
Fixes LP: #1555784
* Fix AsyncLoader tests so they create slightly less amount of elements.
* AdaptivePageLayout removes all pages pushed to next columns when
addPageToNe
* Fix BottomEdge content discarding.
* Disconnect enabled signal in Label in destructor, so functor call will not
be handled when QQuickItem triggers enabled change. Fixes LP: #1560044.
[ Andrea Bernabei ]
* UI G...