Notes from the KDeclarative/PlasmaComponents BoF: CC'ing frameworks devel even though there's a good chance that it won't make much sense unless you follow Plasma development.
About: Since KF5.0 lots has changed. QtQuickControls2 was made, Q_GADGET was made, Kirigami happened and more. We've ended up with a lot of duplication (3 items to draw an icon!) and there's not a clear definition for each. We went through all imports and made some notes and plans. KDeclarative: KQuickControls: Definition: exposing KDE Widget frameworks paarts to QtQuick. (i.e. globalshortcuts, colour picker etc) with any UI QQC themed. KQuickControlsAddons: Definition: "fixes" for Qt and things not exposed to QML. Medium term TODOs: KDeclarative.KQuickControlsAddons.IconDialog and KcmShell should probably in KQuickControls KQuickControls: Needs QQC2 port under new import version (assgigned to David E) Long term: needs a clearer name. KDeclarative.CoreAddons KDeclarative.KIOPlugin KDeclarative.KConfig KDeclarative.KWindowSystemPlugin Definition: Wrapper for existing frameworks exposed in a QML friendly way. Long term TODO: Merge into the relevant frameworks for KF6 using Q_gadget. KWindowSystemPlugin probably doesn't make sense. PlasmaExtras: Most this stuff is in Kirigami. TODO: deprecate app specific stuff (assigned to Marco) *IF* we can get 2 different QQC themes in one app, kill this completely. Fallback plan. Keep it. PlasmaComponents2: Definition: QQC1 wrapper with a plasma theme + API additions. PlasmaComponents3: Definition: QQC2 wrapper. Currently no API additions. We can't port many plasmoids, as we need those additions. Decided there's no rush. Plan: - Put icons in buttons in Qt (possibly done already) - ivan - Get textinput clear/showpassword into Qt - d_ed - put themed Highlight class into PlasmaExtras - marco *IF* we can't get the stuff into Qt, we put things into Kirigrami, and a depending on the if above, a plasma themed version in PlasmaExtras. Other: ColorScope to also enter Kirigrami (Kube uses something similar, so it is something useful), ideally try to find a solution that makes less QObjects than the version we have in PlasmaCore. PlasmaCore: Controversial idea. Low level SVG theming is potentially useful for external use. Split Plasma theme out of plasma-framework, move that to a tier 2 framework (with PlasmaComponents). This leave just the shell stuff as a new framework, and we deprecate Plasma. Depends on some of the changes above.