broulik created this revision.
broulik added reviewers: Plasma, hein.
Restricted Application added a project: Plasma.
Restricted Application added a subscriber: plasma-devel.
broulik requested review of this revision.

REVISION SUMMARY
  Qt's Drag attached property doesn't like it at all when it gets deleted 
during drag.
  Even though we try very hard to keep the popup open, when you have multiple 
notification applets, their dialogs don't know each other but access a shared 
data engine. This means that, since there can only we one hovered dialog at a 
time, another notification applet might still dismiss the notification and have 
our dialog close.
  By using a singleton NotificationHelper we 1.) decouple the Drag from the 
item and 2.) share the "is dragging" state between applets.
  
  BUG: 388684
  FIXED-IN: 5.12.0

TEST PLAN
  DragHelper taken from Kicker and adjusted
  
  - Added two notification applets, took a screenshot, dragged the screenshot 
of a notification, waited a bit, notification stayed open. Previously it would 
still close and then crash
  - left click to open thumbnail still works
  - Right click for context menu still works
  - We get a nice drag pixmap now, the original code with using the QPixmapItem 
as drag source never worked apparently

REPOSITORY
  R120 Plasma Workspace

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

AFFECTED FILES
  applets/notifications/package/contents/ui/ThumbnailStrip.qml
  applets/notifications/plugin/CMakeLists.txt
  applets/notifications/plugin/draghelper.cpp
  applets/notifications/plugin/draghelper.h
  applets/notifications/plugin/notificationshelperplugin.cpp

To: broulik, #plasma, hein
Cc: plasma-devel, ZrenBot, progwolff, lesliezhai, ali-mohamed, jensreuterberg, 
abetts, sebas, apol, mart

Reply via email to