Skip to content

Port to Kconfigxt

Tomaz Canabrava requested to merge tcanabrava/powerdevil:kconfigxt into master

The long run is to be able to ditch the code for UI from the plugins and to have a Qml interface for the KCM. This is the start of this task.


  • Port the old configuration to the new based on KConfigXT (simply reusing is not possible since the old stored multiple groups on the same file, and now we store one file per profile.)
  • Make sure the code still works (because the profile files changed, I need to go through the code that read it and make sure that it's calling the correct code
  • Remove calls with KConfig / KConfigGroup with handwritten logic
  • Remove the plugins that provides UI elements to the KCM
  • Implement the KConfigXT spec with all of the used values so we have one place to look for possible values.
  • Makes sure the code compiles when the KConfig / KConfigGroup is removed from the UI.
  • Uses kcfg_* on the UI to simplify handling
  • uses default values computed using the tags on the KConfigXT
  • uses the same configuration file as the original powerdevil
  • no need to port anything
  • Handle msecs to secs on the combobox without manual intervention

I'm using this for the past week without clear issues. Test with caution.

The latest update rebased all 125 commits and removed a bunch of test code, making it easier to review and test. New aditions:

  • Correctly remove / add elements on the view if the action is supported or not.
  • [*] Removed the possibility of using Plugins for UI elements. I'm not sure if any other plugin does this but if it does, it should have a separate KCM screen for it.
Edited by Tomaz Canabrava

Merge request reports