Works as intended.
I know it was suggested that the convenience class be committed separately. That will be easy enough but I see no point in reviewing separately from its initial application.
All colours are obtained from the theme preferentially, even the text and window background colours. This is for consistency but also because I've seen rare glitches where the background colour would "lag" in open KMessageWidget instances when changing the theme at runtime.
There's been a rumour that the `kdeglobals` store might disappear. If and when that happens this code will have to be adapted but I don't see a reason to stop using the file now already.