Make highlights work for modified profiles KCM settings
Using SettingStateBinding
from kcmutils adds highlights to the
components within the QML page.
In order to also make the (non-)defaultIndicator
in the sidebar
list view show up, System Settings needs to be able to construct
a single KCModuleData
object through the KCM's plugin factory.
We need to register both the KQuickManagedConfigModule
and the
KCModuleData
when declaring the plugin, so instead of
K_PLUGIN_CLASS_WITH_JSON
we now use K_PLUGIN_FACTORY_WITH_JSON
.
ProfilesConfigKCM.{h,cpp} requires some refactoring to use a single
KCModuleData
object instead of a collection of three different ones.
Instead of the ProfilesConfigKCM
class owning three data objects,
it now only constructs a single one which in turn will create and
expose the KConfigXT-generated settings classes for all profiles.