Skip to content

[Task] Port away from dconf to plain QSettings #336

@PureTryOut

Description

@PureTryOut

Currently various components in AsteroidOS use dconf for storing settings. This is mostly a legacy choice, partially because the Nemo stack back then (and largely still do in SFOS) used it. dconf has various downsides for us though:

  1. it's a non-plain text format making it hard to edit by users when not going through the apps themselves
  2. it requires use of mlite for the Qt support of the format which is a really old library with basically no description of what it does, it's basically a random selection of utils used by Nemo.

Instead it would be good to port at least our own settings to QSettings. That requires no external dependencies other than Qt itself and uses the plain text INI format.

Since existing settings are already saved in dconf we'll need some migration path. Perhaps there should be an OS release with support for loading from dconf and QSettings (loading from QSettings first if it can find a config file, then fallback to dconf if it can't) and saving to only QSettings, and then the next release loading from dconf can be removed.
With the current slow release schedule (I believe it was planned once a year now?) this should give users enough time to store their settings in QSettings format before we remove dconf usage.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions