Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implemented Preferences System #252

Merged
merged 15 commits into from Oct 27, 2020
Merged

Implemented Preferences System #252

merged 15 commits into from Oct 27, 2020

Conversation

nshcat
Copy link
Collaborator

@nshcat nshcat commented Oct 25, 2020

This PR implements the first iteration of the preferences system.

The following features are working:

  • Preferences are stored in a tree, thus nested preferences and categories are supported
  • Support for booleans, reals and strings
  • Definition of preference schema with default values and strong typing
  • Loading and Saving of preferences from disk
  • A rudimentary preferences dialog to view and change preferences

Defining preferences in the schema:
The preference tree schema is defined in PreferenceManager::InitializeDefaults(). The current placeholder properties can be replaced in later PRs.

The following features will be implemented in follow-up PRs, listed in order of implementation:

  • Hidden preferences
  • Specifying preference unit
  • Color and font preferences
  • Preference category separators to group preferences together in the dialog

@azonenberg
Copy link
Collaborator

@nshcat Build fails on Windows, please fix before we merge.

@nshcat
Copy link
Collaborator Author

nshcat commented Oct 26, 2020

I am aware that there are still are build errors on Windows, but my Windows VM is acting up - will investigate on a real Windows PC tomorrow.

@azonenberg
Copy link
Collaborator

OK. I've got other work to do anyway, just let me know when it's ready to merge.

@azonenberg azonenberg merged commit 7f9d628 into master Oct 27, 2020
@azonenberg azonenberg deleted the gui-dev-new branch October 27, 2020 10:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants