Skip to content

applets/notifications: Notifications refactor

Marco Martin requested to merge work/mart/notificationDelegates into master

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

Merge request reports

Loading