automation props, tab stop fixes

This commit is contained in:
Pankaj Bhojwani 2025-06-17 12:39:53 -07:00
parent c24035f87c
commit bafe0b1326
3 changed files with 281 additions and 294 deletions

View File

@ -171,9 +171,9 @@
Spacing="8" Spacing="8"
Style="{StaticResource SettingsStackStyle}"> Style="{StaticResource SettingsStackStyle}">
<HyperlinkButton x:Uid="Actions_Disclaimer" <HyperlinkButton x:Uid="Actions_Disclaimer"
NavigateUri="https://learn.microsoft.com/en-us/windows/terminal/customize-settings/actions" Margin="0"
Padding="0" Padding="0"
Margin="0"/> NavigateUri="https://learn.microsoft.com/en-us/windows/terminal/customize-settings/actions" />
<!-- Add New Button --> <!-- Add New Button -->
<Button x:Name="AddNewButton" <Button x:Name="AddNewButton"
Click="AddNew_Click"> Click="AddNew_Click">

View File

@ -584,7 +584,7 @@ namespace winrt::Microsoft::Terminal::Settings::Editor::implementation
auto lifetime = get_strong(); auto lifetime = get_strong();
static constexpr winrt::guid clientGuidFolders{ 0xa611027, 0x42be, 0x4665, { 0xaf, 0xf1, 0x3f, 0x22, 0x26, 0xe9, 0xf7, 0x4d } }; static constexpr winrt::guid clientGuidFolders{ 0xa611027, 0x42be, 0x4665, { 0xaf, 0xf1, 0x3f, 0x22, 0x26, 0xe9, 0xf7, 0x4d } };
; ;
const auto parentHwnd{ reinterpret_cast<HWND>(_WindowRoot.GetHostingWindow()) }; const auto parentHwnd{ reinterpret_cast<HWND>(_WindowRoot.GetHostingWindow()) };
auto path = co_await OpenFilePicker(parentHwnd, [](auto&& dialog) { auto path = co_await OpenFilePicker(parentHwnd, [](auto&& dialog) {
THROW_IF_FAILED(dialog->SetClientGuid(clientGuidFolders)); THROW_IF_FAILED(dialog->SetClientGuid(clientGuidFolders));

View File

@ -161,8 +161,8 @@
<!-- Templates --> <!-- Templates -->
<DataTemplate x:Key="KeyChordTemplate" <DataTemplate x:Key="KeyChordTemplate"
x:DataType="local:KeyChordViewModel"> x:DataType="local:KeyChordViewModel">
<ListViewItem Style="{StaticResource KeyBindingContainerStyle}" <ListViewItem IsTabStop="False"
IsTabStop="False"> Style="{StaticResource KeyBindingContainerStyle}">
<Grid Padding="2,0,2,0" <Grid Padding="2,0,2,0"
VerticalAlignment="Center"> VerticalAlignment="Center">
<Grid.ColumnDefinitions> <Grid.ColumnDefinitions>
@ -193,8 +193,8 @@
<!-- Cancel editing the action --> <!-- Cancel editing the action -->
<Button x:Uid="Actions_CancelButton" <Button x:Uid="Actions_CancelButton"
AutomationProperties.Name="{x:Bind CancelButtonName}"
Grid.Column="1" Grid.Column="1"
AutomationProperties.Name="{x:Bind CancelButtonName}"
Click="{x:Bind CancelChanges}" Click="{x:Bind CancelChanges}"
Style="{StaticResource EditButtonStyle}"> Style="{StaticResource EditButtonStyle}">
<FontIcon FontSize="{StaticResource EditButtonIconSize}" <FontIcon FontSize="{StaticResource EditButtonIconSize}"
@ -203,8 +203,8 @@
<!-- Accept changes --> <!-- Accept changes -->
<Button x:Uid="Actions_AcceptButton" <Button x:Uid="Actions_AcceptButton"
AutomationProperties.Name="{x:Bind AcceptButtonName}"
Grid.Column="2" Grid.Column="2"
AutomationProperties.Name="{x:Bind AcceptButtonName}"
Click="{x:Bind AttemptAcceptChanges}" Click="{x:Bind AttemptAcceptChanges}"
Flyout="{x:Bind AcceptChangesFlyout, Mode=OneWay}" Flyout="{x:Bind AcceptChangesFlyout, Mode=OneWay}"
Style="{StaticResource AccentEditButtonStyle}"> Style="{StaticResource AccentEditButtonStyle}">
@ -237,265 +237,255 @@
<DataTemplate x:Key="ListItemTemplate" <DataTemplate x:Key="ListItemTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem HorizontalContentAlignment="Stretch" /> <ListViewItem HorizontalContentAlignment="Stretch"
IsTabStop="False" />
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Adjust Opacity --> <!-- Example shortcut action to test this template: Adjust Opacity -->
<!-- Currently that is the only Int32 arg, so just clamp the min/max values according to that --> <!-- Currently that is the only Int32 arg, so just clamp the min/max values according to that -->
<DataTemplate x:Key="Int32Template" <DataTemplate x:Key="Int32Template"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <muxc:NumberBox Grid.Column="1"
<muxc:NumberBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
LargeChange="1" LargeChange="1"
Maximum="100" Maximum="100"
Minimum="0" Minimum="0"
SmallChange="10" SmallChange="10"
Style="{StaticResource NumberBoxSettingStyle}" Style="{StaticResource NumberBoxSettingStyle}"
Value="{x:Bind UnboxInt32(Value), Mode=TwoWay, BindBack=Int32BindBack}" /> Value="{x:Bind UnboxInt32(Value), Mode=TwoWay, BindBack=Int32BindBack}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Switch To Tab --> <!-- Example shortcut action to test this template: Switch To Tab -->
<DataTemplate x:Key="UInt32Template" <DataTemplate x:Key="UInt32Template"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <muxc:NumberBox Grid.Column="1"
<muxc:NumberBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
LargeChange="1" LargeChange="1"
Maximum="999" Maximum="999"
Minimum="0" Minimum="0"
SmallChange="1" SmallChange="1"
Style="{StaticResource NumberBoxSettingStyle}" Style="{StaticResource NumberBoxSettingStyle}"
Value="{x:Bind UnboxUInt32(Value), Mode=TwoWay, BindBack=UInt32BindBack}" /> Value="{x:Bind UnboxUInt32(Value), Mode=TwoWay, BindBack=UInt32BindBack}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Close Other Tabs --> <!-- Example shortcut action to test this template: Close Other Tabs -->
<DataTemplate x:Key="UInt32OptionalTemplate" <DataTemplate x:Key="UInt32OptionalTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <muxc:NumberBox Grid.Column="1"
<muxc:NumberBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
LargeChange="1" LargeChange="1"
Maximum="999" Maximum="999"
Minimum="0" Minimum="0"
SmallChange="1" SmallChange="1"
Style="{StaticResource NumberBoxSettingStyle}" Style="{StaticResource NumberBoxSettingStyle}"
Value="{x:Bind UnboxUInt32Optional(Value), Mode=TwoWay, BindBack=UInt32OptionalBindBack}" /> Value="{x:Bind UnboxUInt32Optional(Value), Mode=TwoWay, BindBack=UInt32OptionalBindBack}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Split Pane --> <!-- Example shortcut action to test this template: Split Pane -->
<DataTemplate x:Key="Int32OptionalTemplate" <DataTemplate x:Key="Int32OptionalTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <muxc:NumberBox Grid.Column="1"
<muxc:NumberBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
LargeChange="1" LargeChange="1"
Maximum="999" Maximum="999"
Minimum="0" Minimum="0"
SmallChange="1" SmallChange="1"
Style="{StaticResource NumberBoxSettingStyle}" Style="{StaticResource NumberBoxSettingStyle}"
Value="{x:Bind UnboxInt32Optional(Value), Mode=TwoWay, BindBack=Int32OptionalBindBack}" /> Value="{x:Bind UnboxInt32Optional(Value), Mode=TwoWay, BindBack=Int32OptionalBindBack}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Adjust Font Size --> <!-- Example shortcut action to test this template: Adjust Font Size -->
<DataTemplate x:Key="FloatTemplate" <DataTemplate x:Key="FloatTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <muxc:NumberBox Grid.Column="1"
<muxc:NumberBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
LargeChange="1" LargeChange="1"
Maximum="999" Maximum="999"
Minimum="0" Minimum="0"
SmallChange="1" SmallChange="1"
Style="{StaticResource NumberBoxSettingStyle}" Style="{StaticResource NumberBoxSettingStyle}"
Value="{x:Bind UnboxFloat(Value), Mode=TwoWay, BindBack=FloatBindBack}" /> Value="{x:Bind UnboxFloat(Value), Mode=TwoWay, BindBack=FloatBindBack}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Send Input --> <!-- Example shortcut action to test this template: Send Input -->
<DataTemplate x:Key="StringTemplate" <DataTemplate x:Key="StringTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto"
<ColumnDefinition Width="Auto" MinWidth="196" />
MinWidth="196" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <TextBox Grid.Column="1"
<TextBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
Text="{x:Bind UnboxString(Value), Mode=TwoWay, BindBack=StringBindBack}" Text="{x:Bind UnboxString(Value), Mode=TwoWay, BindBack=StringBindBack}"
TextWrapping="Wrap"/> TextWrapping="Wrap" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Set Color Scheme --> <!-- Example shortcut action to test this template: Set Color Scheme -->
<DataTemplate x:Key="ColorSchemeTemplate" <DataTemplate x:Key="ColorSchemeTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <ComboBox Grid.Column="1"
<ComboBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
ItemTemplate="{StaticResource EnumComboBoxTemplate}" ItemTemplate="{StaticResource EnumComboBoxTemplate}"
ItemsSource="{x:Bind EnumList, Mode=OneWay}" ItemsSource="{x:Bind EnumList, Mode=OneWay}"
SelectedItem="{x:Bind EnumValue, Mode=TwoWay}" SelectedItem="{x:Bind EnumValue, Mode=TwoWay}"
Style="{StaticResource ComboBoxSettingStyle}" /> Style="{StaticResource ComboBoxSettingStyle}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Export Buffer --> <!-- Example shortcut action to test this template: Export Buffer -->
<DataTemplate x:Key="FilePickerTemplate" <DataTemplate x:Key="FilePickerTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="*"
<ColumnDefinition Width="*" MinWidth="196" />
MinWidth="196"/> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <TextBox Grid.Column="1"
<TextBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
Text="{x:Bind UnboxString(Value), Mode=TwoWay, BindBack=StringBindBack}" Text="{x:Bind UnboxString(Value), Mode=TwoWay, BindBack=StringBindBack}"
TextWrapping="Wrap"/> TextWrapping="Wrap" />
<Button x:Uid="Actions_Browse" <Button x:Uid="Actions_Browse"
Grid.Column="2" Grid.Column="2"
Click="{x:Bind BrowseForFile_Click}" Click="{x:Bind BrowseForFile_Click}"
Style="{StaticResource BrowseButtonStyle}" /> Style="{StaticResource BrowseButtonStyle}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: New Tab --> <!-- Example shortcut action to test this template: New Tab -->
<DataTemplate x:Key="FolderPickerTemplate" <DataTemplate x:Key="FolderPickerTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="*"
<ColumnDefinition Width="*" MinWidth="196" />
MinWidth="196"/> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <TextBox Grid.Column="1"
<TextBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
Text="{x:Bind UnboxString(Value), Mode=TwoWay, BindBack=StringBindBack}" Text="{x:Bind UnboxString(Value), Mode=TwoWay, BindBack=StringBindBack}"
TextWrapping="Wrap"/> TextWrapping="Wrap" />
<Button x:Uid="Actions_Browse" <Button x:Uid="Actions_Browse"
Grid.Column="2" Grid.Column="2"
Click="{x:Bind BrowseForFolder_Click}" Click="{x:Bind BrowseForFolder_Click}"
Style="{StaticResource BrowseButtonStyle}" /> Style="{StaticResource BrowseButtonStyle}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Set Focus Mode --> <!-- Example shortcut action to test this template: Set Focus Mode -->
<DataTemplate x:Key="BoolTemplate" <DataTemplate x:Key="BoolTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <ToggleSwitch Grid.Column="1"
<ToggleSwitch Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
IsOn="{x:Bind UnboxBool(Value), Mode=TwoWay, BindBack=BoolOptionalBindBack}" /> IsOn="{x:Bind UnboxBool(Value), Mode=TwoWay, BindBack=BoolOptionalBindBack}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Split Pane --> <!-- Example shortcut action to test this template: Split Pane -->
<DataTemplate x:Key="BoolOptionalTemplate" <DataTemplate x:Key="BoolOptionalTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <CheckBox Grid.Column="1"
<CheckBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
IsChecked="{x:Bind UnboxBoolOptional(Value), Mode=TwoWay, BindBack=BoolOptionalBindBack}" IsChecked="{x:Bind UnboxBoolOptional(Value), Mode=TwoWay, BindBack=BoolOptionalBindBack}"
IsThreeState="True" /> IsThreeState="True" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Resize Pane --> <!-- Example shortcut action to test this template: Resize Pane -->
<DataTemplate x:Key="EnumComboBoxTemplate" <DataTemplate x:Key="EnumComboBoxTemplate"
x:DataType="local:EnumEntry"> x:DataType="local:EnumEntry">
<TextBlock Text="{x:Bind EnumName, Mode=OneWay}" /> <TextBlock Text="{x:Bind EnumName, Mode=OneWay}" />
@ -503,26 +493,25 @@
<DataTemplate x:Key="EnumTemplate" <DataTemplate x:Key="EnumTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <ComboBox Grid.Column="1"
<ComboBox Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
ItemTemplate="{StaticResource EnumComboBoxTemplate}" ItemTemplate="{StaticResource EnumComboBoxTemplate}"
ItemsSource="{x:Bind EnumList, Mode=OneWay}" ItemsSource="{x:Bind EnumList, Mode=OneWay}"
SelectedItem="{x:Bind EnumValue, Mode=TwoWay}" SelectedItem="{x:Bind EnumValue, Mode=TwoWay}"
Style="{StaticResource ComboBoxSettingStyle}" /> Style="{StaticResource ComboBoxSettingStyle}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Copy Text --> <!-- Example shortcut action to test this template: Copy Text -->
<DataTemplate x:Key="FlagItemTemplate" <DataTemplate x:Key="FlagItemTemplate"
x:DataType="local:FlagEntry"> x:DataType="local:FlagEntry">
<Grid> <Grid>
@ -531,6 +520,7 @@
<ColumnDefinition Width="*" /> <ColumnDefinition Width="*" />
</Grid.ColumnDefinitions> </Grid.ColumnDefinitions>
<CheckBox Grid.Column="0" <CheckBox Grid.Column="0"
AutomationProperties.Name="{x:Bind FlagName}"
IsChecked="{x:Bind IsSet, Mode=TwoWay}" /> IsChecked="{x:Bind IsSet, Mode=TwoWay}" />
<TextBlock Grid.Column="1" <TextBlock Grid.Column="1"
Padding="0,0,0,4" Padding="0,0,0,4"
@ -541,69 +531,66 @@
<DataTemplate x:Key="FlagTemplate" <DataTemplate x:Key="FlagTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid>
<Grid> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="*" />
<ColumnDefinition Width="*" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <ListView Grid.Column="1"
<ListView Grid.Column="1" Margin="0"
Margin="0" Padding="-8,0,0,0"
Padding="-8,0,0,0" HorizontalAlignment="Left"
HorizontalAlignment="Left" AutomationProperties.Name="{x:Bind Name}"
ItemTemplate="{StaticResource FlagItemTemplate}" ItemTemplate="{StaticResource FlagItemTemplate}"
ItemsSource="{x:Bind FlagList, Mode=OneWay}" ItemsSource="{x:Bind FlagList, Mode=OneWay}"
SelectionMode="None" /> SelectionMode="None" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Add Mark --> <!-- Example shortcut action to test this template: Add Mark -->
<DataTemplate x:Key="TerminalCoreColorOptionalTemplate" <DataTemplate x:Key="TerminalCoreColorOptionalTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <local:NullableColorPicker x:Uid="Actions_NullableColorPicker"
<local:NullableColorPicker x:Uid="Actions_NullableColorPicker" Grid.Column="1"
Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
ColorSchemeVM="{x:Bind DefaultColorScheme, Mode=OneWay}" ColorSchemeVM="{x:Bind DefaultColorScheme, Mode=OneWay}"
CurrentColor="{x:Bind UnboxTerminalCoreColorOptional(Value), Mode=TwoWay, BindBack=TerminalCoreColorBindBack}" CurrentColor="{x:Bind UnboxTerminalCoreColorOptional(Value), Mode=TwoWay, BindBack=TerminalCoreColorBindBack}"
NullColorPreview="{x:Bind DefaultColorScheme.ForegroundColor.Color, Mode=OneWay}" /> NullColorPreview="{x:Bind DefaultColorScheme.ForegroundColor.Color, Mode=OneWay}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<!-- Example shortcut action to test this template: Set Tab Color --> <!-- Example shortcut action to test this template: Set Tab Color -->
<DataTemplate x:Key="WindowsUIColorOptionalTemplate" <DataTemplate x:Key="WindowsUIColorOptionalTemplate"
x:DataType="local:ArgWrapper"> x:DataType="local:ArgWrapper">
<ListViewItem> <Grid ColumnSpacing="8">
<Grid ColumnSpacing="8"> <Grid.ColumnDefinitions>
<Grid.ColumnDefinitions> <ColumnDefinition Width="{StaticResource ArgumentNameWidth}" />
<ColumnDefinition Width="{StaticResource ArgumentNameWidth}" /> <ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" /> </Grid.ColumnDefinitions>
</Grid.ColumnDefinitions> <TextBlock Grid.Column="0"
<TextBlock Grid.Column="0" VerticalAlignment="Center"
VerticalAlignment="Center" Text="{x:Bind Name}"
Text="{x:Bind Name}" TextWrapping="WrapWholeWords" />
TextWrapping="WrapWholeWords"/> <local:NullableColorPicker x:Uid="Actions_NullableColorPicker"
<local:NullableColorPicker x:Uid="Actions_NullableColorPicker" Grid.Column="1"
Grid.Column="1" AutomationProperties.Name="{x:Bind Name}"
ColorSchemeVM="{x:Bind DefaultColorScheme, Mode=OneWay}" ColorSchemeVM="{x:Bind DefaultColorScheme, Mode=OneWay}"
CurrentColor="{x:Bind UnboxWindowsUIColorOptional(Value), Mode=TwoWay, BindBack=WindowsUIColorBindBack}" CurrentColor="{x:Bind UnboxWindowsUIColorOptional(Value), Mode=TwoWay, BindBack=WindowsUIColorBindBack}"
NullColorPreview="{x:Bind DefaultColorScheme.ForegroundColor.Color, Mode=OneWay}" /> NullColorPreview="{x:Bind DefaultColorScheme.ForegroundColor.Color, Mode=OneWay}" />
</Grid> </Grid>
</ListViewItem>
</DataTemplate> </DataTemplate>
<local:ArgsTemplateSelectors x:Key="ArgsTemplateSelector" <local:ArgsTemplateSelectors x:Key="ArgsTemplateSelector"
@ -612,9 +599,9 @@
ColorSchemeTemplate="{StaticResource ColorSchemeTemplate}" ColorSchemeTemplate="{StaticResource ColorSchemeTemplate}"
EnumTemplate="{StaticResource EnumTemplate}" EnumTemplate="{StaticResource EnumTemplate}"
FilePickerTemplate="{StaticResource FilePickerTemplate}" FilePickerTemplate="{StaticResource FilePickerTemplate}"
FolderPickerTemplate="{StaticResource FolderPickerTemplate}"
FlagTemplate="{StaticResource FlagTemplate}" FlagTemplate="{StaticResource FlagTemplate}"
FloatTemplate="{StaticResource FloatTemplate}" FloatTemplate="{StaticResource FloatTemplate}"
FolderPickerTemplate="{StaticResource FolderPickerTemplate}"
Int32OptionalTemplate="{StaticResource Int32OptionalTemplate}" Int32OptionalTemplate="{StaticResource Int32OptionalTemplate}"
Int32Template="{StaticResource Int32Template}" Int32Template="{StaticResource Int32Template}"
StringTemplate="{StaticResource StringTemplate}" StringTemplate="{StaticResource StringTemplate}"