mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-12-27 21:27:19 -08:00
814529a690
Signed-off-by: leo <longshuang@msn.cn>
125 lines
8.9 KiB
XML
125 lines
8.9 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"
|
|
mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
|
|
x:Class="SourceGit.Views.TextDiffView"
|
|
x:Name="ThisControl"
|
|
Background="{DynamicResource Brush.Contents}">
|
|
<Grid>
|
|
<ContentControl x:Name="Editor">
|
|
<ContentControl.DataTemplates>
|
|
<DataTemplate DataType="m:TextDiff">
|
|
<Grid ColumnDefinitions="*,1,8">
|
|
<v:CombinedTextDiffPresenter Grid.Column="0"
|
|
x:Name="CombinedPresenter"
|
|
FileName="{Binding File}"
|
|
Foreground="{DynamicResource Brush.FG1}"
|
|
LineBrush="{DynamicResource Brush.Border2}"
|
|
EmptyContentBackground="{DynamicResource Brush.Diff.EmptyBG}"
|
|
AddedContentBackground="{DynamicResource Brush.Diff.AddedBG}"
|
|
DeletedContentBackground="{DynamicResource Brush.Diff.DeletedBG}"
|
|
AddedHighlightBrush="{DynamicResource Brush.Diff.AddedHighlight}"
|
|
DeletedHighlightBrush="{DynamicResource Brush.Diff.DeletedHighlight}"
|
|
IndicatorForeground="{DynamicResource Brush.FG2}"
|
|
FontFamily="{DynamicResource Fonts.Monospace}"
|
|
FontSize="{Binding Source={x:Static vm:Preference.Instance}, Path=EditorFontSize}"
|
|
UseSyntaxHighlighting="{Binding Source={x:Static vm:Preference.Instance}, Path=UseSyntaxHighlighting}"
|
|
WordWrap="{Binding Source={x:Static vm:Preference.Instance}, Path=EnableDiffViewWordWrap}"
|
|
ShowHiddenSymbols="{Binding Source={x:Static vm:Preference.Instance}, Path=ShowHiddenSymbolsInDiffView}"
|
|
EnableChunkSelection="{Binding #ThisControl.EnableChunkSelection}"
|
|
SelectedChunk="{Binding #ThisControl.SelectedChunk, Mode=TwoWay}"/>
|
|
|
|
<Rectangle Grid.Column="1" Fill="{DynamicResource Brush.Border2}" Width="1" HorizontalAlignment="Center" VerticalAlignment="Stretch"/>
|
|
|
|
<v:TextDiffViewMinimap Grid.Column="2"
|
|
DisplayRange="{Binding #CombinedPresenter.DisplayRange}"
|
|
AddedLineBrush="{DynamicResource Brush.Diff.AddedBG}"
|
|
DeletedLineBrush="{DynamicResource Brush.Diff.DeletedBG}"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
|
|
<DataTemplate DataType="vm:TwoSideTextDiff">
|
|
<Grid ColumnDefinitions="*,1,*,1,12">
|
|
<v:SingleSideTextDiffPresenter Grid.Column="0"
|
|
x:Name="LeftSidePresenter"
|
|
IsOld="True"
|
|
FileName="{Binding File}"
|
|
Foreground="{DynamicResource Brush.FG1}"
|
|
LineBrush="{DynamicResource Brush.Border2}"
|
|
EmptyContentBackground="{DynamicResource Brush.Diff.EmptyBG}"
|
|
AddedContentBackground="{DynamicResource Brush.Diff.AddedBG}"
|
|
DeletedContentBackground="{DynamicResource Brush.Diff.DeletedBG}"
|
|
AddedHighlightBrush="{DynamicResource Brush.Diff.AddedHighlight}"
|
|
DeletedHighlightBrush="{DynamicResource Brush.Diff.DeletedHighlight}"
|
|
IndicatorForeground="{DynamicResource Brush.FG2}"
|
|
FontFamily="{DynamicResource Fonts.Monospace}"
|
|
FontSize="{Binding Source={x:Static vm:Preference.Instance}, Path=EditorFontSize}"
|
|
UseSyntaxHighlighting="{Binding Source={x:Static vm:Preference.Instance}, Path=UseSyntaxHighlighting}"
|
|
WordWrap="False"
|
|
ShowHiddenSymbols="{Binding Source={x:Static vm:Preference.Instance}, Path=ShowHiddenSymbolsInDiffView}"
|
|
EnableChunkSelection="{Binding #ThisControl.EnableChunkSelection}"
|
|
SelectedChunk="{Binding #ThisControl.SelectedChunk, Mode=TwoWay}"/>
|
|
|
|
<Rectangle Grid.Column="1" Fill="{DynamicResource Brush.Border2}" Width="1" HorizontalAlignment="Center" VerticalAlignment="Stretch"/>
|
|
|
|
<v:SingleSideTextDiffPresenter Grid.Column="2"
|
|
IsOld="False"
|
|
FileName="{Binding File}"
|
|
Foreground="{DynamicResource Brush.FG1}"
|
|
LineBrush="{DynamicResource Brush.Border2}"
|
|
EmptyContentBackground="{DynamicResource Brush.Diff.EmptyBG}"
|
|
AddedContentBackground="{DynamicResource Brush.Diff.AddedBG}"
|
|
DeletedContentBackground="{DynamicResource Brush.Diff.DeletedBG}"
|
|
AddedHighlightBrush="{DynamicResource Brush.Diff.AddedHighlight}"
|
|
DeletedHighlightBrush="{DynamicResource Brush.Diff.DeletedHighlight}"
|
|
IndicatorForeground="{DynamicResource Brush.FG2}"
|
|
FontFamily="{DynamicResource Fonts.Monospace}"
|
|
FontSize="{Binding Source={x:Static vm:Preference.Instance}, Path=EditorFontSize}"
|
|
UseSyntaxHighlighting="{Binding Source={x:Static vm:Preference.Instance}, Path=UseSyntaxHighlighting}"
|
|
WordWrap="False"
|
|
ShowHiddenSymbols="{Binding Source={x:Static vm:Preference.Instance}, Path=ShowHiddenSymbolsInDiffView}"
|
|
EnableChunkSelection="{Binding #ThisControl.EnableChunkSelection}"
|
|
SelectedChunk="{Binding #ThisControl.SelectedChunk, Mode=TwoWay}"/>
|
|
|
|
<Rectangle Grid.Column="3" Fill="{DynamicResource Brush.Border2}" Width="1" HorizontalAlignment="Center" VerticalAlignment="Stretch"/>
|
|
|
|
<v:TextDiffViewMinimap Grid.Column="4"
|
|
DisplayRange="{Binding #LeftSidePresenter.DisplayRange}"
|
|
AddedLineBrush="{DynamicResource Brush.Diff.AddedBG}"
|
|
DeletedLineBrush="{DynamicResource Brush.Diff.DeletedBG}"/>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ContentControl.DataTemplates>
|
|
</ContentControl>
|
|
|
|
<StackPanel x:Name="Popup" IsVisible="False" Orientation="Horizontal" VerticalAlignment="Top" HorizontalAlignment="Right" Effect="drop-shadow(0 0 8 #80000000)">
|
|
<Button Classes="flat" Click="OnStageChunk" HotKey="{OnPlatform Ctrl+S, macOS=⌘+S}" IsVisible="{Binding #ThisControl.IsUnstagedChange}">
|
|
<TextBlock>
|
|
<Run Text="{DynamicResource Text.Hunk.Stage}"/>
|
|
<Run Text=" "/>
|
|
<Run Foreground="{DynamicResource Brush.FG2}" FontWeight="Normal" Text="{OnPlatform Ctrl+S, macOS=⌘+S}"/>
|
|
</TextBlock>
|
|
</Button>
|
|
|
|
<Button Classes="flat" Click="OnUnstageChunk" HotKey="{OnPlatform Ctrl+U, macOS=⌘+U}" IsVisible="{Binding #ThisControl.IsUnstagedChange, Converter={x:Static BoolConverters.Not}}">
|
|
<TextBlock>
|
|
<Run Text="{DynamicResource Text.Hunk.Unstage}"/>
|
|
<Run Text=" "/>
|
|
<Run Foreground="{DynamicResource Brush.FG2}" FontWeight="Normal" Text="{OnPlatform Ctrl+U, macOS=⌘+U}"/>
|
|
</TextBlock>
|
|
</Button>
|
|
|
|
<Button Classes="flat" Margin="8,0,0,0" HotKey="{OnPlatform Ctrl+D, macOS=⌘+D}" Click="OnDiscardChunk" IsVisible="{Binding #ThisControl.IsUnstagedChange}">
|
|
<TextBlock>
|
|
<Run Text="{DynamicResource Text.Hunk.Discard}"/>
|
|
<Run Text=" "/>
|
|
<Run Foreground="{DynamicResource Brush.FG2}" FontWeight="Normal" Text="{OnPlatform Ctrl+D, macOS=⌘+D}"/>
|
|
</TextBlock>
|
|
</Button>
|
|
</StackPanel>
|
|
</Grid>
|
|
</UserControl>
|