Marco Martin
ac24340877
Force Plasma style for QQC2 in applets
Summary: using the qml url interceptor, rewrite imports in order to load always the plasma styled qqc2 controls in plasmoids and plasma views. As is per-engine, is possible to load controls with qstyle theme in configuration dialogs and plasma style in plasmoids. Note: this replaces just the style org.kde.desktop to Plasma and not every style (so with Material set as QT_QUICK_CONTROLS_STYLE environment variable plasma would load controls with material style) because we can control both org.kde.desktop and Plasma styles: they must have the same subdirectories as unlike files, their existence is checked before the rewrite (in our case, "private"), so in order to work they must exist in both styles Test Plan: a qqc2 button in a plasmoid has the plasma style, in a config dialog has the qwidget style. rewrite works only from org.kde.desktop to Plasma and not from other styles, due to the existence of the "private" subdirectory Reviewers: #plasma, davidedmundson Reviewed By: #plasma, davidedmundson Subscribers: davidedmundson, plasma-devel, #frameworks Tags: #plasma, #frameworks Differential Revision: https://phabricator.kde.org/D6964
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%