code_review: code review for PR #33

* use PNG instead of SVG for external tool icons and remove dependency `Avalonia.SVG`
* remove unused property `IsVSCodeFound` and `IsFleetFound`
* find VS from registry first
* remove compile warning CA1416
* remove unused enum `OS.Platforms`
This commit is contained in:
leo 2024-03-28 17:42:13 +08:00
parent 370b9bd31e
commit 4659fbd901
10 changed files with 85 additions and 162 deletions

View file

@ -18,33 +18,33 @@
<Path Width="15" Height="13" Data="{StaticResource Icons.Folder.Open}"/>
</Button>
<Button Classes="icon_button" Width="32" Command="{Binding OpenInTerminal}" ToolTip.Tip="{DynamicResource Text.Repository.Terminal}">
<Path Width="13" Height="13" Data="{StaticResource Icons.Terminal}"/>
<Path Width="13" Height="13" Data="{StaticResource Icons.Terminal}"/>
</Button>
<Button Classes="icon_button" Width="32" ToolTip.Tip="{DynamicResource Text.Repository.OpenWith}">
<Path Width="13" Height="13" Data="{StaticResource Icons.OpenWith}"/>
<Button.Flyout>
<MenuFlyout Placement="BottomEdgeAlignedLeft" VerticalOffset="-8">
<MenuItem Header="{DynamicResource Text.Repository.Fleet}" Click="OpenInFleet">
<MenuItem.Icon>
<Svg Path="/Resources/ExternalToolIcons/fleet_icon.svg" Width="13" Height="13" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="{DynamicResource Text.Repository.VSCode}" Click="OpenInVSCode">
<MenuItem.Icon>
<Svg Path="/Resources/ExternalToolIcons/vscode_icon.svg" Width="13" Height="13" />
</MenuItem.Icon>
</MenuItem>
<Path Width="13" Height="13" Data="{StaticResource Icons.OpenWith}"/>
<Button.Flyout>
<MenuFlyout Placement="BottomEdgeAlignedLeft" VerticalOffset="-8">
<MenuItem Header="{DynamicResource Text.Repository.Fleet}" Command="{Binding OpenInFleet}">
<MenuItem.Icon>
<Image Source="/Resources/ExternalToolIcons/fleet.png" Width="13" Height="13" />
</MenuItem.Icon>
</MenuItem>
<MenuItem Header="{DynamicResource Text.Repository.VSCode}" Command="{Binding OpenInVSCode}">
<MenuItem.Icon>
<Image Source="/Resources/ExternalToolIcons/vscode.png" Width="13" Height="13" />
</MenuItem.Icon>
</MenuItem>
</MenuFlyout>
</Button.Flyout>
</Button>
<ToggleButton Width="32"
Background="Transparent"
IsChecked="{Binding IsSearching, Mode=TwoWay}"
ToolTip.Tip="{DynamicResource Text.Repository.Search}">
<Path Width="14" Height="14" Data="{StaticResource Icons.Search}"/>
</ToggleButton>
</Button.Flyout>
</Button>
<ToggleButton Width="32"
Background="Transparent"
IsChecked="{Binding IsSearching, Mode=TwoWay}"
ToolTip.Tip="{DynamicResource Text.Repository.Search}">
<Path Width="14" Height="14" Data="{StaticResource Icons.Search}"/>
</ToggleButton>
</StackPanel>
<StackPanel Grid.Column="1" Orientation="Horizontal">
@ -83,7 +83,7 @@
</StackPanel>
<StackPanel Grid.Column="2" Orientation="Horizontal" HorizontalAlignment="Right" Margin="0,0,4,0">
<ToggleButton Classes="layout_direction"
<ToggleButton Classes="layout_direction"
Width="32" Height="26"
IsChecked="{Binding Source={x:Static vm:Preference.Instance}, Path=UseTwoColumnsLayoutInHistories, Mode=TwoWay}"
IsVisible="{Binding SelectedViewIndex, Converter={x:Static c:IntConverters.IsZero}}"
@ -198,12 +198,12 @@
<TextBlock Classes="monospace" FontSize="10" HorizontalAlignment="Center" Margin="9,0" Text="{Binding UpstreamTrackStatus}"/>
</Border>
<ToggleButton Grid.Column="3"
Classes="filter"
Margin="0,0,8,0"
Background="Transparent"
IsVisible="{Binding IsBranch}"
Checked="OnToggleFilter"
<ToggleButton Grid.Column="3"
Classes="filter"
Margin="0,0,8,0"
Background="Transparent"
IsVisible="{Binding IsBranch}"
Checked="OnToggleFilter"
Unchecked="OnToggleFilter"
IsChecked="{Binding IsFiltered}"/>
</Grid>
@ -230,22 +230,22 @@
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}"/>
</Style>
</TreeView.Styles>
<TreeView.ItemTemplate>
<TreeDataTemplate ItemsSource="{Binding Children}" x:DataType="{x:Type m:BranchTreeNode}">
<Grid Height="24" ColumnDefinitions="Auto,*,Auto" Background="Transparent" ContextRequested="OnRemoteBranchContextMenuRequested">
<Path Grid.Column="0" Classes="folder_icon" Width="10" Height="10" Margin="0,2,0,0" IsVisible="{Binding IsFolder}" VerticalAlignment="Center"/>
<Path Grid.Column="0" Width="10" Height="10" Margin="0,4,0,0" Data="{StaticResource Icons.Remote}" IsVisible="{Binding IsRemote}" VerticalAlignment="Center"/>
<Path Grid.Column="0" Width="10" Height="10" Data="{StaticResource Icons.Branch}" IsVisible="{Binding IsBranch}" VerticalAlignment="Center"/>
<TextBlock Grid.Column="1" Text="{Binding Name}" Classes="monospace" Margin="8,0,4,0"/>
<ToggleButton Grid.Column="2"
Classes="filter"
Margin="0,0,8,0"
Background="Transparent"
Checked="OnToggleFilter"
Unchecked="OnToggleFilter"
<ToggleButton Grid.Column="2"
Classes="filter"
Margin="0,0,8,0"
Background="Transparent"
Checked="OnToggleFilter"
Unchecked="OnToggleFilter"
IsVisible="{Binding IsBranch}"
IsChecked="{Binding IsFiltered}"/>
</Grid>
@ -301,10 +301,10 @@
<DataGridTemplateColumn Header="FILTER">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate x:DataType="{x:Type m:Tag}">
<ToggleButton Classes="filter"
Margin="0,0,8,0"
Background="Transparent"
Checked="OnToggleFilter"
<ToggleButton Classes="filter"
Margin="0,0,8,0"
Background="Transparent"
Checked="OnToggleFilter"
Unchecked="OnToggleFilter"
IsChecked="{Binding IsFiltered}"/>
</DataTemplate>
@ -318,10 +318,10 @@
<Grid ColumnDefinitions="Auto,*,Auto,Auto">
<TextBlock Grid.Column="0" Classes="group_header_label" Margin="4,0,0,0" Text="{DynamicResource Text.Repository.Submodules}"/>
<TextBlock Grid.Column="1" Text="{Binding Submodules, Converter={x:Static c:ListConverters.ToCount}}" Foreground="{DynamicResource Brush.FG2}" FontWeight="Bold"/>
<Button Grid.Column="2"
Classes="icon_button"
Width="14"
Margin="8,0"
<Button Grid.Column="2"
Classes="icon_button"
Width="14"
Margin="8,0"
Click="UpdateSubmodules"
IsVisible="{Binding Submodules, Converter={x:Static c:ListConverters.IsNotNullOrEmpty}}"
ToolTip.Tip="{DynamicResource Text.Repository.Submodules.Update}">
@ -371,7 +371,7 @@
<!-- Left Search Mode -->
<Grid Grid.Column="0" RowDefinitions="32,*" IsVisible="{Binding IsSearching}" PropertyChanged="OnSearchCommitPanelPropertyChanged">
<!-- Search -->
<TextBox Grid.Row="0"
<TextBox Grid.Row="0"
x:Name="txtSearchCommitsBox"
Margin="4,2"
Height="24"
@ -445,7 +445,7 @@
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
<Path Grid.Row="1"
HorizontalAlignment="Center" VerticalAlignment="Center"
Width="48" Height="48"