App-specific notifications' behavior are now managed with KConfigXT. The default values are set in plasmanotifyrc shipped with the libnotificationmanager and can be override.
Immutability can be set at applicatioin level in plasmanotifyrc.
Reinitialize button reset all modifications not applied. Default button reset to default applications' behavior.
Details
To set immutable an application or a service specific notifications, add [$i] after an element in plasmanotifyrc
- Set immutability for all services (same for applications)
[Services][$i]
- Set immutability for an app (same for a service)
[Applications][org.kde.kdevelop][$i]
- Set immutability for a specific entry
[Applications][org.kde.kdevelop] ShowBadges=false ShowPopupsInDndMode[$i]=true
Diff Detail
- Repository
- R119 Plasma Desktop
- Lint
Lint Skipped - Unit
Unit Tests Skipped - Build Status
Buildable 25768 Build 25786: arc lint + arc unit
kcms/notifications/kcm.cpp | ||
---|---|---|
253 | Add a if to emit signal only if needed |
kcms/notifications/kcm.cpp | ||
---|---|---|
273 | What about m_behaviorSettingsList is empty? I'm not sure we can guarantee that it'll always contain something. | |
332 | Replace with any_of ? This would break the loop earlier. | |
kcms/notifications/kcm.h | ||
90 | Should be a const ref | |
105 | Space before * not after | |
kcms/notifications/sourcesmodel.cpp | ||
380 ↗ | (On Diff #75360) | const auto & |
kcms/notifications/sourcesmodel.h | ||
98 ↗ | (On Diff #75360) | It's generally a better idea to define a small trivial struct when roll with QPair |
kcms/notifications/kcm.cpp | ||
---|---|---|
266 | This method is only used in this place, so I don't see why we would want a temporary list with a struct and all rather than just iterating here directly. | |
267 | Please auto * with an asterisk | |
kcms/notifications/package/contents/ui/ApplicationConfiguration.qml | ||
45–46 | I've seen duplicate apps in this list, e.g. snap vs properly installed, so I don't think you can rely on this. | |
47 | While we generally do RDN for desktop entries these days I belive there can be cases where there's no telling if it's a desktop entry or notfiyrc? So we would need to pass that in | |
kcms/notifications/sourcesmodel.h | ||
57 ↗ | (On Diff #80894) | Why not an enum? |
kcms/notifications/package/contents/ui/ApplicationConfiguration.qml | ||
---|---|---|
45–46 | I guess I could use rootIndex instead, and it will solve the issue you mention below as well. |
Clean up those minor comments and then ship it, thanks!
kcms/notifications/kcm.cpp | ||
---|---|---|
256 ↗ | (On Diff #81009) | .value(index.row()) |
269 ↗ | (On Diff #81009) | Why define outside? |
270 ↗ | (On Diff #81009) | QModelIndex() should be the default argument for rowCount() |
kcms/notifications/package/contents/ui/ApplicationConfiguration.qml | ||
46 ↗ | (On Diff #81009) | Can we swap that around to be "isOtherApp" |