* Make dataengines work fully standalone
* Fix panel icon sizing
There's still an issue with the popup size when resizing the vertical panel smaller so it collapses
* Implement keyboard navigation for the list with focus hacks...
Delete key closes notifications or groups, Arrow left/right expand/collapse groups, Enter invokes default action, if any
* Fix DND times that are supposed to be hidden showing
ModelContextMenu doesn't respect "visible" property
* Move "Notifications" header to ListView header so it scrolls away and leaves more room for the notifications in systray popup
* Fix finished jobs in history showing as failed when app is closed
* Don't remember apps that spawned jobs, only for notifications
* Use CriticalNotification window type (patches pending)
Avoids plasmashell freezing when the player app is unresponsive or has a broken MPRIS implementation
Differential Revision: https://phabricator.kde.org/D20661
It is supposed to broadcast application job progress to multiple interested parties.
However, effectively it was just plasmashell. Cut the middleman, including its never finished and unused UI,
and talk to plasmashell directly.
The applicationjobs dataengine is adjusted to use the new infrastructure instead.
Since it works only in the same process now, Unity launcher API is used to at least broadcast basic
application progress information for use in e.g. Latte Dock.
Also, introduce JobViewServerV2 and JobViewV3 APIs which are using desktop entries for identification rather
than application names, and more importantly are extensible using a QVariantMap hints, so adding new
fields in the future should be significantly less painful with Frameworks, Applications, and Plasma all having
their own release schedule. :)
* Ship some more default rules in plasmanotifyrc
* Improved do not disturb menu (add "for 4 hours" and "until disabled")
* Expand unread notifications by default, overall improved expansion/collapse handling
* Show unread count in panel and reset when plasmoid is closed again
* Move notification sanitizer and its test from dataengine to lib
* Load pixmaps into model also for files and limit their physical size
* Enforce maximum limit for notifications (1000...)
- Rename some of the classes:
NotificationServer -> Server (there's namespaces, you know)
NotificationModel -> NotificationsModel (so it's plural like JobsModel)
- Introduce NotificationGroupingCollapse
- Wire up PulseAudio-qt for eventual notification silence in dnd mode
- Touch up notification looks
- Add indentation and "line" for grouped plasmoids
- Rethink "show more" button to be at the end
- Fix buttons overlapping
- Remove NotificationDelegate item and do those few adjustments in FullRepresentation
- Cleanup job details, handle when processed > total
- Use States {} more
- Show low urgency popups by default but don't add them to history
- Old dataengine is fully functional now
Except the inhibition stuff but I'm not sure if this is worth keeping the way it is
- "More" menu opens on press now and highlights
- Invoking any action closes the notification now
KNotification explicitly does that for us but e.g. GTK does not
- Add clear button for history
- Restore kbroadcastnotification support
- Allow forgetting seen application (for KCM)
- Let users "create" notifications by calling NotificationServer::add
- When no application name is provided look up the sender's process name as last resort
- Add kdebugsettings categories file
- Cleanup, pimpl NotificationServer and Notification for export
- Wire the old dataengine up to use it for compat:
it shows notifications but is otherwise pretty broken right now
- Start writing kconfigxt and Settings code (no real code yet)
- Add a Inhibition DBus interface (no actual server-side code yet)
- Group notifications by application
Pretty much tasks grouping model from libtaskmanager slightly adjusted
- Let widget take full height when expanded in vertical panel "side bar usecase"
- Fix bugs here and there
Summary: D18678 changes the Notifications KCM's icon. This patch uses that same icon in the Notifications widget in places where clicking on it will open the KCM.
Test Plan: {F6586488, size=full}
Reviewers: broulik, #plasma
Reviewed By: broulik, #plasma
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18723
Summary:
Setting an overlay by name results in a QIcon for it created; OTOH,
this icon is never used to create the final image in case the
main/attention icons are set by name too.
Since KIconEngine supports overlays natively, directly pass the list of
overlays (with just one element -- the overlay set) to it. As result,
main/attention icons by name are created directly with the requested
overlay by name.
Test Plan:
- builds fine
- main/attention icon by name + overlay by name works now, showing the requested overlay
- main/attention icon by name + overlay by pixmap still works as before
- main/attention icon by pixmap is unaffected, no matter whether/which overlay is set
- the system tray icons of juk, and amarok now have the play/pause overlays
Reviewers: apol
Reviewed By: apol
Subscribers: davidedmundson, apol, plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D17983
Summary:
KCMs should have color icons while widgets should have monochrome icons, so I have changed the name of the KCM icon.
Depends on D18529
Reviewers: #vdg, #plasma, ngraham
Reviewed By: #vdg, ngraham
Subscribers: plasma-devel
Tags: #plasma
Differential Revision: https://phabricator.kde.org/D18532