b7fa32881d
Implement dropdown menu for choosing a default terminal application from inside the Windows Terminal Settings UI ## PR Checklist * [x] Closes #9463 * [x] I work here. * [x] Manual tests passed * [x] https://github.com/MicrosoftDocs/terminal/issues/314 (and cross reference #9462) ## Detailed Description of the Pull Request / Additional comments - Adds dropdown menu and a template card for displaying the available default applications (using the same lookup code as the console property sheet `console.dll`) - Adds model to TSM for adapting the data for display and binding on XAML - Lookup occurs on every page reload. Persistence only happens on Save Changes. - Manifest changed for Terminal to add capability to opt-out of registry redirection so we can edit this setting ## Validation Steps Performed - [x] Flipped the menu and pressed Save Changes and launched cmd from run box... it moved between the two. - [x] Flipped system theme from light to dark and ensured secondary color looked good - [x] Flipped the status with a different mechanism (conhost propsheet) and then reopened settings page and confirmed it loaded the updated status
53 lines
1.8 KiB
Plaintext
53 lines
1.8 KiB
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
import "GlobalAppSettings.idl";
|
|
import "Profile.idl";
|
|
import "TerminalWarnings.idl";
|
|
import "DefaultTerminal.idl";
|
|
|
|
namespace Microsoft.Terminal.Settings.Model
|
|
{
|
|
[default_interface] runtimeclass CascadiaSettings {
|
|
CascadiaSettings(String json);
|
|
CascadiaSettings Copy();
|
|
|
|
void WriteSettingsToDisk();
|
|
|
|
static CascadiaSettings LoadDefaults();
|
|
static CascadiaSettings LoadAll();
|
|
static CascadiaSettings LoadUniversal();
|
|
|
|
static String SettingsPath { get; };
|
|
static String DefaultSettingsPath { get; };
|
|
|
|
static String ApplicationDisplayName { get; };
|
|
static String ApplicationVersion { get; };
|
|
|
|
GlobalAppSettings GlobalSettings { get; };
|
|
|
|
Profile ProfileDefaults { get; };
|
|
|
|
Windows.Foundation.Collections.IObservableVector<Profile> AllProfiles { get; };
|
|
Windows.Foundation.Collections.IObservableVector<Profile> ActiveProfiles { get; };
|
|
|
|
KeyMapping KeyMap { get; };
|
|
|
|
Windows.Foundation.Collections.IVectorView<SettingsLoadWarnings> Warnings { get; };
|
|
Windows.Foundation.IReference<SettingsLoadErrors> GetLoadingError { get; };
|
|
String GetSerializationErrorMessage { get; };
|
|
|
|
Profile CreateNewProfile();
|
|
Profile FindProfile(Guid profileGuid);
|
|
ColorScheme GetColorSchemeForProfile(Guid profileGuid);
|
|
void UpdateColorSchemeReferences(String oldName, String newName);
|
|
|
|
Guid GetProfileForArgs(NewTerminalArgs newTerminalArgs);
|
|
|
|
void RefreshDefaultTerminals();
|
|
static Boolean IsDefaultTerminalAvailable { get; };
|
|
Windows.Foundation.Collections.IObservableVector<DefaultTerminal> DefaultTerminals { get; };
|
|
DefaultTerminal CurrentDefaultTerminal;
|
|
}
|
|
}
|