1c6aa4d109
## Summary of the Pull Request Move `ICoreSettings` and `IControlSettings` from the TerminalSettings project to the TerminalCore and TerminalControl projects respectively. Also entirely removes the TerminalSettings project. The purpose of these interfaces is unchanged. `ICoreSettings` is used to instantiate a terminal. `IControlSettings` (which requires an `ICoreSettings`) is used to instantiate a UWP terminal control. ## References Closes #7140 Related Epic: #885 Related Spec: #6904 ## PR Checklist * [X] Closes #7140 * [X] CLA signed * [X] Tests ~added~/passed (no additional tests necessary) * [X] ~Documentation updated~ * [X] ~Schema updated~ ## Detailed Description of the Pull Request / Additional comments A lot of the work here was having to deal with winmd files across all of these projects. The TerminalCore project now outputs a Microsoft.Terminal.TerminalControl.winmd. Some magic happens in TerminalControl.vcxproj to get this to work properly. ## Validation Steps Performed Deployed Windows Terminal and opened a few new tabs.
22 lines
908 B
Plaintext
22 lines
908 B
Plaintext
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
namespace TerminalApp
|
|
{
|
|
// Class Description:
|
|
// TerminalSettings encapsulates all settings that control the
|
|
// TermControl's behavior. In these settings there is both the entirety
|
|
// of the Core ICoreSettings properties and the IControlSettings
|
|
// properties. It's the Profile's responsibility to build this from
|
|
// settings it contains, in combination with the global settings.
|
|
// The TerminalControl will pull settings it requires from this object,
|
|
// and pass along the Core properties to the terminal core.
|
|
[default_interface]
|
|
runtimeclass TerminalSettings : Microsoft.Terminal.TerminalControl.ICoreSettings,
|
|
Microsoft.Terminal.TerminalControl.IControlSettings
|
|
{
|
|
TerminalSettings();
|
|
};
|
|
|
|
}
|