Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • PowerDevil PowerDevil
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 10
    • Issues 10
    • List
    • Boards
    • Service Desk
    • Milestones
  • Bugzilla
    • Bugzilla
  • Merge requests 18
    • Merge requests 18
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Artifacts
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PlasmaPlasma
  • PowerDevilPowerDevil
  • Merge requests
  • !71

Add a series of kconfigxt modules for PowerDevil

  • Review changes

  • Download
  • Patches
  • Plain diff
Open Tomaz Canabrava requested to merge tcanabrava/powerdevil:port_to_kconfigxt into master Dec 01, 2021
  • Overview 67
  • Commits 23
  • Pipelines 20
  • Changes 72

This is the port of KConfigXT for PowerProfiles, without the QML Codebase. The code has been extensively rebased, and I tried to make as low commits as possible, to help review. I know that @ngraham had problems with the loading of the settings using this patch (as it's mostly what the Qml version has, too) and I'm investigating this.

How this works: The KConfigXT modules will try to load settings for Three particcular "supergroups":

  • AC
  • Battery
  • LowBattery

The file used to fetch those settings is the same as the old configuration, so things should work:

    <kcfgfile name="powermanagementprofilesrc">
        <parameter name="profileGroup"/>
    </kcfgfile>


    <group name="KeyboardBrightness" parentGroupName="$(profileGroup)">

This way, if we create a PowerManagementProfile("AC") - we will have the data for the entries inside of the AC group. All of the KConfig / KConfigGroup code is removed from the sources, on this patch, and instead we use a PowerManagementProfile.

this let to some big rewrites on parts of the code that used to do string concatenation and group management manually: those should be reviewed carefully.

If you try this patch and settings don't match, please tell me what side of the settings didn't match, send me a picture of the view, and also drop your configuration files here so I can take a look: I do not have access to keyboardBrigthness, brigthness, kernelProfiles on my laptop so I can't test those.

I think the UI is not optimal - I won't work on nitpicks for the interface, what I'm trying to get here is the correct KConfigXT port. interface nitpicks we can fix later on.

@crossi I'v read the documentation of the settings exporter but I failed to create a script for it, I appreciate any help.

Please ignore the rebase-me commits, this will be squashed.

Edited Dec 09, 2021 by Tomaz Canabrava
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: port_to_kconfigxt