From b5370a1da1a5d695a2ffa5628fefe6cd7b31c934 Mon Sep 17 00:00:00 2001 From: Carlos Zamora Date: Sat, 26 Dec 2020 17:11:52 -0600 Subject: [PATCH] Bugfix: Dropdown shows settings file keybinding --- src/cascadia/TerminalApp/TerminalPage.cpp | 4 +++- src/cascadia/TerminalSettingsModel/ActionArgs.h | 3 +++ src/cascadia/TerminalSettingsModel/ActionArgs.idl | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/cascadia/TerminalApp/TerminalPage.cpp b/src/cascadia/TerminalApp/TerminalPage.cpp index 3f9b5ee83..40fe081a8 100644 --- a/src/cascadia/TerminalApp/TerminalPage.cpp +++ b/src/cascadia/TerminalApp/TerminalPage.cpp @@ -602,7 +602,9 @@ namespace winrt::TerminalApp::implementation settingsItem.Click({ this, &TerminalPage::_SettingsButtonOnClick }); newTabFlyout.Items().Append(settingsItem); - auto settingsKeyChord = keyBindings.GetKeyBindingForAction(ShortcutAction::OpenSettings); + Microsoft::Terminal::Settings::Model::OpenSettingsArgs args{ SettingsTarget::SettingsFile }; + Microsoft::Terminal::Settings::Model::ActionAndArgs settingsAction{ ShortcutAction::OpenSettings, args }; + const auto settingsKeyChord{ keyBindings.GetKeyBindingForActionWithArgs(settingsAction) }; if (settingsKeyChord) { _SetAcceleratorForMenuItem(settingsItem, settingsKeyChord); diff --git a/src/cascadia/TerminalSettingsModel/ActionArgs.h b/src/cascadia/TerminalSettingsModel/ActionArgs.h index 8551288e6..7a249330c 100644 --- a/src/cascadia/TerminalSettingsModel/ActionArgs.h +++ b/src/cascadia/TerminalSettingsModel/ActionArgs.h @@ -441,6 +441,8 @@ namespace winrt::Microsoft::Terminal::Settings::Model::implementation struct OpenSettingsArgs : public OpenSettingsArgsT { OpenSettingsArgs() = default; + OpenSettingsArgs(const SettingsTarget& target) : + _Target{ target } {} GETSET_PROPERTY(SettingsTarget, Target, SettingsTarget::SettingsFile); static constexpr std::string_view TargetKey{ "target" }; @@ -850,4 +852,5 @@ namespace winrt::Microsoft::Terminal::Settings::Model::factory_implementation BASIC_FACTORY(CloseOtherTabsArgs); BASIC_FACTORY(CloseTabsAfterArgs); BASIC_FACTORY(MoveTabArgs); + BASIC_FACTORY(OpenSettingsArgs); } diff --git a/src/cascadia/TerminalSettingsModel/ActionArgs.idl b/src/cascadia/TerminalSettingsModel/ActionArgs.idl index 2c539babe..e4413fbd4 100644 --- a/src/cascadia/TerminalSettingsModel/ActionArgs.idl +++ b/src/cascadia/TerminalSettingsModel/ActionArgs.idl @@ -147,6 +147,7 @@ namespace Microsoft.Terminal.Settings.Model [default_interface] runtimeclass OpenSettingsArgs : IActionArgs { + OpenSettingsArgs(SettingsTarget target); SettingsTarget Target { get; }; };