D10101: Fix autohide panels on wayland

David Edmundson noreply at phabricator.kde.org
Thu Jan 25 17:57:41 UTC 2018


davidedmundson created this revision.
davidedmundson added a reviewer: Plasma.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
davidedmundson requested review of this revision.

REVISION 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.

REPOSITORY
  R120 Plasma Workspace

BRANCH
  master

REVISION DETAIL
  https://phabricator.kde.org/D10101

AFFECTED FILES
  shell/panelview.cpp
  shell/panelview.h

To: davidedmundson, #plasma
Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20180125/98b4e58f/attachment.html>


More information about the Plasma-devel mailing list