Implement a triangle filter for mouse events on the Kickoff tabbar

Authored by hein on May 29 2018, 11:45 AM.

Description

Implement a triangle filter for mouse events on the Kickoff tabbar

Summary:
D11848 started out with the aim to remove the delay on Kickoff tab
switching, but this proved contentious because it can cause user
frustration over accidental tab switching when moving from the tab
bar to the list view at angle, grazing another tab.

This patch implements a triangle filter to get the best of both
worlds. When the mouse motion vector is within the triangle from
the vector starting coordinate pair to the relevant tab bar
corners, the original 250ms delay remains in use. When the vector
is outside the triangle, tabs are switched immediately - improving
even over the 50ms delay proposed in D11848.

Care is taken so that tab switching is always immediate when the
tab bar is freshly entered, e.g. moving from the panel to Kickoff.

As a small advantage this removes a MouseArea item from each tab
button.

BUG:388205

Reviewers: ngraham, davidedmundson, rkflx, cfeck

Subscribers: plasma-devel

Tags: Plasma

Differential Revision: https://phabricator.kde.org/D13192

Details

Committed
heinJun 1 2018, 6:56 PM
Differential Revision
D13192: Implement a triangle filter for mouse events on the Kickoff tabbar
Parents
R119:a2b994232223: Translate it
Branches
Unknown
Tags
Unknown