Meta-Task: Plasma Framework
Open, Needs TriagePublic

mart added a subscriber: mart.Nov 23 2019, 9:47 AM

plasma-frameworks has several parts:

2 C++ libraries

1 C++ plugin

a bunch of QML imports

Main C++ library
libplasma
it has 3 functionally separated parts:

Loading of the desktop layout: Corona, Containment and applet

DataEngine loading:DateEngine, DataContainer, DataengineConsumer, ServiceJob: The biggest offender for raising the tier

Theme stuff: Svg rendering: Svg and FrameSVG. Plasma::Theme for colors loading

Second C++ library
libplasmaquick
QML specific stuff: almost exclusively QQuickViews subclasses:

  • Containmentview: base for panels and desktops windows
  • ConfingView: configdialog: we should have some other framework for qml config dialogs-> future discussion
  • ConfigModel: implementation detail of config dialogs, see above
  • Dialog: all the popups, very problematic implementation
  • AppletQuickItem: loads with kpackage the qml of the plasmoid
  • Plugin **

AppletInterface: Appletquickitem is the main interface to qml: it's both plasmoid.* and Plasmoid.*
ContainmentInterface, the appletinterface for contaiments
Wallpaperinterface: same thing for wallpapers

Appeltinterface properties and slot should be exposed directly in libplasma Applet

Loading of the desktop layout: only part that stays in libplasma:

Dataengines -> library to be moved in workspace mostly as a porting aid: dataengines should become QML imports

Theming: SVG themes: separate tier2 framework (2 because of kimagecache) also Plasma::Theme for stylesheet coloring which should be replaced by Kirigami::Theme

ervin moved this task from Backlog to Metatasks on the KF6 board.Nov 25 2019, 9:26 PM