Skip to content

Commit cf56a9a

Browse files
zadjii-msfte82eric
authored andcommitted
cherry-pick into save-input PR (mostly stashing so I make sure I don't lose this)
1 parent 49a74c8 commit cf56a9a

File tree

6 files changed

+30
-17
lines changed

6 files changed

+30
-17
lines changed

src/cascadia/TerminalApp/AppActionHandlers.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1288,22 +1288,22 @@ namespace winrt::TerminalApp::implementation
12881288

12891289
try
12901290
{
1291-
KeyChord keyChord = nullptr;
1292-
hstring keyChordText = L"";
1291+
winrt::Microsoft::Terminal::Control::KeyChord keyChord = nullptr;
12931292
if (!realArgs.KeyChord().empty())
12941293
{
12951294
keyChord = KeyChordSerialization::FromString(winrt::to_hstring(realArgs.KeyChord()));
1296-
keyChordText = KeyChordSerialization::ToString(keyChord);
12971295
}
1298-
12991296
_settings.GlobalSettings().ActionMap().AddSendInputAction(realArgs.Name(), realArgs.Commandline(), keyChord);
1300-
ActionSaved(realArgs.Commandline(), realArgs.Name(), keyChordText);
13011297
_settings.WriteSettingsToDisk();
1298+
ActionSaved(realArgs.Commandline(), realArgs.Name(), realArgs.KeyChord());
13021299
}
13031300
catch (const winrt::hresult_error& ex)
13041301
{
1305-
const auto message = ex.message();
1302+
auto code = ex.code();
1303+
auto message = ex.message();
13061304
ActionSaveFailed(message);
1305+
args.Handled(true);
1306+
return;
13071307
}
13081308

13091309
args.Handled(true);

src/cascadia/TerminalApp/Resources/en-US/Resources.resw

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -907,4 +907,10 @@
907907
<data name="RestartConnectionToolTip" xml:space="preserve">
908908
<value>Restart the active pane connection</value>
909909
</data>
910+
<data name="ActionSavedToast.Title" xml:space="preserve">
911+
<value>Action saved</value>
912+
</data>
913+
<data name="ActionSaveFailedToast.Title" xml:space="preserve">
914+
<value>Action save failed</value>
915+
</data>
910916
</root>

src/cascadia/TerminalApp/TerminalPage.cpp

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4133,14 +4133,9 @@ namespace winrt::TerminalApp::implementation
41334133
}
41344134
_UpdateTeachingTipTheme(ActionSavedToast().try_as<winrt::Windows::UI::Xaml::FrameworkElement>());
41354135

4136-
auto setText = [](const TextBlock& textBlock, const winrt::hstring& prefix, const winrt::hstring& text) {
4137-
textBlock.Text(text.empty() ? L"" : prefix + text);
4138-
textBlock.Visibility(text.empty() ? Windows::UI::Xaml::Visibility::Collapsed : Windows::UI::Xaml::Visibility::Visible);
4139-
};
4140-
4141-
setText(ActionSavedNameText(), L"Name: ", name);
4142-
setText(ActionSavedKeyChordText(), L"Key Chord: " ,keyChord );
4143-
setText(ActionSavedCommandLineText(), L"Input: " , input);
4136+
SavedActionName(L"Name: " + name);
4137+
SavedActionKeyChord(L"Key Chord: " + keyChord);
4138+
SavedActionCommandLine(L"Input: " + input);
41444139

41454140
if (page->_actionSavedToast != nullptr)
41464141
{

src/cascadia/TerminalApp/TerminalPage.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,10 @@ namespace winrt::TerminalApp::implementation
201201
WINRT_OBSERVABLE_PROPERTY(winrt::Windows::UI::Xaml::Media::Brush, TitlebarBrush, PropertyChanged.raise, nullptr);
202202
WINRT_OBSERVABLE_PROPERTY(winrt::Windows::UI::Xaml::Media::Brush, FrameBrush, PropertyChanged.raise, nullptr);
203203

204+
WINRT_OBSERVABLE_PROPERTY(winrt::hstring, SavedActionName, PropertyChanged.raise, L"");
205+
WINRT_OBSERVABLE_PROPERTY(winrt::hstring, SavedActionKeyChord, PropertyChanged.raise, L"");
206+
WINRT_OBSERVABLE_PROPERTY(winrt::hstring, SavedActionCommandLine, PropertyChanged.raise, L"");
207+
204208
private:
205209
friend struct TerminalPageT<TerminalPage>; // for Xaml to bind events
206210
std::optional<HWND> _hostingHwnd;

src/cascadia/TerminalApp/TerminalPage.idl

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,10 @@ namespace TerminalApp
7272
void IdentifyWindow();
7373
void RenameFailed();
7474

75+
String SavedActionName { get; };
76+
String SavedActionKeyChord { get; };
77+
String SavedActionCommandLine { get; };
78+
7579
// We cannot use the default XAML APIs because we want to make sure
7680
// that there's only one application-global dialog visible at a time,
7781
// and because of GH#5224.

src/cascadia/TerminalApp/TerminalPage.xaml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
99
xmlns:local="using:TerminalApp"
1010
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
11+
xmlns:mtu="using:Microsoft.Terminal.UI"
1112
xmlns:mux="using:Microsoft.UI.Xaml.Controls"
1213
Background="Transparent"
1314
mc:Ignorable="d">
@@ -215,11 +216,14 @@
215216
<StackPanel HorizontalAlignment="Stretch"
216217
Orientation="Vertical">
217218
<TextBlock x:Name="ActionSavedNameText"
218-
Text="" />
219+
Text="{x:Bind SavedActionName, Mode=OneWay}"
220+
Visibility="{x:Bind mtu:Converters.StringNotEmptyToVisibility(SavedActionName), Mode=OneWay}" />
219221
<TextBlock x:Name="ActionSavedKeyChordText"
220-
Text="" />
222+
Text="{x:Bind SavedActionKeyChord, Mode=OneWay}"
223+
Visibility="{x:Bind mtu:Converters.StringNotEmptyToVisibility(SavedActionKeyChord), Mode=OneWay}" />
221224
<TextBlock x:Name="ActionSavedCommandLineText"
222-
Text="" />
225+
Text="{x:Bind SavedActionCommandLine, Mode=OneWay}"
226+
Visibility="{x:Bind mtu:Converters.StringNotEmptyToVisibility(SavedActionCommandLine), Mode=OneWay}" />
223227
</StackPanel>
224228
</mux:TeachingTip.Content>
225229
</mux:TeachingTip>

0 commit comments

Comments
 (0)