Skip to content
  • David Edmundson's avatar
    Fix autohide panels on wayland · 1cb0d180
    David Edmundson authored
    Summary:
    To test if the panel is under the cursor we used:
    if (geometry().contains(QCursor::pos(screenToFollow()))) {
    
    Unsurprisingly in wayland we don't know the cursor position once it's
    left our window. Behaviour seems to be undefined.
    
    We were already using enter and leave events to start the autohide
    timer, so we may as well rely on that for tracking state too.
    
    BUG: 377838
    
    Test Plan:
    Tested mouse in, mouse out
    
    Tested mouse in and waiting and panel stayed open
    
    Tested opening wifi applet and closing it
    That will trigger the restoreAutoHide method as an applet status changed
    The panel stayed open because the mouse was on it.
    
    Reviewers: #plasma, mart
    
    Reviewed By: #plasma, mart
    
    Subscribers: plasma-devel
    
    Tags: #plasma
    
    Differential Revision: https://phabricator.kde.org/D10101
    1cb0d180