Summary: This patch creates the `ExpandableListItem`, a re-usable PlasmaExtras item that can be used for the views in various Plasma applet pop-ups, such as Vaults, Printers, Bluetooth, Networks, and Device Notifier. This way those applets can share more code and not have to implement this paradigm themselves in five different ways, as they currently do. All of these applets currently use slightly different visual styles. For example the network applet uses a pushbutton with no icon as its "default action" button, while other applets use icons-only toolbuttons. I tried my best to create a component that's flexible but also consistent, so various applets that adopt it will see minor visual changes as a result. Hopefully this is acceptable. Closes T12812 Depends on D28144 Test Plan: {F8183650} Reviewers: #vdg, #plasma, davidedmundson Reviewed By: #plasma, davidedmundson Subscribers: mart, davidedmundson, bruns, niccolove, cblack, davidre, kde-frameworks-devel Tags: #frameworks Maniphest Tasks: T12812 Differential Revision: https://phabricator.kde.org/D28033
Plasma Framework
Foundational libraries, components, and tools of the Plasma workspaces
Introduction
The plasma framework provides the following:
- QML components
- A C++ library: libplasma
- Script engines
QML components
org.kde.plasma.core
Bindings for libplasma functionality, such as DataEngine and FrameSvg, see @ref core.
org.kde.plasma.components
Graphical components for common items such as buttons, lineedits, tabbars and so on. Compatible subset of the MeeGo components used on the N9, see @ref plasmacomponents.
org.kde.plasma.extras
Extra graphical components that extend org.kde.plasma.components but are not in the standard api, see @ref plasmaextracomponents.
org.kde.plasma.plasmoid
Attached properties for manipulating the current applet or containment, see @ref libplasmaquick
libplasma
This C++ library provides:
- rendering of SVG themes
- loading of files from a certain filesystem structure: packages
- data access through data engines
- loading of the plugin structure of the workspace: containments and applets
See @ref libplasma.
Script engines
Provides support to create applets or containments in various scripting languages.
Description
Languages
C++
63.9%
QML
29.4%
CMake
3.3%
Shell
1.3%
Python
1%
Other
1%