applets/notifications: Notifications refactor
Reorganize delegate loading for notifications:
- split things into logical components, each smaller sub-component is easier to maintain/debug/rewrite
- move to an architecture where different kinds of notifications are implemented by a completely different type of delegate, with less multi-behavior giant delegates
- PopupDelegate has a PlasmoidHeader and a ScrollView
- HistoryDelegate looks similar to the popup one but doesn't have header and scroll
- HistoryGroupedDelegate doesn't have an header, has close button near the summary and a gray line on the left
- Since no delegate in the history has a ScrollView anymore, WheelForwarder is not necessary anymore
- Everything concerning delegates is in the delegates subdirectory
- Encapsulation has been sacrificed a bit in favor of a central class to interact with the model, ModelInterface that has properties and signals. This avoid long binding chains and long boilerplate code repeated in many places
- Total instantiated QML items per-delegate should be significantly less
- look and feel should be completely unchanged, if any UI change is to be done, should be on a separate mr
depends from libplasma!1213 (merged)
Edited by Marco Martin