## 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.
51 lines
1.3 KiB
C++
51 lines
1.3 KiB
C++
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
#include "pch.h"
|
|
#include "KeyChord.h"
|
|
|
|
#include "KeyChord.g.cpp"
|
|
|
|
namespace winrt::Microsoft::Terminal::TerminalControl::implementation
|
|
{
|
|
KeyChord::KeyChord() noexcept :
|
|
_modifiers{ 0 },
|
|
_vkey{ 0 }
|
|
{
|
|
}
|
|
|
|
KeyChord::KeyChord(bool ctrl, bool alt, bool shift, int32_t vkey) noexcept :
|
|
_modifiers{ (ctrl ? TerminalControl::KeyModifiers::Ctrl : TerminalControl::KeyModifiers::None) |
|
|
(alt ? TerminalControl::KeyModifiers::Alt : TerminalControl::KeyModifiers::None) |
|
|
(shift ? TerminalControl::KeyModifiers::Shift : TerminalControl::KeyModifiers::None) },
|
|
_vkey{ vkey }
|
|
{
|
|
}
|
|
|
|
KeyChord::KeyChord(TerminalControl::KeyModifiers const& modifiers, int32_t vkey) noexcept :
|
|
_modifiers{ modifiers },
|
|
_vkey{ vkey }
|
|
{
|
|
}
|
|
|
|
TerminalControl::KeyModifiers KeyChord::Modifiers() noexcept
|
|
{
|
|
return _modifiers;
|
|
}
|
|
|
|
void KeyChord::Modifiers(TerminalControl::KeyModifiers const& value) noexcept
|
|
{
|
|
_modifiers = value;
|
|
}
|
|
|
|
int32_t KeyChord::Vkey() noexcept
|
|
{
|
|
return _vkey;
|
|
}
|
|
|
|
void KeyChord::Vkey(int32_t value) noexcept
|
|
{
|
|
_vkey = value;
|
|
}
|
|
}
|