Skip to content

Move user preferences out of main config #2071

@vkbo

Description

@vkbo

This is a structural/refactoring task.

The user preferences are currently stored in the main config file, and mixed in with system state settings. Instead, it may be useful to store them in a way similar to how Manuscript Build settings are stored. They have a dictionary describing their data type and default value, a mirror dictionary with all the translation strings, and standard getter and setter functions.

The CONFIG object can still read and populate from this object at startup, but the point here is to centralise the preference so that:

  • The GUI label of all Preferences are kept in once place, reducing duplicate translations.
  • There is a record of the default value, allowing a reset to default, as requested in Restoring default preferences #1080.
  • It is possible to select settings for Project override quite easily, and a standard way of generating the override files through the same data object.

Metadata

Metadata

Assignees

No one assigned

    Labels

    plannedNote: Feature planned for a later releaserefactoringEnhancement: Code refactoring neededuser interfaceComponent: General user interface

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions