mirror of
https://github.com/sourcegit-scm/sourcegit.git
synced 2024-12-23 20:47:25 -08:00
308 lines
14 KiB
XML
308 lines
14 KiB
XML
<Window x:Class="SourceGit.Views.Preference"
|
|
x:Name="me"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
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:controls="clr-namespace:SourceGit.Views.Controls"
|
|
xmlns:models="clr-namespace:SourceGit.Models"
|
|
mc:Ignorable="d"
|
|
UseLayoutRounding="True"
|
|
Title="{StaticResource Text.Preference}"
|
|
Width="500" SizeToContent="Height"
|
|
WindowStartupLocation="CenterOwner"
|
|
ResizeMode="NoResize">
|
|
<WindowChrome.WindowChrome>
|
|
<WindowChrome UseAeroCaptionButtons="False" CornerRadius="0" CaptionHeight="28" ResizeBorderThickness="1"/>
|
|
</WindowChrome.WindowChrome>
|
|
|
|
<controls:WindowBorder>
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Title bar -->
|
|
<Grid Grid.Row="0" Background="{StaticResource Brush.TitleBar}">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!-- Icon -->
|
|
<Path Grid.Column="0" Width="14" Height="14" Margin="6,0" Data="{StaticResource Icon.Preference}"/>
|
|
|
|
<!-- Title -->
|
|
<TextBlock Grid.Column="1" Text="{StaticResource Text.Preference}"/>
|
|
|
|
<!-- Close -->
|
|
<controls:IconButton
|
|
Grid.Column="3"
|
|
Click="Quit"
|
|
Width="28" Padding="8"
|
|
Icon="{StaticResource Icon.Close}"
|
|
HoverBackground="Red"
|
|
WindowChrome.IsHitTestVisibleInChrome="True"/>
|
|
</Grid>
|
|
|
|
<!-- Body -->
|
|
<Grid Grid.Row="1" Margin="16,8">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="36"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="8"/>
|
|
<RowDefinition Height="36"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="8"/>
|
|
<RowDefinition Height="36"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="28"/>
|
|
<RowDefinition Height="6"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="128"/>
|
|
<ColumnDefinition Width="*"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!-- General Group -->
|
|
<StackPanel Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="2" Orientation="Horizontal">
|
|
<TextBlock
|
|
Text="{StaticResource Text.Preference.General}"
|
|
FontSize="16" FontWeight="DemiBold"
|
|
Foreground="{StaticResource Brush.FG2}"/>
|
|
<TextBlock
|
|
Text="{StaticResource Text.Preference.RestartRequired}"
|
|
Foreground="{StaticResource Brush.FG2}"
|
|
Margin="16,0"/>
|
|
</StackPanel>
|
|
|
|
<!-- Language -->
|
|
<TextBlock
|
|
Grid.Row="1" Grid.Column="0"
|
|
Text="{StaticResource Text.Preference.Locale}"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,6,0"/>
|
|
<ComboBox
|
|
Grid.Row="1" Grid.Column="1"
|
|
Height="24"
|
|
ItemsSource="{Binding Source={x:Static models:Locale.Supported}}"
|
|
DisplayMemberPath="Name"
|
|
SelectedValuePath="Resource"
|
|
SelectedValue="{Binding Source={x:Static models:Preference.Instance}, Path=General.Locale, Mode=TwoWay}"/>
|
|
|
|
<!-- Avatar -->
|
|
<TextBlock
|
|
Grid.Row="2" Grid.Column="0"
|
|
Text="{StaticResource Text.Preference.AvatarServer}"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,6,0"/>
|
|
<ComboBox
|
|
Grid.Row="2" Grid.Column="1"
|
|
Height="24"
|
|
ItemsSource="{Binding Source={x:Static models:AvatarServer.Supported}}"
|
|
DisplayMemberPath="Name"
|
|
SelectedValuePath="Url"
|
|
SelectedValue="{Binding Source={x:Static models:Preference.Instance}, Path=General.AvatarServer, Mode=TwoWay}"/>
|
|
|
|
<!-- Use Dark Theme -->
|
|
<CheckBox
|
|
Grid.Row="3" Grid.Column="1"
|
|
Content="{StaticResource Text.Preference.UseDark}"
|
|
IsChecked="{Binding Source={x:Static models:Preference.Instance}, Path=General.UseDarkTheme, Mode=TwoWay}"/>
|
|
|
|
<!-- Enable Check For Update -->
|
|
<CheckBox
|
|
Grid.Row="4" Grid.Column="1"
|
|
Content="{StaticResource Text.Preference.CheckUpdate}"
|
|
IsChecked="{Binding Source={x:Static models:Preference.Instance}, Path=General.CheckForUpdate, Mode=TwoWay}"/>
|
|
|
|
<!-- Auto Fetch -->
|
|
<CheckBox
|
|
Grid.Row="5" Grid.Column="1"
|
|
Content="{StaticResource Text.Preference.AutoFetch}"
|
|
IsChecked="{Binding Source={x:Static models:Preference.Instance}, Path=General.AutoFetchRemotes, Mode=TwoWay}"/>
|
|
|
|
<!-- Git Group -->
|
|
<TextBlock
|
|
Grid.Row="7" Grid.Column="0" Grid.ColumnSpan="2"
|
|
Text="{StaticResource Text.Preference.Git}"
|
|
FontSize="16" FontWeight="DemiBold"
|
|
Foreground="{StaticResource Brush.FG2}"/>
|
|
|
|
<!-- Git Executable Path -->
|
|
<TextBlock
|
|
Grid.Row="8" Grid.Column="0"
|
|
Text="{StaticResource Text.Preference.Git.Path}"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,6,0"/>
|
|
<Grid Grid.Row="8" Grid.Column="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<controls:TextEdit
|
|
Grid.Column="0"
|
|
x:Name="editGitPath"
|
|
Height="24"
|
|
Text="{Binding Source={x:Static models:Preference.Instance}, Path=Git.Path, Mode=TwoWay}"
|
|
Placeholder="{StaticResource Text.Preference.Git.Path.Placeholder}"/>
|
|
<controls:IconButton
|
|
Grid.Column="1"
|
|
Click="SelectGitPath"
|
|
Width="24" Height="24"
|
|
Margin="4,0,0,0" Padding="4"
|
|
BorderThickness="1" BorderBrush="{StaticResource Brush.Border1}"
|
|
Icon="{StaticResource Icon.Folder.Open}"/>
|
|
</Grid>
|
|
|
|
<!-- Default Clone Dir -->
|
|
<TextBlock
|
|
Grid.Row="9" Grid.Column="0"
|
|
Text="{StaticResource Text.Preference.Git.Dir}"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,6,0"/>
|
|
<Grid Grid.Row="9" Grid.Column="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<controls:TextEdit
|
|
Grid.Column="0"
|
|
x:Name="txtGitCloneDir"
|
|
Height="24"
|
|
Placeholder="{StaticResource Text.Preference.Git.Dir.Placeholder}"
|
|
Text="{Binding Source={x:Static models:Preference.Instance}, Path=Git.DefaultCloneDir, Mode=TwoWay}"/>
|
|
<controls:IconButton
|
|
Grid.Column="1"
|
|
Click="SelectGitCloneDir"
|
|
Width="24" Height="24"
|
|
Margin="4,0,0,0" Padding="4"
|
|
BorderThickness="1" BorderBrush="{StaticResource Brush.Border1}"
|
|
Icon="{StaticResource Icon.Folder.Open}"/>
|
|
</Grid>
|
|
|
|
<!-- User -->
|
|
<TextBlock
|
|
Grid.Row="10" Grid.Column="0"
|
|
Text="{StaticResource Text.Preference.Git.User}"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,6,0"/>
|
|
<controls:TextEdit
|
|
Grid.Row="10" Grid.Column="1"
|
|
Height="24"
|
|
Text="{Binding ElementName=me, Path=User, Mode=TwoWay}"
|
|
Placeholder="{StaticResource Text.Preference.Git.User.Placeholder}"/>
|
|
|
|
<!-- Email -->
|
|
<TextBlock
|
|
Grid.Row="11" Grid.Column="0"
|
|
Text="{StaticResource Text.Preference.Git.Email}"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,6,0"/>
|
|
<controls:TextEdit
|
|
Grid.Row="11" Grid.Column="1"
|
|
Height="24"
|
|
Text="{Binding ElementName=me, Path=Email, Mode=TwoWay}"
|
|
Placeholder="{StaticResource Text.Preference.Git.Email.Placeholder}"/>
|
|
|
|
<!-- CRLF -->
|
|
<TextBlock
|
|
Grid.Row="12" Grid.Column="0"
|
|
Text="{StaticResource Text.Preference.Git.CRLF}"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,6,0"/>
|
|
<ComboBox
|
|
Grid.Row="12" Grid.Column="1"
|
|
Height="24"
|
|
ItemsSource="{Binding Source={x:Static models:CRLFOption.Supported}}"
|
|
SelectedValuePath="Value"
|
|
SelectedValue="{Binding ElementName=me, Path=CRLF, Mode=TwoWay}">
|
|
<ComboBox.ItemTemplate>
|
|
<DataTemplate>
|
|
<StackPanel Orientation="Horizontal" Height="20">
|
|
<TextBlock Text="{Binding Display}" Margin="2,0"/>
|
|
<TextBlock Text="{Binding Desc}" Margin="8,0,0,0" FontSize="10" Foreground="{StaticResource Brush.FG2}"/>
|
|
</StackPanel>
|
|
</DataTemplate>
|
|
</ComboBox.ItemTemplate>
|
|
</ComboBox>
|
|
|
|
<!-- Merge Tool Group -->
|
|
<TextBlock
|
|
Grid.Row="14" Grid.Column="0" Grid.ColumnSpan="2"
|
|
Text="{StaticResource Text.Preference.Merger}"
|
|
FontSize="16" FontWeight="DemiBold"
|
|
Foreground="{StaticResource Brush.FG2}"/>
|
|
|
|
<!-- Merge Tool Type -->
|
|
<TextBlock
|
|
Grid.Row="15" Grid.Column="0"
|
|
Text="{StaticResource Text.Preference.Merger.Type}"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,6,0"/>
|
|
<ComboBox
|
|
Grid.Row="15" Grid.Column="1"
|
|
Height="24"
|
|
ItemsSource="{Binding Source={x:Static models:MergeTool.Supported}}"
|
|
DisplayMemberPath="Name"
|
|
SelectedValuePath="Type"
|
|
SelectedValue="{Binding Source={x:Static models:Preference.Instance}, Path=MergeTool.Type, Mode=TwoWay}"
|
|
SelectionChanged="MergeToolChanged"/>
|
|
|
|
<!-- Merge Tool Executable Path -->
|
|
<TextBlock
|
|
Grid.Row="16" Grid.Column="0"
|
|
Text="{StaticResource Text.Preference.Merger.Path}"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,6,0"/>
|
|
<Grid Grid.Row="16" Grid.Column="1">
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<controls:TextEdit
|
|
Grid.Column="0"
|
|
Height="24"
|
|
x:Name="txtMergeExec"
|
|
Placeholder="{StaticResource Text.Preference.Merger.Path.Placeholder}"
|
|
Text="{Binding Source={x:Static models:Preference.Instance}, Path=MergeTool.Path, Mode=TwoWay}"/>
|
|
<controls:IconButton
|
|
Grid.Column="1"
|
|
Click="SelectMergeTool"
|
|
Width="24" Height="24"
|
|
Margin="4,0,0,0" Padding="4"
|
|
BorderThickness="1" BorderBrush="{StaticResource Brush.Border1}"
|
|
Icon="{StaticResource Icon.Folder.Open}"/>
|
|
</Grid>
|
|
|
|
<!-- Merge Tool Command -->
|
|
<TextBlock
|
|
Grid.Row="17" Grid.Column="0"
|
|
Text="{StaticResource Text.Preference.Merger.Cmd}"
|
|
HorizontalAlignment="Right"
|
|
Margin="0,0,6,0"/>
|
|
<TextBlock
|
|
Grid.Row="17" Grid.Column="1"
|
|
x:Name="txtMergeCmd"
|
|
Text="{Binding ElementName=me, Path=MergeCmd}"
|
|
Foreground="{StaticResource Brush.FG2}"/>
|
|
</Grid>
|
|
</Grid>
|
|
</controls:WindowBorder>
|
|
</Window>
|