Skip to content
  • Eike Hein's avatar
    Implement a triangle filter for mouse events on the Kickoff tabbar · 62f92fd8
    Eike Hein authored
    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
    62f92fd8