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.

BUG: 477848

Edited by Jakob Petsovits

Merge request reports

Loading