<v:ChromelessWindow 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:sys="clr-namespace:System;assembly=mscorlib"
                    xmlns:m="using:SourceGit.Models"
                    xmlns:c="using:SourceGit.Converters"
                    xmlns:vm="using:SourceGit.ViewModels"
                    xmlns:v="using:SourceGit.Views"
                    mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="450"
                    x:Class="SourceGit.Views.Preference"
                    x:DataType="vm:Preference"
                    x:Name="ThisControl"
                    Icon="/App.ico"
                    Title="{DynamicResource Text.Preference}"
                    Width="600" SizeToContent="Height"
                    CanResize="False"
                    WindowStartupLocation="CenterScreen">
  <Grid RowDefinitions="Auto,Auto">
    <!-- TitleBar -->
    <Grid Grid.Row="0" ColumnDefinitions="Auto,*,Auto" Height="30">
      <Border Grid.Column="0" Grid.ColumnSpan="3"
              Background="{DynamicResource Brush.TitleBar}"
              BorderThickness="0,0,0,1" BorderBrush="{DynamicResource Brush.Border0}"
              PointerPressed="BeginMoveWindow"/>

      <Path Grid.Column="0"
            Width="14" Height="14"
            Data="{StaticResource Icons.Settings}"
            Margin="10,0,0,0"
            IsVisible="{OnPlatform True, macOS=False}"/>

      <Grid Grid.Column="0" Classes="caption_button_box" Margin="2,4,0,0" IsVisible="{OnPlatform False, macOS=True}">
        <Button Classes="caption_button_macos" Click="CloseWindow">
          <Grid>
            <Ellipse Fill="{DynamicResource Brush.MacOS.Close}"/>
            <Path Height="6" Width="6" Stretch="Fill" Fill="#505050" Data="{StaticResource Icons.MacOS.Close}"/>
          </Grid>
        </Button>
      </Grid>

      <TextBlock Grid.Column="0" Grid.ColumnSpan="3"
                 Classes="bold"
                 Text="{DynamicResource Text.Preference}"
                 HorizontalAlignment="Center" VerticalAlignment="Center"
                 IsHitTestVisible="False"/>

      <Button Grid.Column="2" Classes="caption_button" Click="CloseWindow" IsVisible="{OnPlatform True, macOS=False}">
        <Path Data="{StaticResource Icons.Window.Close}"/>
      </Button>
    </Grid>

    <!-- Body -->
    <Border Grid.Row="1">
      <TabControl>
        <TabItem>
          <TabItem.Header>
            <TextBlock Classes="tab_header" Text="{DynamicResource Text.Preference.General}"/>
          </TabItem.Header>
          <Grid Margin="8" RowDefinitions="32,32,32,32,32,32,32,32" ColumnDefinitions="Auto,*">
            <TextBlock Grid.Row="0" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.General.Locale}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <ComboBox Grid.Row="0" Grid.Column="1"
                      MinHeight="28"
                      Padding="8,0"
                      HorizontalAlignment="Stretch"
                      ItemsSource="{Binding Source={x:Static m:Locale.Supported}}"
                      DisplayMemberBinding="{Binding Name, x:DataType=m:Locale}"
                      SelectedItem="{Binding Locale, Mode=TwoWay, Converter={x:Static c:StringConverters.ToLocale}}"/>

            <TextBlock Grid.Row="1" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.General.AvatarServer}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <ComboBox Grid.Row="1" Grid.Column="1"
                      MinHeight="28"
                      Padding="8,0"
                      HorizontalAlignment="Stretch"
                      SelectedItem="{Binding AvatarServer, Mode=TwoWay}">
              <ComboBox.Items>
                <sys:String>https://www.gravatar.com/avatar/</sys:String>
                <sys:String>https://cravatar.cn/avatar/</sys:String>
              </ComboBox.Items>
            </ComboBox>

            <TextBlock Grid.Row="2" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.General.VisibleDiffContextLines}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <NumericUpDown Grid.Row="2" Grid.Column="1"
                           Minimum="4" Maximum="10000" Increment="1"
                           Height="28"
                           Padding="4"
                           ShowButtonSpinner="False"
                           BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}"
                           CornerRadius="3"
                           Value="{Binding DiffViewVisualLineNumbers, Mode=TwoWay}"/>

            <TextBlock Grid.Row="3" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.General.SubjectGuideLength}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <NumericUpDown Grid.Row="3" Grid.Column="1"
                           Minimum="50" Maximum="1000" Increment="1"
                           Height="28"
                           Padding="4"
                           ShowButtonSpinner="False"
                           BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}"
                           CornerRadius="3"
                           Value="{Binding SubjectGuideLength, Mode=TwoWay}"/>

            <TextBlock Grid.Row="4" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.General.MaxHistoryCommits}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <Grid Grid.Row="4" Grid.Column="1" ColumnDefinitions="*,64">
              <Slider Grid.Column="0"
                      Minimum="20000" Maximum="100000"
                      TickPlacement="BottomRight" TickFrequency="5000"
                      IsSnapToTickEnabled="True"
                      VerticalAlignment="Center"
                      Foreground="{DynamicResource Brush.Border1}"
                      Value="{Binding MaxHistoryCommits, Mode=TwoWay}"/>

              <TextBlock Grid.Column="1"
                         HorizontalAlignment="Right" VerticalAlignment="Center"
                         Foreground="{DynamicResource Brush.FG1}"
                         Text="{Binding MaxHistoryCommits}"/>
            </Grid>

            <CheckBox Grid.Row="5" Grid.Column="1"
                      Content="{DynamicResource Text.Preference.General.RestoreTabs}"
                      IsChecked="{Binding RestoreTabs, Mode=TwoWay}"/>

            <CheckBox Grid.Row="6" Grid.Column="1"
                      Height="32"
                      Content="{DynamicResource Text.Preference.General.UseFixedTabWidth}"
                      IsChecked="{Binding Source={x:Static vm:Preference.Instance}, Path=UseFixedTabWidth, Mode=TwoWay}"/>

            <CheckBox Grid.Row="7" Grid.Column="1"
                      Height="32"
                      Content="{DynamicResource Text.Preference.General.Check4UpdatesOnStartup}"
                      IsChecked="{Binding Source={x:Static vm:Preference.Instance}, Path=Check4UpdatesOnStartup, Mode=TwoWay}"/>
          </Grid>
        </TabItem>

        <TabItem>
          <TabItem.Header>
            <TextBlock Classes="tab_header" Text="{DynamicResource Text.Preference.Appearance}"/>
          </TabItem.Header>
          <Grid Margin="8" RowDefinitions="32,32,32,32,32" ColumnDefinitions="Auto,*">
            <TextBlock Grid.Row="0" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Appearance.Theme}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <ComboBox Grid.Row="0" Grid.Column="1"
                      MinHeight="28"
                      Padding="8,0"
                      HorizontalAlignment="Stretch"
                      DisplayMemberBinding="{Binding Key, x:DataType=ThemeVariant}"
                      SelectedItem="{Binding Theme, Mode=TwoWay, Converter={x:Static c:StringConverters.ToTheme}}">
              <ComboBox.Items>
                <ThemeVariant>Default</ThemeVariant>
                <ThemeVariant>Dark</ThemeVariant>
                <ThemeVariant>Light</ThemeVariant>
              </ComboBox.Items>
            </ComboBox>

            <TextBlock Grid.Row="1" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Appearance.DefaultFont}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <ComboBox Grid.Row="1" Grid.Column="1"
                      MinHeight="28"
                      Padding="8,0"
                      HorizontalAlignment="Stretch"
                      ItemsSource="{Binding #ThisControl.InstalledFonts}"
                      SelectedItem="{Binding DefaultFont, Mode=TwoWay}">
              <ComboBox.ItemTemplate>
                <DataTemplate DataType="FontFamily">
                  <Border Height="24">
                    <TextBlock VerticalAlignment="Center" Text="{Binding Name}" FontFamily="{Binding}"/>
                  </Border>
                </DataTemplate>
              </ComboBox.ItemTemplate>
            </ComboBox>

            <TextBlock Grid.Row="2" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Appearance.MonospaceFont}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <ComboBox Grid.Row="2" Grid.Column="1"
                      MinHeight="28"
                      Padding="8,0"
                      HorizontalAlignment="Stretch"
                      ItemsSource="{Binding #ThisControl.InstalledMonospaceFonts}"
                      SelectedItem="{Binding MonospaceFont, Mode=TwoWay}">
              <ComboBox.ItemTemplate>
                <DataTemplate DataType="FontFamily">
                  <Border Height="24">
                    <TextBlock VerticalAlignment="Center" Text="{Binding Name}" FontFamily="{Binding}"/>
                  </Border>
                </DataTemplate>
              </ComboBox.ItemTemplate>
            </ComboBox>

            <TextBlock Grid.Row="3" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Appearance.DefaultFontSize}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <NumericUpDown Grid.Row="3" Grid.Column="1"
                           Minimum="10" Maximum="16" Increment="0.5"
                           Height="28"
                           Padding="4"
                           BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}"
                           CornerRadius="3"
                           Value="{Binding DefaultFontSize, Mode=TwoWay}"/>

            <TextBlock Grid.Row="4" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Appearance.ThemeOverrides}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <TextBox Grid.Row="4" Grid.Column="1"
                     Height="28"
                     CornerRadius="3"
                     Text="{Binding ThemeOverrides, Mode=TwoWay}">
              <TextBox.InnerRightContent>
                <Button Classes="icon_button" Width="30" Height="30" Click="SelectThemeOverrideFile">
                  <Path Data="{StaticResource Icons.Folder.Open}" Fill="{DynamicResource Brush.FG1}"/>
                </Button>
              </TextBox.InnerRightContent>
            </TextBox>
          </Grid>
        </TabItem>

        <TabItem>
          <TabItem.Header>
            <TextBlock Classes="tab_header" Text="{DynamicResource Text.Preference.Git}"/>
          </TabItem.Header>

          <Grid Margin="8" RowDefinitions="32,32,Auto,32,32,32,32,32,Auto" ColumnDefinitions="Auto,*">
            <TextBlock Grid.Row="0" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Git.Path}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <TextBox Grid.Row="0" Grid.Column="1"
                     Height="28"
                     CornerRadius="3"
                     Text="{Binding GitInstallPath, Mode=TwoWay}">
              <TextBox.InnerRightContent>
                <Button Classes="icon_button" Width="30" Height="30" Click="SelectGitExecutable">
                  <Path Data="{StaticResource Icons.Folder.Open}" Fill="{DynamicResource Brush.FG1}"/>
                </Button>
              </TextBox.InnerRightContent>
            </TextBox>

            <TextBlock Grid.Row="1" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Git.Version}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <StackPanel Grid.Row="1" Grid.Column="1" Orientation="Horizontal">
              <TextBlock Classes="monospace" 
                         Margin="0,0,8,0"
                         Text="{Binding #ThisControl.GitVersion}" 
                         IsVisible="{Binding #ThisControl.GitVersion, Converter={x:Static StringConverters.IsNotNullOrEmpty}}"/>

              <Border Background="Transparent"
                      ToolTip.Tip="{DynamicResource Text.Preference.Git.Invalid}"
                      IsVisible="{Binding #ThisControl.GitVersion, Converter={x:Static c:StringConverters.UnderRecommendGitVersion}}">
                <Path Width="14" Height="14" Data="{StaticResource Icons.Error}" Fill="Red"/>
              </Border>
            </StackPanel>

            <Border Grid.Row="2" Grid.Column="0"
                    Height="32"
                    IsVisible="{OnPlatform False, Windows=True}">
              <TextBlock Text="{DynamicResource Text.Preference.Git.Shell}"
                         HorizontalAlignment="Right"
                         Margin="0,0,16,0"/>
            </Border>
            <ComboBox Grid.Row="2" Grid.Column="1"
                      MinHeight="28"
                      Padding="8,0"
                      HorizontalAlignment="Stretch"
                      HorizontalContentAlignment="Left"
                      RenderOptions.BitmapInterpolationMode="HighQuality"
                      FontSize="{Binding DefaultFontSize, Mode=OneWay}"
                      SelectedIndex="{Binding GitShell, Mode=TwoWay}"
                      IsVisible="{OnPlatform False, Windows=True}">
              <ComboBox.Items>
                <Grid ColumnDefinitions="Auto,*">
                  <Image Grid.Column="0" Width="16" Height="16" Source="/Resources/ShellIcons/git-bash.png" RenderOptions.BitmapInterpolationMode="HighQuality"/>
                  <TextBlock Grid.Column="1" Text="Git Bash" Margin="6,0,0,0"/>
                </Grid>
                
                <Grid ColumnDefinitions="Auto,*">
                  <Image Grid.Column="0" Width="16" Height="16" Source="/Resources/ShellIcons/pwsh.png" RenderOptions.BitmapInterpolationMode="HighQuality"/>
                  <TextBlock Grid.Column="1" Text="PowerShell" Margin="6,0,0,0"/>
                </Grid>

                <Grid ColumnDefinitions="Auto,*">
                  <Image Grid.Column="0" Width="16" Height="16" Source="/Resources/ShellIcons/cmd.png" RenderOptions.BitmapInterpolationMode="HighQuality"/>
                  <TextBlock Grid.Column="1" Text="Command Prompt" Margin="6,0,0,0"/>
                </Grid>

                <Grid ColumnDefinitions="Auto,*">
                  <Image Grid.Column="0" Width="16" Height="16" Source="/Resources/ShellIcons/wt.png" RenderOptions.BitmapInterpolationMode="HighQuality"/>
                  <TextBlock Grid.Column="1" Text="Default Shell in Windows Terminal" Margin="6,0,0,0"/>
                </Grid>
              </ComboBox.Items>
            </ComboBox>

            <TextBlock Grid.Row="3" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Git.DefaultCloneDir}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <TextBox Grid.Row="3" Grid.Column="1"
                     Height="28"
                     CornerRadius="3"
                     Text="{Binding GitDefaultCloneDir, Mode=TwoWay}">
              <TextBox.InnerRightContent>
                <Button Classes="icon_button" Width="30" Height="30" Click="SelectDefaultCloneDir">
                  <Path Data="{StaticResource Icons.Folder.Open}" Fill="{DynamicResource Brush.FG1}"/>
                </Button>
              </TextBox.InnerRightContent>
            </TextBox>

            <TextBlock Grid.Row="4" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Git.User}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <TextBox Grid.Row="4" Grid.Column="1"
                     Height="28"
                     CornerRadius="3"
                     Text="{Binding #ThisControl.DefaultUser, Mode=TwoWay}"
                     Watermark="{DynamicResource Text.Preference.Git.User.Placeholder}"/>

            <TextBlock Grid.Row="5" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Git.Email}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <TextBox Grid.Row="5" Grid.Column="1"
                     Height="28"
                     CornerRadius="3"
                     Text="{Binding #ThisControl.DefaultEmail, Mode=TwoWay}"
                     Watermark="{DynamicResource Text.Preference.Git.Email.Placeholder}"/>

            <TextBlock Grid.Row="6" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.Git.CRLF}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <ComboBox Grid.Row="6" Grid.Column="1"
                      MinHeight="28"
                      Padding="8,0"
                      HorizontalAlignment="Stretch"
                      ItemsSource="{Binding Source={x:Static m:CRLFMode.Supported}}"
                      SelectedItem="{Binding #ThisControl.CRLFMode, Mode=TwoWay}">
              <ComboBox.ItemTemplate>
                <DataTemplate x:DataType="{x:Type m:CRLFMode}">
                  <Grid ColumnDefinitions="64,*">
                    <TextBlock Grid.Column="0" Text="{Binding Name}"/>
                    <TextBlock Grid.Column="1" Text="{Binding Desc}" Foreground="{DynamicResource Brush.FG2}" HorizontalAlignment="Right"/>
                  </Grid>
                </DataTemplate>
              </ComboBox.ItemTemplate>
            </ComboBox>

            <CheckBox Grid.Row="7" Grid.Column="1"
                      Content="{DynamicResource Text.Preference.Git.AutoFetch}"
                      IsChecked="{Binding GitAutoFetch, Mode=TwoWay}"/>

            <TextBlock Grid.Row="8" Grid.Column="0"
                       IsVisible="{Binding GitAutoFetch}"
                       Text="{DynamicResource Text.Preference.Git.AutoFetchInterval}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <Grid Grid.Row="8" Grid.Column="1" Height="32" ColumnDefinitions="*,Auto" IsVisible="{Binding GitAutoFetch}">
              <NumericUpDown Grid.Column="0"
                             Minimum="1" Maximum="60" Increment="1"
                             Height="28"
                             Padding="4"
                             BorderThickness="1" BorderBrush="{DynamicResource Brush.Border1}"
                             CornerRadius="3"
                             ParsingNumberStyle="Integer"
                             FormatString="0"
                             Value="{Binding GitAutoFetchInterval, Mode=TwoWay, FallbackValue=10}"/>
              
              <TextBlock Grid.Column="1"
                         VerticalAlignment="Center"
                         Margin="5,0,0,0"
                         Text="{DynamicResource Text.Preference.Git.AutoFetchIntervalSuffix}" />
            </Grid>
          </Grid>
        </TabItem>

        <TabItem>
          <TabItem.Header>
            <TextBlock Classes="tab_header" Text="{DynamicResource Text.Preference.GPG}"/>
          </TabItem.Header>

          <Grid Margin="8" RowDefinitions="32,Auto,32,32,32" ColumnDefinitions="Auto,*">
            <TextBlock Grid.Row="0" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.GPG.Format}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <ComboBox Grid.Row="0" Grid.Column="1"
                      MinHeight="28"
                      Padding="8,0"
                      HorizontalAlignment="Stretch"
                      ItemsSource="{Binding Source={x:Static m:GPGFormat.Supported}}"
                      SelectedItem="{Binding #ThisControl.GPGFormat, Mode=TwoWay}">
              <ComboBox.ItemTemplate>
                <DataTemplate x:DataType="{x:Type m:GPGFormat}">
                  <Grid ColumnDefinitions="Auto,*">
                    <TextBlock Grid.Column="0" Text="{Binding Name}"/>
                    <TextBlock Grid.Column="1" Text="{Binding Desc}" Foreground="{DynamicResource Brush.FG2}" HorizontalAlignment="Right"/>
                  </Grid>
                </DataTemplate>
              </ComboBox.ItemTemplate>
            </ComboBox>

            <TextBlock Grid.Row="1" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.GPG.Path}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"
                       IsVisible="{Binding #ThisControl.GPGFormat.NeedFindProgram}"/>
            <TextBox Grid.Row="1" Grid.Column="1"
                     Height="28"
                     CornerRadius="3"
                     Text="{Binding #ThisControl.GPGExecutableFile, Mode=TwoWay}"
                     Watermark="{DynamicResource Text.Preference.GPG.Path.Placeholder}"
                     IsVisible="{Binding #ThisControl.GPGFormat.NeedFindProgram}">
              <TextBox.InnerRightContent>
                <Button Classes="icon_button" Width="30" Height="30" Click="SelectGPGExecutable">
                  <Path Data="{StaticResource Icons.Folder.Open}" Fill="{DynamicResource Brush.FG1}"/>
                </Button>
              </TextBox.InnerRightContent>
            </TextBox>

            <TextBlock Grid.Row="2" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.GPG.UserKey}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <TextBox Grid.Row="2" Grid.Column="1"
                     Height="28"
                     CornerRadius="3"
                     Text="{Binding #ThisControl.GPGUserKey, Mode=TwoWay}"
                     Watermark="{DynamicResource Text.Preference.GPG.UserKey.Placeholder}"/>

            <CheckBox Grid.Row="3" Grid.Column="1"
                      Content="{DynamicResource Text.Preference.GPG.CommitEnabled}"
                      IsChecked="{Binding #ThisControl.EnableGPGCommitSigning, Mode=TwoWay}"/>

            <CheckBox Grid.Row="4" Grid.Column="1"
                      Content="{DynamicResource Text.Preference.GPG.TagEnabled}"
                      IsChecked="{Binding #ThisControl.EnableGPGTagSigning, Mode=TwoWay}"/>
          </Grid>
        </TabItem>

        <TabItem>
          <TabItem.Header>
            <TextBlock Classes="tab_header" Text="{DynamicResource Text.Preference.DiffMerge}"/>
          </TabItem.Header>

          <Grid Margin="8" RowDefinitions="32,Auto" ColumnDefinitions="Auto,*">
            <TextBlock Grid.Row="0" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.DiffMerge.Type}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"/>
            <ComboBox Grid.Row="0" Grid.Column="1"
                      MinHeight="28"
                      Padding="8,0"
                      HorizontalAlignment="Stretch"
                      HorizontalContentAlignment="Left"
                      RenderOptions.BitmapInterpolationMode="HighQuality"
                      FontSize="{Binding DefaultFontSize}"
                      ItemsSource="{Binding Source={x:Static m:ExternalMerger.Supported}}"
                      SelectedIndex="{Binding ExternalMergeToolType, Mode=TwoWay}">
              <ComboBox.ItemTemplate>
                <DataTemplate x:DataType="{x:Type m:ExternalMerger}">
                  <Grid ColumnDefinitions="Auto,*">
                    <Image Grid.Column="0" Width="16" Height="16" Source="{Binding IconImage}" RenderOptions.BitmapInterpolationMode="HighQuality"/>
                    <TextBlock Grid.Column="1" Text="{Binding Name}" Margin="6,0,0,0"/>
                  </Grid>
                </DataTemplate>
              </ComboBox.ItemTemplate>
            </ComboBox>

            <TextBlock Grid.Row="1" Grid.Column="0"
                       Text="{DynamicResource Text.Preference.DiffMerge.Path}"
                       HorizontalAlignment="Right"
                       Margin="0,0,16,0"
                       IsVisible="{Binding ExternalMergeToolType, Converter={x:Static c:IntConverters.IsGreaterThanZero}}"/>
            <TextBox Grid.Row="1" Grid.Column="1"
                     Height="28"
                     CornerRadius="3"
                     Text="{Binding ExternalMergeToolPath, Mode=TwoWay}"
                     Watermark="{DynamicResource Text.Preference.DiffMerge.Path.Placeholder}"
                     IsVisible="{Binding ExternalMergeToolType, Converter={x:Static c:IntConverters.IsGreaterThanZero}}">
              <TextBox.InnerRightContent>
                <Button Classes="icon_button" Width="30" Height="30" Click="SelectExternalMergeTool">
                  <Path Data="{StaticResource Icons.Folder.Open}" Fill="{DynamicResource Brush.FG1}"/>
                </Button>
              </TextBox.InnerRightContent>
            </TextBox>
          </Grid>
        </TabItem>
      </TabControl>
    </Border>    
  </Grid>
</v:ChromelessWindow>
