<table><tr><td style="">broulik created this revision.<br />broulik added reviewers: Plasma, VDG.<br />Herald added a project: Plasma.<br />Herald added a subscriber: plasma-devel.<br />broulik requested review of this revision.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D20266">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This completely rewrites the notification plasmoid using <tt style="background: #ebebeb; font-size: 13px;">libnotificationmanager</tt></p>

<p>The popups are much more compact and persistent notifications stay on screen now until dismissed. The is also only one global set of popups, rather than one per applet.<br />
Job progress is merged into notifications for a unified look, with a sensible summary text containing the most important infos about a job.<br />
A do not disturb toggle is added that allows to set a time in which no notification popups or sounds are played and all notifications go straight to the history.<br />
The history will ignore notifications that were explicitly closed or interacted with and will be grouped by app and show only 2 notifications per app by default to be less cluttered.</p>

<p>BUG: 222470<br />
BUG: 402144<br />
BUG: 405570<br />
BUG: 391646<br />
BUG: 401819<br />
BUG: 400811<br />
BUG: 392669<br />
BUG: 390143<br />
BUG: 390864<br />
BUG: 374099<br />
BUG: 360990<br />
BUG: 346458<br />
BUG: 398926<br />
BUG: 390152<br />
BUG: 342355<br />
CCBUG: 402391<br />
CCBUG: 399697<br />
CCBUG: 400871<br />
CCBUG: 398580<br />
FIXED-IN: 5.16.0</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>Depends on <a href="https://phabricator.kde.org/D20265" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">D20265</a></p>

<p>(hope I didnt mistype any of the bugs)</p>

<p>Let the screenshots speak for themselves...</p>

<p>Much more compact, more refined look:<br />
<a href="https://phabricator.kde.org/F6754839" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754839: Screenshot_20190405_152344.png</a><br />
Thumbnail are touched up with better apsect ratio and blur:<br />
<a href="https://phabricator.kde.org/F6754840" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754840: Screenshot_20190405_151903.png</a><br />
Can also be very compact if no summary is provided<br />
<a href="https://phabricator.kde.org/F6754848" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754848: Screenshot_20190405_152517.png</a><br />
History popup with no notifiations<br />
<a href="https://phabricator.kde.org/F6754841" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754841: Screenshot_20190405_151813.png</a><br />
Do not disturb time selection (today is Friday so it offers next Monday as end time)<br />
<a href="https://phabricator.kde.org/F6754842" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754842: Screenshot_20190405_151827.png</a><br />
Do not disturb for 1 hour<br />
<a href="https://phabricator.kde.org/F6754843" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754843: Screenshot_20190405_151836.png</a><br />
History full of notifications, expand feature<br />
<a href="https://phabricator.kde.org/F6754844" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754844: Screenshot_20190405_152125.png</a><br />
Collapse feature<br />
<a href="https://phabricator.kde.org/F6754845" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754845: Screenshot_20190405_152136.png</a><br />
Single notification amongst a group<br />
<a href="https://phabricator.kde.org/F6754846" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754846: Screenshot_20190405_152149.png</a><br />
Better job dialogs, providing the most important info at a glance<br />
<a href="https://phabricator.kde.org/F6754866" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754866: Screenshot_20190405_152640.png</a><br />
Full details still available <br />
<a href="https://phabricator.kde.org/F6754867" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754867: Screenshot_20190405_152700.png</a><br />
Again, most important info (how many of how many and where is it going) right there without having to expand details section<br />
<a href="https://phabricator.kde.org/F6754875" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754875: Screenshot_20190405_152723.png</a><br />
Copying multiple files finished offers to open the destionation folder<br />
<a href="https://phabricator.kde.org/F6754876" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754876: Screenshot_20190405_152732.png</a><br />
Copying/Downloading single file offers to act on the file like you can with screenshots<br />
<a href="https://phabricator.kde.org/F6754878" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;">F6754878: Screenshot_20190405_152757.png</a></p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R120 Plasma Workspace</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D20266">https://phabricator.kde.org/D20266</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>applets/notifications/CMakeLists.txt<br />
applets/notifications/Messages.sh<br />
applets/notifications/filemenu.cpp<br />
applets/notifications/filemenu.h<br />
applets/notifications/lib/CMakeLists.txt<br />
applets/notifications/lib/notificationsapplet.cpp<br />
applets/notifications/lib/notificationsapplet.h<br />
applets/notifications/notificationapplet.cpp<br />
applets/notifications/notificationapplet.h<br />
applets/notifications/package/Messages.sh<br />
applets/notifications/package/contents/config/config.qml<br />
applets/notifications/package/contents/config/main.xml<br />
applets/notifications/package/contents/tests/test.qml<br />
applets/notifications/package/contents/ui/CompactRepresentation.qml<br />
applets/notifications/package/contents/ui/EditContextMenu.qml<br />
applets/notifications/package/contents/ui/FullRepresentation.qml<br />
applets/notifications/package/contents/ui/JobDelegate.qml<br />
applets/notifications/package/contents/ui/JobDetails.qml<br />
applets/notifications/package/contents/ui/JobDetailsItem.qml<br />
applets/notifications/package/contents/ui/JobItem.qml<br />
applets/notifications/package/contents/ui/Jobs.qml<br />
applets/notifications/package/contents/ui/NotificationDelegate.qml<br />
applets/notifications/package/contents/ui/NotificationHeader.qml<br />
applets/notifications/package/contents/ui/NotificationIcon.qml<br />
applets/notifications/package/contents/ui/NotificationItem.qml<br />
applets/notifications/package/contents/ui/NotificationPopup.qml<br />
applets/notifications/package/contents/ui/Notifications.qml<br />
applets/notifications/package/contents/ui/ScreenPositionSelector.qml<br />
applets/notifications/package/contents/ui/SelectableLabel.qml<br />
applets/notifications/package/contents/ui/ThumbnailStrip.qml<br />
applets/notifications/package/contents/ui/TightLabel.qml<br />
applets/notifications/package/contents/ui/configNotifications.qml<br />
applets/notifications/package/contents/ui/global/Globals.qml<br />
applets/notifications/package/contents/ui/global/qmldir<br />
applets/notifications/package/contents/ui/main.qml<br />
applets/notifications/package/contents/ui/uiproperties.js<br />
applets/notifications/package/metadata.desktop<br />
applets/notifications/plugin/CMakeLists.txt<br />
applets/notifications/plugin/draghelper.cpp<br />
applets/notifications/plugin/draghelper.h<br />
applets/notifications/plugin/notificationshelper.cpp<br />
applets/notifications/plugin/notificationshelper.h<br />
applets/notifications/plugin/notificationshelperplugin.cpp<br />
applets/notifications/plugin/notificationshelperplugin.h<br />
applets/notifications/plugin/qmldir<br />
applets/notifications/plugin/thumbnailer.cpp<br />
applets/notifications/plugin/thumbnailer.h<br />
applets/notifications/thumbnailer.cpp<br />
applets/notifications/thumbnailer.h</div></div></div><br /><div><strong>To: </strong>broulik, Plasma, VDG<br /><strong>Cc: </strong>plasma-devel, jraleigh, GB_2, ragreen, Pitel, ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, abetts, sebas, apol, mart<br /></div>