D20266: Add new notification plasmoid

2019-05-09 Thread Kai Uwe Broulik
broulik closed this revision.
broulik added a comment.


  All merged 
https://cgit.kde.org/plasma-workspace.git/commit/?id=3c52fc3bc05e0f351d4998ad54edae1a4e21a043

REPOSITORY
  R120 Plasma Workspace

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

To: broulik, #plasma, #vdg, mart
Cc: mart, abetts, ngraham, GB_2, plasma-devel, jraleigh, ragreen, Pitel, 
ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, sebas, apol


D20266: Add new notification plasmoid

2019-04-24 Thread Marco Martin
mart accepted this revision.
mart added inline comments.
This revision is now accepted and ready to land.

INLINE COMMENTS

> CompactRepresentation.qml:101
> +font.pointSize: -1
> +// FIXME fontSizeMode is awful but FontMetrics also doesn't cut 
> it
> +font.pixelSize: Math.round(parent.height * (0.3 + 0.3 / 
> text.length))

fontsizemode isn't used there, remove comment?

REPOSITORY
  R120 Plasma Workspace

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

To: broulik, #plasma, #vdg, mart
Cc: mart, abetts, ngraham, GB_2, plasma-devel, jraleigh, ragreen, Pitel, 
ZrenBot, lesliezhai, ali-mohamed, jensreuterberg, sebas, apol


D20266: Add new notification plasmoid

2019-04-12 Thread Kai Uwe Broulik
broulik updated this revision to Diff 56059.
broulik added a comment.


  - Fix diff screwup

REPOSITORY
  R120 Plasma Workspace

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D20266?vs=56057&id=56059

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

AFFECTED FILES
  applets/notifications/CMakeLists.txt
  applets/notifications/Messages.sh
  applets/notifications/filemenu.cpp
  applets/notifications/filemenu.h
  applets/notifications/lib/CMakeLists.txt
  applets/notifications/lib/notificationsapplet.cpp
  applets/notifications/lib/notificationsapplet.h
  applets/notifications/notificationapplet.cpp
  applets/notifications/notificationapplet.h
  applets/notifications/package/Messages.sh
  applets/notifications/package/contents/config/config.qml
  applets/notifications/package/contents/config/main.xml
  applets/notifications/package/contents/tests/test.qml
  applets/notifications/package/contents/ui/CompactRepresentation.qml
  applets/notifications/package/contents/ui/EditContextMenu.qml
  applets/notifications/package/contents/ui/FullRepresentation.qml
  applets/notifications/package/contents/ui/JobDelegate.qml
  applets/notifications/package/contents/ui/JobDetails.qml
  applets/notifications/package/contents/ui/JobDetailsItem.qml
  applets/notifications/package/contents/ui/JobItem.qml
  applets/notifications/package/contents/ui/Jobs.qml
  applets/notifications/package/contents/ui/NotificationDelegate.qml
  applets/notifications/package/contents/ui/NotificationHeader.qml
  applets/notifications/package/contents/ui/NotificationIcon.qml
  applets/notifications/package/contents/ui/NotificationItem.qml
  applets/notifications/package/contents/ui/NotificationPopup.qml
  applets/notifications/package/contents/ui/Notifications.qml
  applets/notifications/package/contents/ui/ScreenPositionSelector.qml
  applets/notifications/package/contents/ui/SelectableLabel.qml
  applets/notifications/package/contents/ui/ThumbnailStrip.qml
  applets/notifications/package/contents/ui/TightLabel.qml
  applets/notifications/package/contents/ui/configNotifications.qml
  applets/notifications/package/contents/ui/global/Globals.qml
  applets/notifications/package/contents/ui/global/PulseAudio.qml
  applets/notifications/package/contents/ui/global/qmldir
  applets/notifications/package/contents/ui/main.qml
  applets/notifications/package/contents/ui/uiproperties.js
  applets/notifications/package/metadata.desktop
  applets/notifications/plugin/CMakeLists.txt
  applets/notifications/plugin/draghelper.cpp
  applets/notifications/plugin/draghelper.h
  applets/notifications/plugin/notificationshelper.cpp
  applets/notifications/plugin/notificationshelper.h
  applets/notifications/plugin/notificationshelperplugin.cpp
  applets/notifications/plugin/notificationshelperplugin.h
  applets/notifications/plugin/qmldir
  applets/notifications/plugin/thumbnailer.cpp
  applets/notifications/plugin/thumbnailer.h
  applets/notifications/thumbnailer.cpp
  applets/notifications/thumbnailer.h

To: broulik, #plasma, #vdg
Cc: abetts, ngraham, GB_2, plasma-devel, jraleigh, ragreen, Pitel, ZrenBot, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D20266: Add new notification plasmoid

2019-04-12 Thread Kai Uwe Broulik
broulik updated this revision to Diff 56057.
broulik added a comment.


  - Grouping fixes, unread notifications are automatically expanded now and 
collapsing a group scrolls to the top of it
  - Added "4 hours" and "until disabled" do not disturb mode
  - Job progress bar is hidden when completed
  - Minor fixes

REPOSITORY
  R120 Plasma Workspace

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D20266?vs=55471&id=56057

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

AFFECTED FILES
  applets/notifications/CMakeLists.txt
  applets/notifications/Messages.sh
  applets/notifications/filemenu.cpp
  applets/notifications/filemenu.h
  applets/notifications/lib/CMakeLists.txt
  applets/notifications/lib/notificationsapplet.cpp
  applets/notifications/lib/notificationsapplet.h
  applets/notifications/notificationapplet.cpp
  applets/notifications/notificationapplet.h
  applets/notifications/package/Messages.sh
  applets/notifications/package/contents/config/config.qml
  applets/notifications/package/contents/config/main.xml
  applets/notifications/package/contents/tests/test.qml
  applets/notifications/package/contents/ui/CompactRepresentation.qml
  applets/notifications/package/contents/ui/EditContextMenu.qml
  applets/notifications/package/contents/ui/FullRepresentation.qml
  applets/notifications/package/contents/ui/JobDelegate.qml
  applets/notifications/package/contents/ui/JobDetails.qml
  applets/notifications/package/contents/ui/JobDetailsItem.qml
  applets/notifications/package/contents/ui/JobItem.qml
  applets/notifications/package/contents/ui/Jobs.qml
  applets/notifications/package/contents/ui/NotificationDelegate.qml
  applets/notifications/package/contents/ui/NotificationHeader.qml
  applets/notifications/package/contents/ui/NotificationIcon.qml
  applets/notifications/package/contents/ui/NotificationItem.qml
  applets/notifications/package/contents/ui/NotificationPopup.qml
  applets/notifications/package/contents/ui/Notifications.qml
  applets/notifications/package/contents/ui/ScreenPositionSelector.qml
  applets/notifications/package/contents/ui/SelectableLabel.qml
  applets/notifications/package/contents/ui/ThumbnailStrip.qml
  applets/notifications/package/contents/ui/TightLabel.qml
  applets/notifications/package/contents/ui/configNotifications.qml
  applets/notifications/package/contents/ui/global/Globals.qml
  applets/notifications/package/contents/ui/global/PulseAudio.qml
  applets/notifications/package/contents/ui/global/qmldir
  applets/notifications/package/contents/ui/main.qml
  applets/notifications/package/contents/ui/uiproperties.js
  applets/notifications/package/metadata.desktop
  applets/notifications/plugin/CMakeLists.txt
  applets/notifications/plugin/draghelper.cpp
  applets/notifications/plugin/draghelper.h
  applets/notifications/plugin/notificationshelper.cpp
  applets/notifications/plugin/notificationshelper.h
  applets/notifications/plugin/notificationshelperplugin.cpp
  applets/notifications/plugin/notificationshelperplugin.h
  applets/notifications/plugin/qmldir
  applets/notifications/plugin/thumbnailer.cpp
  applets/notifications/plugin/thumbnailer.h
  applets/notifications/thumbnailer.cpp
  applets/notifications/thumbnailer.h

To: broulik, #plasma, #vdg
Cc: abetts, ngraham, GB_2, plasma-devel, jraleigh, ragreen, Pitel, ZrenBot, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D20266: Add new notification plasmoid

2019-04-08 Thread Nathaniel Graham
ngraham added a comment.


  In D20266#445888 , @broulik wrote:
  
  > > It seems like there's no Do Not Disturb mode that stays on until manually 
turned off though?
  >
  > Yeah. I can add that, I guess. What should that menu entry look like?
  
  
  Something like this:
  
Do Not Disturb
For 1 hour
Until this evening
Until tomorrow morning
Until Monday
Until manually turned off
  
  While you're at it, `for 4 hours` would be nice too. Telegram has that and I 
find myself using it a lot more than `For 1 hour`. The use case is basically, 
"disable all these after-lunch notifications until I'm done with work". Then 
again `Until this evening` might cover that case adequately, depending on what 
"evening" actually means. It might be nice to replace that ambiguous term with 
the actual time (i.e. `Until 8 PM tonight` or something).

REPOSITORY
  R120 Plasma Workspace

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

To: broulik, #plasma, #vdg
Cc: abetts, ngraham, GB_2, plasma-devel, jraleigh, ragreen, Pitel, ZrenBot, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D20266: Add new notification plasmoid

2019-04-08 Thread Kai Uwe Broulik
broulik added a comment.


  > It seems like there's no Do Not Disturb mode that stays on until manually 
turned off though?
  
  Yeah. I can add that, I guess. What should that menu entry look like?

REPOSITORY
  R120 Plasma Workspace

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

To: broulik, #plasma, #vdg
Cc: abetts, ngraham, GB_2, plasma-devel, jraleigh, ragreen, Pitel, ZrenBot, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D20266: Add new notification plasmoid

2019-04-05 Thread Björn Feber
GB_2 added a comment.


  I made a better timeout indicator that you can use: F6755221: 
TimeoutIndicator.qml 
  This is how it looks like: F6755222: Circular Timeout.mp4 


REPOSITORY
  R120 Plasma Workspace

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

To: broulik, #plasma, #vdg
Cc: abetts, ngraham, GB_2, plasma-devel, jraleigh, ragreen, Pitel, ZrenBot, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D20266: Add new notification plasmoid

2019-04-05 Thread Andres Betts
abetts added a comment.


  In D20266#443993 , @ngraham wrote:
  
  > This UI is fantastic. A huge improvement over the status quo.
  >
  > It seems like there's no Do Not Disturb mode that stays on until manually 
turned off though?
  
  
  I was thinking too that where the label "Do not disturb" is located, when you 
turn on any of the time features, it could be like this
  
  [ ] Do not disturb "12 min remaining"
  [ ] Do not disturb "until disabled"
  
  Maybe having Do Not Disturb for a custom amount of time would also be helpful 
in case none of the options fit the user?
  
  Just tossing ideas

REPOSITORY
  R120 Plasma Workspace

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

To: broulik, #plasma, #vdg
Cc: abetts, ngraham, GB_2, plasma-devel, jraleigh, ragreen, Pitel, ZrenBot, 
lesliezhai, ali-mohamed, jensreuterberg, sebas, apol, mart


D20266: Add new notification plasmoid

2019-04-05 Thread Nathaniel Graham
ngraham added a comment.


  This UI is fantastic. A huge improvement over the status quo.
  
  It seems like there's no Do Not Disturb mode that stays on until manually 
turned off though?

REPOSITORY
  R120 Plasma Workspace

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

To: broulik, #plasma, #vdg
Cc: ngraham, GB_2, plasma-devel, jraleigh, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D20266: Add new notification plasmoid

2019-04-05 Thread Björn Feber
GB_2 added a comment.


  Amazing!

INLINE COMMENTS

> FullRepresentation.qml:247
> +opacity: 0.6
> +text: list.count === 0 ? i18n("No unread notifications.") : 
> i18n("Notifications")
> +}

Please remove the dot to make it consistent with other Plasmoids.

REPOSITORY
  R120 Plasma Workspace

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

To: broulik, #plasma, #vdg
Cc: GB_2, plasma-devel, jraleigh, ragreen, Pitel, ZrenBot, lesliezhai, 
ali-mohamed, jensreuterberg, abetts, sebas, apol, mart


D20266: Add new notification plasmoid

2019-04-05 Thread Kai Uwe Broulik
broulik created this revision.
broulik added reviewers: Plasma, VDG.
Herald added a project: Plasma.
Herald added a subscriber: plasma-devel.
broulik requested review of this revision.

REVISION SUMMARY
  This completely rewrites the notification plasmoid using 
`libnotificationmanager`
  
  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.
  Job progress is merged into notifications for a unified look, with a sensible 
summary text containing the most important infos about a job.
  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.
  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.
  
  BUG: 222470
  BUG: 402144
  BUG: 405570
  BUG: 391646
  BUG: 401819
  BUG: 400811
  BUG: 392669
  BUG: 390143
  BUG: 390864
  BUG: 374099
  BUG: 360990
  BUG: 346458
  BUG: 398926
  BUG: 390152
  BUG: 342355
  CCBUG: 402391
  CCBUG: 399697
  CCBUG: 400871
  CCBUG: 398580
  FIXED-IN: 5.16.0

TEST PLAN
  Depends on D20265 
  
  (hope I didnt mistype any of the bugs)
  
  Let the screenshots speak for themselves...
  
  Much more compact, more refined look:
  F6754839: Screenshot_20190405_152344.png 

  Thumbnail are touched up with better apsect ratio and blur:
  F6754840: Screenshot_20190405_151903.png 

  Can also be very compact if no summary is provided
  F6754848: Screenshot_20190405_152517.png 

  History popup with no notifiations
  F6754841: Screenshot_20190405_151813.png 

  Do not disturb time selection (today is Friday so it offers next Monday as 
end time)
  F6754842: Screenshot_20190405_151827.png 

  Do not disturb for 1 hour
  F6754843: Screenshot_20190405_151836.png 

  History full of notifications, expand feature
  F6754844: Screenshot_20190405_152125.png 

  Collapse feature
  F6754845: Screenshot_20190405_152136.png 

  Single notification amongst a group
  F6754846: Screenshot_20190405_152149.png 

  Better job dialogs, providing the most important info at a glance
  F6754866: Screenshot_20190405_152640.png 

  Full details still available 
  F6754867: Screenshot_20190405_152700.png 

  Again, most important info (how many of how many and where is it going) right 
there without having to expand details section
  F6754875: Screenshot_20190405_152723.png 

  Copying multiple files finished offers to open the destionation folder
  F6754876: Screenshot_20190405_152732.png 

  Copying/Downloading single file offers to act on the file like you can with 
screenshots
  F6754878: Screenshot_20190405_152757.png 


REPOSITORY
  R120 Plasma Workspace

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

AFFECTED FILES
  applets/notifications/CMakeLists.txt
  applets/notifications/Messages.sh
  applets/notifications/filemenu.cpp
  applets/notifications/filemenu.h
  applets/notifications/lib/CMakeLists.txt
  applets/notifications/lib/notificationsapplet.cpp
  applets/notifications/lib/notificationsapplet.h
  applets/notifications/notificationapplet.cpp
  applets/notifications/notificationapplet.h
  applets/notifications/package/Messages.sh
  applets/notifications/package/contents/config/config.qml
  applets/notifications/package/contents/config/main.xml
  applets/notifications/package/contents/tests/test.qml
  applets/notifications/package/contents/ui/CompactRepresentation.qml
  applets/notifications/package/contents/ui/EditContextMenu.qml
  applets/notifications/package/contents/ui/FullRepresentation.qml
  applets/notifications/package/contents/ui/JobDelegate.qml
  applets/notifications/package/contents/ui/JobDetails.qml
  applets/notifications/package/contents/ui/JobDetailsItem.qml
  applets/notifications/package/contents/ui/JobItem.qml
  applets/notifications/package/contents/ui/Jobs.qml
  applets/notifications/package/contents/ui/NotificationDelegate.qml
  applets/notifications/package/contents/ui/NotificationHeader.qml
  applets/notifications/package/contents/ui/NotificationIcon.qml
  applets/notifications/package/contents/ui/NotificationItem.qml
  applets/notifications/package/contents/ui/NotificationPopup.qml
  applets/notifications/package/contents/ui/Notifications.qml
  applets/notificati