## Summary of the Pull Request This adds `ToJson` functions to `Profile`, `GlobalAppSettings`, and `ColorScheme`. They are used in `CascadiaSettings` to completely serialize an instance of the settings model. Thanks to #7923, all of the settings are `std::optional`, and `JsonUtils` only writes out values that are actually populated. `CascadiaSettings::WriteSettingsToDisk` serializes the current settings and writes them to the settings.json. A backup file is created with your old contents. #### Limitations: - all of the color schemes are serialized regardless of them coming from defaults.json or settings.json - keybindings/actions are copied/pasted ## References #1564 - Settings UI TSM Specs (#6904 and #7876) ## PR Checklist * [x] Tests added/passed |
||
---|---|---|
.. | ||
ColorSchemeTests.cpp | ||
CommandTests.cpp | ||
DeserializationTests.cpp | ||
JsonTestClass.h | ||
KeyBindingsTests.cpp | ||
LocalTests_SettingsModel.def | ||
pch.cpp | ||
pch.h | ||
ProfileTests.cpp | ||
SerializationTests.cpp | ||
SettingsModel.LocalTests.vcxproj | ||
TestUtils.h |