terminal/src/cascadia/TerminalSettingsEditor
Leonard Hecker 608a49e817
Allow generated profiles to be deleted (#11007)
Re-enables the delete button for generated profiles in the settings UI.
Additionally fixes "Startup Profiles" to only list active profiles.

Profiles are considered deleted if they're absent from settings.json, but their
GUID has been encountered before. Or in other words, from a user's perspective:
Generated profiles are added to the settings.json automatically only once.
Thus if the user chooses to delete the profile (e.g. using the delete button)
they aren't re-added automatically and thus appear to have been deleted.

Meanwhile those generated profiles are actually only marked as "hidden"
as well as "deleted", but still exist in internal profile lists.
The "hidden" attribute hides them from all existing menus. The "deleted" one
hides them from the settings UI and prevents them from being written to disk.

It would've been preferrable of course to just not generate and
add deleted profile to internal profile lists in the first place.
But this would've required far more wide-reaching changes.
The settings UI for instance requires a list of _all_ profiles in order to
allow a user to re-create previously deleted profiles. Such an approach was
attempted but discarded because of it's current complexity overhead.

## References

* Part of #9997
* A sequel to 5d36e5d

## PR Checklist

* [x] Closes #10960
* [x] I work here
* [x] Tests added/passed

## Validation Steps Performed

* "Startup Profiles" doesn't list deleted profiles ✔️
* Manually removing an item from settings.json removes the profile ✔️
* Removing cmd.exe and saving doesn't create empty objects (#10960) ✔️
* "Add a new profile" lists deleted profiles ✔️
* "Duplicate" recreates previously deleted profiles ✔️
* Profiles are always created with GUIDs ✔️
2021-08-23 22:00:08 +00:00
..
Resources/en-US Allow generated profiles to be deleted (#11007) 2021-08-23 22:00:08 +00:00
Actions.cpp Add a KeyChordListener to the Settings UI (#10652) 2021-07-16 22:11:55 +00:00
Actions.h Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
Actions.idl Add a KeyChordListener to the Settings UI (#10652) 2021-07-16 22:11:55 +00:00
Actions.xaml Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
AddProfile.cpp Create a new page for "Add new profile" in the SUI (#9352) 2021-05-05 04:15:25 +00:00
AddProfile.h Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
AddProfile.idl Create a new page for "Add new profile" in the SUI (#9352) 2021-05-05 04:15:25 +00:00
AddProfile.xaml Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
Appearances.cpp Add an ENUM setting for disabling rendering "intense" text as bold (#10759) 2021-08-16 13:45:56 +00:00
Appearances.h Add an ENUM setting for disabling rendering "intense" text as bold (#10759) 2021-08-16 13:45:56 +00:00
Appearances.idl Add an ENUM setting for disabling rendering "intense" text as bold (#10759) 2021-08-16 13:45:56 +00:00
Appearances.xaml Add an ENUM setting for disabling rendering "intense" text as bold (#10759) 2021-08-16 13:45:56 +00:00
ColorSchemes.cpp Terminal color picker tweaks (#10219) 2021-06-10 15:49:52 +00:00
ColorSchemes.h Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
ColorSchemes.idl Redesign color schemes page (#9196) 2021-02-19 18:20:04 +00:00
ColorSchemes.xaml Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
CommonResources.xaml Polish code for actions page (#10173) 2021-06-03 22:49:44 +00:00
Converters.cpp [settings-editor] Switch to function bindings instead of Converter objects (#10846) 2021-08-03 22:25:23 +00:00
Converters.h [settings-editor] Switch to function bindings instead of Converter objects (#10846) 2021-08-03 22:25:23 +00:00
Converters.idl [settings-editor] Switch to function bindings instead of Converter objects (#10846) 2021-08-03 22:25:23 +00:00
EnumEntry.h Replace some of our macros to reduce confusion, increase success (#9376) 2021-03-04 11:27:03 -08:00
EnumEntry.idl Enable text search on combo boxes (#9206) 2021-02-19 18:11:07 +00:00
GlobalAppearance.cpp Fix crash when unpackaged due to PrimaryLanguageOverride (#10434) 2021-06-16 21:08:14 +00:00
GlobalAppearance.h Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
GlobalAppearance.idl Fix crash when unpackaged due to PrimaryLanguageOverride (#10434) 2021-06-16 21:08:14 +00:00
GlobalAppearance.xaml Add titlebar acrylic (#10864) 2021-08-23 16:40:25 +00:00
Interaction.cpp Rename Microsoft.Terminal.TerminalControl to .Control; Split into dll & lib (#9472) 2021-03-17 20:47:24 +00:00
Interaction.h Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
Interaction.idl Add missing settings to the settings UI (#8774) 2021-01-14 23:57:59 +00:00
Interaction.xaml Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
KeyChordListener.cpp Introduce vk() and sc() key chord specifiers (#10666) 2021-07-20 22:34:51 +00:00
KeyChordListener.h Add a KeyChordListener to the Settings UI (#10652) 2021-07-16 22:11:55 +00:00
KeyChordListener.idl Add a KeyChordListener to the Settings UI (#10652) 2021-07-16 22:11:55 +00:00
KeyChordListener.xaml Add a KeyChordListener to the Settings UI (#10652) 2021-07-16 22:11:55 +00:00
Launch.cpp Allow generated profiles to be deleted (#11007) 2021-08-23 22:00:08 +00:00
Launch.h Allow generated profiles to be deleted (#11007) 2021-08-23 22:00:08 +00:00
Launch.idl Allow generated profiles to be deleted (#11007) 2021-08-23 22:00:08 +00:00
Launch.xaml Allow generated profiles to be deleted (#11007) 2021-08-23 22:00:08 +00:00
MainPage.cpp Allow generated profiles to be deleted (#11007) 2021-08-23 22:00:08 +00:00
MainPage.h Reintroduce the Defaults page and the Reset buttons (#10588) 2021-07-09 22:03:41 +00:00
MainPage.idl Reintroduce the Defaults page and the Reset buttons (#10588) 2021-07-09 22:03:41 +00:00
MainPage.xaml Change settings content frame transition to drill in (#10934) 2021-08-12 22:36:10 +00:00
Microsoft.Terminal.Settings.Editor.def Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
Microsoft.Terminal.Settings.Editor.vcxproj Upgrade to Microsoft.UI.Xaml 2.6.2 (or equivalent) (#10996) 2021-08-20 20:41:03 +00:00
Microsoft.Terminal.Settings.Editor.vcxproj.filters [settings-editor] Switch to function bindings instead of Converter objects (#10846) 2021-08-03 22:25:23 +00:00
packages.config Upgrade to Microsoft.UI.Xaml 2.6.2 (or equivalent) (#10996) 2021-08-20 20:41:03 +00:00
pch.cpp Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
pch.h Add a KeyChordListener to the Settings UI (#10652) 2021-07-16 22:11:55 +00:00
PercentageSignConverter.cpp Add percentage sign to opacity slider values (#10369) 2021-06-09 22:45:06 +00:00
PercentageSignConverter.h Add percentage sign to opacity slider values (#10369) 2021-06-09 22:45:06 +00:00
PreviewConnection.cpp Switch Connections to use ValueSets to initialize them (#10184) 2021-07-20 15:02:17 +00:00
PreviewConnection.h Switch Connections to use ValueSets to initialize them (#10184) 2021-07-20 15:02:17 +00:00
Profiles.cpp Allow generated profiles to be deleted (#11007) 2021-08-23 22:00:08 +00:00
Profiles.h Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
Profiles.idl [settings-editor] Switch to function bindings instead of Converter objects (#10846) 2021-08-03 22:25:23 +00:00
Profiles.xaml Allow generated profiles to be deleted (#11007) 2021-08-23 22:00:08 +00:00
ReadOnlyActions.cpp Introduce feature flag for editable actions page (#10581) 2021-07-08 20:55:31 +00:00
ReadOnlyActions.h Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
ReadOnlyActions.idl Introduce feature flag for editable actions page (#10581) 2021-07-08 20:55:31 +00:00
ReadOnlyActions.xaml Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
Rendering.cpp Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
Rendering.h Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
Rendering.idl Introduce the Terminal Settings Editor (#8048) 2020-12-11 13:47:10 -08:00
Rendering.xaml Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
SettingContainer.cpp Reintroduce the Defaults page and the Reset buttons (#10588) 2021-07-09 22:03:41 +00:00
SettingContainer.h Reintroduce the Defaults page and the Reset buttons (#10588) 2021-07-09 22:03:41 +00:00
SettingContainer.idl Introduce setting override tracking and update SettingContainer (#9079) 2021-02-19 23:50:52 +00:00
SettingContainerStyle.xaml Auto-format our XAML files and enforce in CI (#9589) 2021-03-29 17:09:38 -05:00
Utils.cpp Add an Appearances xaml object and AppearanceViewModel to TSE (#10066) 2021-07-09 15:43:58 -05:00
Utils.h Manually dismiss popups when the window moves, or the SUI scrolls (#10922) 2021-08-16 13:41:17 +00:00
ViewModelHelpers.h Enable /Zc:preprocessor (#10593) 2021-07-13 23:00:11 +00:00
ViewModelHelpers.idl.h Introduce setting override tracking and update SettingContainer (#9079) 2021-02-19 23:50:52 +00:00