mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-12-24 20:57:19 -08:00
9e45a8a77d
It has several advantages: * reduce the memory costed by histories * higher performance while parsing commits * no need to calculate subject every time, which is invoked most frequently to render histories
88 lines
3.6 KiB
XML
88 lines
3.6 KiB
XML
<UserControl xmlns="https://github.com/avaloniaui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:m="using:SourceGit.Models"
|
|
xmlns:vm="using:SourceGit.ViewModels"
|
|
xmlns:v="using:SourceGit.Views"
|
|
xmlns:c="using:SourceGit.Converters"
|
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
|
x:Class="SourceGit.Views.CommitDetail"
|
|
x:DataType="vm:CommitDetail"
|
|
Background="{DynamicResource Brush.Window}">
|
|
<TabControl SelectedIndex="{Binding ActivePageIndex, Mode=TwoWay}" Padding="4">
|
|
<!-- Information Page -->
|
|
<TabItem>
|
|
<TabItem.Header>
|
|
<TextBlock Classes="tab_header" Text="{DynamicResource Text.CommitDetail.Info}"/>
|
|
</TabItem.Header>
|
|
|
|
<Grid RowDefinitions="Auto,1,*">
|
|
<!-- Base Information -->
|
|
<v:CommitBaseInfo Grid.Row="0" Content="{Binding Commit}" Message="{Binding FullMessage}"/>
|
|
|
|
<!-- Line -->
|
|
<Rectangle Grid.Row="1" Height=".65" Margin="8" Fill="{DynamicResource Brush.Border2}" VerticalAlignment="Center"/>
|
|
|
|
<!-- Change List -->
|
|
<DataGrid Grid.Row="2"
|
|
Background="Transparent"
|
|
ItemsSource="{Binding Changes}"
|
|
SelectionMode="Single"
|
|
CanUserReorderColumns="False"
|
|
CanUserResizeColumns="False"
|
|
CanUserSortColumns="False"
|
|
IsReadOnly="True"
|
|
HeadersVisibility="None"
|
|
Focusable="False"
|
|
RowHeight="26"
|
|
Margin="64,0,8,16"
|
|
HorizontalScrollBarVisibility="Disabled"
|
|
VerticalScrollBarVisibility="Auto"
|
|
ContextRequested="OnChangeListContextRequested"
|
|
DoubleTapped="OnChangeListDoubleTapped">
|
|
<DataGrid.Styles>
|
|
<Style Selector="DataGridRow">
|
|
<Setter Property="CornerRadius" Value="4"/>
|
|
</Style>
|
|
<Style Selector="DataGridRow /template/ Border#RowBorder">
|
|
<Setter Property="ClipToBounds" Value="True"/>
|
|
</Style>
|
|
</DataGrid.Styles>
|
|
|
|
<DataGrid.Columns>
|
|
<DataGridTemplateColumn Width="36" Header="ICON">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<v:ChangeStatusIcon Width="14" Height="14" HorizontalAlignment="Left" Margin="16,0,0,0" IsWorkingCopyChange="False" Change="{Binding}"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
|
|
<DataGridTemplateColumn Width="*" Header="PATH">
|
|
<DataGridTemplateColumn.CellTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Classes="monospace" Text="{Binding Path}" Margin="8,0,0,0"/>
|
|
</DataTemplate>
|
|
</DataGridTemplateColumn.CellTemplate>
|
|
</DataGridTemplateColumn>
|
|
</DataGrid.Columns>
|
|
</DataGrid>
|
|
</Grid>
|
|
</TabItem>
|
|
|
|
<TabItem>
|
|
<TabItem.Header>
|
|
<TextBlock Classes="tab_header" Text="{DynamicResource Text.CommitDetail.Changes}"/>
|
|
</TabItem.Header>
|
|
<v:CommitChanges/>
|
|
</TabItem>
|
|
|
|
<TabItem>
|
|
<TabItem.Header>
|
|
<TextBlock Classes="tab_header" Text="{DynamicResource Text.CommitDetail.Files}"/>
|
|
</TabItem.Header>
|
|
<v:RevisionFiles/>
|
|
</TabItem>
|
|
</TabControl>
|
|
</UserControl>
|