mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-06-15 07:35:04 +00:00
enhance: only show syntax-highlighting toggle if current revision content is a text file
Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
parent
f830b68f6a
commit
74f52fb266
3 changed files with 49 additions and 1 deletions
27
src/Converters/ObjectConverters.cs
Normal file
27
src/Converters/ObjectConverters.cs
Normal file
|
@ -0,0 +1,27 @@
|
|||
using System;
|
||||
using System.Globalization;
|
||||
using Avalonia.Data.Converters;
|
||||
|
||||
namespace SourceGit.Converters
|
||||
{
|
||||
public static class ObjectConverters
|
||||
{
|
||||
public class IsTypeOfConverter : IValueConverter
|
||||
{
|
||||
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
if (value == null || parameter == null)
|
||||
return false;
|
||||
|
||||
return value.GetType().IsAssignableTo((Type)parameter);
|
||||
}
|
||||
|
||||
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
|
||||
{
|
||||
return new NotImplementedException();
|
||||
}
|
||||
}
|
||||
|
||||
public static readonly IsTypeOfConverter IsTypeOf = new IsTypeOfConverter();
|
||||
}
|
||||
}
|
|
@ -139,7 +139,7 @@
|
|||
<Border Grid.Row="0"
|
||||
BorderThickness="0,0,0,1" BorderBrush="{DynamicResource Brush.Border2}"
|
||||
Background="{DynamicResource Brush.Window}">
|
||||
<Grid ColumnDefinitions="Auto,*">
|
||||
<Grid ColumnDefinitions="Auto,*,Auto">
|
||||
<Path Grid.Column="0" Width="12" Height="12" Data="{StaticResource Icons.File}" Margin="8,0,0,0"/>
|
||||
<TextBlock Grid.Column="1"
|
||||
Classes="primary"
|
||||
|
@ -147,6 +147,20 @@
|
|||
Text="{Binding Path}"
|
||||
FontSize="11"
|
||||
TextTrimming="CharacterEllipsis"/>
|
||||
<ToggleButton Grid.Column="2"
|
||||
Classes="line_path"
|
||||
Width="28"
|
||||
Background="Transparent"
|
||||
IsChecked="{Binding Source={x:Static vm:Preferences.Instance}, Path=UseSyntaxHighlighting, Mode=TwoWay}"
|
||||
ToolTip.Tip="{DynamicResource Text.Diff.SyntaxHighlight}">
|
||||
<ToggleButton.IsVisible>
|
||||
<Binding Path="Content"
|
||||
Mode="OneWay"
|
||||
Converter="{x:Static c:ObjectConverters.IsTypeOf}"
|
||||
ConverterParameter="{x:Type m:RevisionTextFile}"/>
|
||||
</ToggleButton.IsVisible>
|
||||
<Path Width="13" Height="13" Data="{StaticResource Icons.SyntaxHighlight}" Margin="0,3,0,0"/>
|
||||
</ToggleButton>
|
||||
</Grid>
|
||||
</Border>
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
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"
|
||||
|
@ -133,6 +134,12 @@
|
|||
Background="Transparent"
|
||||
IsChecked="{Binding Source={x:Static vm:Preferences.Instance}, Path=UseSyntaxHighlighting, Mode=TwoWay}"
|
||||
ToolTip.Tip="{DynamicResource Text.Diff.SyntaxHighlight}">
|
||||
<ToggleButton.IsVisible>
|
||||
<Binding Path="ViewRevisionFileContent"
|
||||
Mode="OneWay"
|
||||
Converter="{x:Static c:ObjectConverters.IsTypeOf}"
|
||||
ConverterParameter="{x:Type m:RevisionTextFile}"/>
|
||||
</ToggleButton.IsVisible>
|
||||
<Path Width="13" Height="13" Data="{StaticResource Icons.SyntaxHighlight}" Margin="0,3,0,0"/>
|
||||
</ToggleButton>
|
||||
</Grid>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue