CmdPal: Limiting length of primary/secondary commands (#41396)

Closes #41365

Limits width of primary/secondary commands to 160 and trims with
ellipsis.
This commit is contained in:
Michael Jolley
2025-09-26 12:04:47 -05:00
committed by GitHub
parent 3bdb5305ba
commit 744415f20a
3 changed files with 22 additions and 4 deletions

View File

@@ -173,9 +173,13 @@
Visibility="{x:Bind ViewModel.HasPrimaryCommand, Mode=OneWay}"> Visibility="{x:Bind ViewModel.HasPrimaryCommand, Mode=OneWay}">
<StackPanel Orientation="Horizontal" Spacing="8"> <StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock <TextBlock
MaxWidth="160"
VerticalAlignment="Center" VerticalAlignment="Center"
MaxLines="1"
Style="{StaticResource CaptionTextBlockStyle}" Style="{StaticResource CaptionTextBlockStyle}"
Text="{x:Bind ViewModel.PrimaryCommand.Name, Mode=OneWay}" /> Text="{x:Bind ViewModel.PrimaryCommand.Name, Mode=OneWay}"
TextTrimming="CharacterEllipsis"
TextWrapping="NoWrap" />
<Border Style="{StaticResource HotkeyStyle}"> <Border Style="{StaticResource HotkeyStyle}">
<FontIcon Glyph="&#xE751;" Style="{StaticResource HotkeyFontIconStyle}" /> <FontIcon Glyph="&#xE751;" Style="{StaticResource HotkeyFontIconStyle}" />
</Border> </Border>
@@ -192,9 +196,13 @@
Visibility="{x:Bind ViewModel.HasSecondaryCommand, Mode=OneWay}"> Visibility="{x:Bind ViewModel.HasSecondaryCommand, Mode=OneWay}">
<StackPanel Orientation="Horizontal" Spacing="8"> <StackPanel Orientation="Horizontal" Spacing="8">
<TextBlock <TextBlock
MaxWidth="160"
VerticalAlignment="Center" VerticalAlignment="Center"
MaxLines="1"
Style="{StaticResource CaptionTextBlockStyle}" Style="{StaticResource CaptionTextBlockStyle}"
Text="{x:Bind ViewModel.SecondaryCommand.Name, Mode=OneWay}" /> Text="{x:Bind ViewModel.SecondaryCommand.Name, Mode=OneWay}"
TextTrimming="CharacterEllipsis"
TextWrapping="NoWrap" />
<StackPanel Orientation="Horizontal" Spacing="4"> <StackPanel Orientation="Horizontal" Spacing="4">
<Border Padding="4,2,4,2" Style="{StaticResource HotkeyStyle}"> <Border Padding="4,2,4,2" Style="{StaticResource HotkeyStyle}">
<TextBlock Style="{StaticResource HotkeyTextBlockStyle}" Text="Ctrl" /> <TextBlock Style="{StaticResource HotkeyTextBlockStyle}" Text="Ctrl" />
@@ -218,7 +226,9 @@
<TextBlock <TextBlock
VerticalAlignment="Center" VerticalAlignment="Center"
Style="{StaticResource CaptionTextBlockStyle}" Style="{StaticResource CaptionTextBlockStyle}"
Text="More" /> Text="More"
TextTrimming="WordEllipsis"
TextWrapping="NoWrap" />
<StackPanel Orientation="Horizontal" Spacing="4"> <StackPanel Orientation="Horizontal" Spacing="4">
<Border Padding="4,2,4,2" Style="{StaticResource HotkeyStyle}"> <Border Padding="4,2,4,2" Style="{StaticResource HotkeyStyle}">
<TextBlock Style="{StaticResource HotkeyTextBlockStyle}" Text="Ctrl" /> <TextBlock Style="{StaticResource HotkeyTextBlockStyle}" Text="Ctrl" />

View File

@@ -50,6 +50,7 @@
MaxWidth="200" MaxWidth="200"
HorizontalAlignment="Left" HorizontalAlignment="Left"
VerticalAlignment="Center" VerticalAlignment="Center"
MaxLines="1"
Text="{x:Bind Title}" Text="{x:Bind Title}"
TextTrimming="WordEllipsis" TextTrimming="WordEllipsis"
TextWrapping="NoWrap"> TextWrapping="NoWrap">
@@ -90,6 +91,7 @@
MaxWidth="200" MaxWidth="200"
HorizontalAlignment="Left" HorizontalAlignment="Left"
VerticalAlignment="Center" VerticalAlignment="Center"
MaxLines="1"
Style="{StaticResource ContextItemTitleTextBlockCriticalStyle}" Style="{StaticResource ContextItemTitleTextBlockCriticalStyle}"
Text="{x:Bind Title}" Text="{x:Bind Title}"
TextTrimming="WordEllipsis" TextTrimming="WordEllipsis"

View File

@@ -219,12 +219,18 @@ public partial class EvilSamplesPage : ListPage
} }
], ],
}, },
new ListItem(
new ToastCommand("Primary command invoked", MessageState.Info) { Name = "H W\r\nE O\r\nL R\r\nL L\r\nO D", Icon = new IconInfo("\uF146") })
{
Title = "noop third command test",
Icon = new IconInfo("\uE712"), // "More" dots
},
new ListItem(new EvilDuplicateRequestedShortcut()) new ListItem(new EvilDuplicateRequestedShortcut())
{ {
Title = "Evil keyboard shortcuts", Title = "Evil keyboard shortcuts",
Subtitle = "Two commands with the same shortcut and more...", Subtitle = "Two commands with the same shortcut and more...",
Icon = new IconInfo("\uE765"), Icon = new IconInfo("\uE765"),
} },
]; ];
public EvilSamplesPage() public EvilSamplesPage()