feature: tooltip for submodule list item (#1307)

This commit is contained in:
leo 2025-05-14 11:35:34 +08:00
parent 55232aeddd
commit d71189c705
No known key found for this signature in database
6 changed files with 122 additions and 32 deletions

View file

@ -348,7 +348,56 @@
</ListBox.Styles>
<ListBox.ItemTemplate>
<DataTemplate DataType="m:Submodule">
<Grid ColumnDefinitions="Auto,*,8,8">
<Grid ColumnDefinitions="Auto,*,8,8" Background="Transparent">
<ToolTip.Tip>
<StackPanel Orientation="Vertical">
<StackPanel Orientation="Horizontal">
<Path Width="10" Height="10" Data="{StaticResource Icons.Submodule}"/>
<TextBlock FontWeight="Bold" Margin="4,0,0,0" Text="{Binding Path}"/>
</StackPanel>
<Grid RowDefinitions="24,24" ColumnDefinitions="Auto,Auto" Margin="0,8,0,0">
<TextBlock Grid.Row="0" Grid.Column="0" Classes="info_label" Text="{DynamicResource Text.CommitDetail.Info.SHA}" VerticalAlignment="Center"/>
<TextBlock Grid.Row="0" Grid.Column="1" Margin="8,0,0,0" Text="{Binding SHA}" VerticalAlignment="Center"/>
<TextBlock Grid.Row="1" Grid.Column="0" Classes="info_label" Text="{DynamicResource Text.Submodule.Status}" VerticalAlignment="Center"/>
<Path Grid.Row="1" Grid.Column="1"
Margin="8,0,0,0"
HorizontalAlignment="Left" VerticalAlignment="Center"
Width="12" Height="12"
Data="{StaticResource Icons.Check}"
Fill="Green"
IsVisible="{Binding Status, Converter={x:Static ObjectConverters.Equal}, ConverterParameter={x:Static m:SubmoduleStatus.Normal}}"/>
<Border Grid.Row="1" Grid.Column="1"
Height="16"
Margin="8,0,0,0" Padding="4,0"
HorizontalAlignment="Left" VerticalAlignment="Center"
Background="DarkOrange"
CornerRadius="4"
IsVisible="{Binding Status, Converter={x:Static ObjectConverters.NotEqual}, ConverterParameter={x:Static m:SubmoduleStatus.Normal}}">
<Grid>
<TextBlock VerticalAlignment="Center"
Text="{DynamicResource Text.Submodule.Status.NotInited}"
Foreground="White"
IsVisible="{Binding Status, Converter={x:Static ObjectConverters.Equal}, ConverterParameter={x:Static m:SubmoduleStatus.NotInited}}"/>
<TextBlock VerticalAlignment="Center"
Text="{DynamicResource Text.Submodule.Status.Modified}"
Foreground="White"
IsVisible="{Binding Status, Converter={x:Static ObjectConverters.Equal}, ConverterParameter={x:Static m:SubmoduleStatus.Modified}}"/>
<TextBlock VerticalAlignment="Center"
Text="{DynamicResource Text.Submodule.Status.RevisionChanged}"
Foreground="White"
IsVisible="{Binding Status, Converter={x:Static ObjectConverters.Equal}, ConverterParameter={x:Static m:SubmoduleStatus.RevisionChanged}}"/>
<TextBlock VerticalAlignment="Center"
Text="{DynamicResource Text.Submodule.Status.Unmerged}"
Foreground="White"
IsVisible="{Binding Status, Converter={x:Static ObjectConverters.Equal}, ConverterParameter={x:Static m:SubmoduleStatus.Unmerged}}"/>
</Grid>
</Border>
</Grid>
</StackPanel>
</ToolTip.Tip>
<Path Grid.Column="0" Width="10" Height="10" Margin="8,0" Data="{StaticResource Icons.Submodule}"/>
<TextBlock Grid.Column="1" Text="{Binding Path}" ClipToBounds="True" Classes="primary" TextTrimming="CharacterEllipsis"/>
<Path Grid.Column="2"
@ -406,7 +455,7 @@
</ListBox.Styles>
<ListBox.ItemTemplate>
<DataTemplate DataType="m:Worktree">
<Grid ColumnDefinitions="Auto,*,22">
<Grid ColumnDefinitions="Auto,*,22" Background="Transparent">
<Path Grid.Column="0" Width="10" Height="10" Margin="8,0,0,0" Data="{StaticResource Icons.Worktree}"/>
<TextBlock Grid.Column="1" Classes="primary" Margin="8,0,0,0" TextTrimming="CharacterEllipsis">
<Run Text="{Binding Name}"/>