Merge lp:~lukas-kde/unity8/relaxedThreeFingerDrag into lp:unity8

Proposed by Lukáš Tinkl
Status: Needs review
Proposed branch: lp:~lukas-kde/unity8/relaxedThreeFingerDrag
Merge into: lp:unity8
Diff against target: 38 lines (+5/-5)
2 files modified
plugins/Ubuntu/Gestures/TouchGestureArea.h (+2/-2)
qml/Stages/WindowControlsOverlay.qml (+3/-3)
To merge this branch: bzr merge lp:~lukas-kde/unity8/relaxedThreeFingerDrag
Reviewer Review Type Date Requested Status
Unity8 CI Bot continuous-integration Needs Fixing
Michael Terry Needs Fixing
Review via email: mp+298534@code.launchpad.net

Commit message

More relaxed 3-finger drag controls

Description of the change

More relaxed 3-finger drag controls

We allow 1..max fingers being used for the drag operation, as long as it's underway. With the last finger lifted, the drag is ended. See the attached BR for more details.

* Are there any related MPs required for this MP to build/function as expected? Please list.

No

* Did you perform an exploratory manual test run of your code change and any related functionality?

Yes

* If you changed the packaging (debian), did you subscribe the ubuntu-unity team to this MP?

N/A

* If you changed the UI, has there been a design review?

N/A

To post a comment you must log in.
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

PASSED: Continuous integration, rev:2498
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1651/
Executed test runs:

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1651/rebuild

review: Approve (continuous-integration)
Revision history for this message
Michael Terry (mterry) wrote :

Good catch on operator=.

Looks like CI was taking a vacation there. I've restarted it.

As for the actual 3-finger change, it does work for me. In the sense that I can continue the drag motion with less fingers.

But it doesn't feel right. Lifting some fingers makes the window jump around (looks like it is "rebasing" on the remaining finger). And putting the fingers back also makes it jump around.

Easy to do accidentally and looks jarring. Can we smooth that out somehow? Prevent rebasing the drag focus?

review: Needs Fixing
Revision history for this message
Unity8 CI Bot (unity8-ci-bot) wrote :

FAILED: Continuous integration, rev:2498
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1655/
Executed test runs:
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build/2196/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-0-fetch/2224
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=vivid+overlay/2130
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/2130
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-1-sourcepkg/release=yakkety/2130
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=vivid+overlay/2121/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2121
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=xenial+overlay/2121/artifact/output/*zip*/output.zip
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=amd64,release=yakkety/2121/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2121
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=vivid+overlay/2121/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2121
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=xenial+overlay/2121/artifact/output/*zip*/output.zip
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2121
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=armhf,release=yakkety/2121/artifact/output/*zip*/output.zip
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=vivid+overlay/2121/console
    FAILURE: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=xenial+overlay/2121/console
    SUCCESS: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2121
        deb: https://unity8-jenkins.ubuntu.com/job/build-2-binpkg/arch=i386,release=yakkety/2121/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://unity8-jenkins.ubuntu.com/job/lp-unity8-ci/1655/rebuild

review: Needs Fixing (continuous-integration)

Unmerged revisions

2498. By Lukáš Tinkl

reduce diff

2497. By Lukáš Tinkl

WIP: more relaxed drag handling

2496. By Lukáš Tinkl

fix operator== and operator!=

2495. By Launchpad Translations on behalf of unity-team

Launchpad automatic translations update.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/Ubuntu/Gestures/TouchGestureArea.h'
2--- plugins/Ubuntu/Gestures/TouchGestureArea.h 2016-06-01 20:16:51 +0000
3+++ plugins/Ubuntu/Gestures/TouchGestureArea.h 2016-06-28 14:42:16 +0000
4@@ -75,7 +75,7 @@
5 return *this;
6 }
7
8- bool operator=(const GestureTouchPoint& rhs) const {
9+ bool operator==(const GestureTouchPoint& rhs) const {
10 if (&rhs == this) return true;
11 return m_id == rhs.m_id &&
12 m_pressed == rhs.m_pressed &&
13@@ -83,7 +83,7 @@
14 m_y == rhs.m_y &&
15 m_dragging == rhs.m_dragging;
16 }
17- bool operator!=(const GestureTouchPoint& rhs) const { return !operator=(rhs); }
18+ bool operator!=(const GestureTouchPoint& rhs) const { return !operator==(rhs); }
19
20 void setPos(const QPointF &pos);
21
22
23=== modified file 'qml/Stages/WindowControlsOverlay.qml'
24--- qml/Stages/WindowControlsOverlay.qml 2016-05-26 11:17:55 +0000
25+++ qml/Stages/WindowControlsOverlay.qml 2016-06-28 14:42:16 +0000
26@@ -34,9 +34,9 @@
27 id: gestureArea
28 anchors.fill: parent
29
30- // NB: for testing set to 2, not to clash with unity7 touch overlay controls
31- minimumTouchPoints: 3
32- maximumTouchPoints: minimumTouchPoints
33+ // NB: for testing set maximumTouchPoints to 2, not to clash with unity7 touch overlay controls
34+ minimumTouchPoints: priv.dragging ? 1 : maximumTouchPoints
35+ maximumTouchPoints: 3
36
37 readonly property bool recognizedPress: status == TouchGestureArea.Recognized &&
38 touchPoints.length >= minimumTouchPoints &&

Subscribers

People subscribed via source and target branches