sourcegit/src/Views/Widgets/Welcome.xaml

165 lines
9.2 KiB
XML

<UserControl x:Class="SourceGit.Views.Widgets.Welcome"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:local="clr-namespace:SourceGit.Views.Widgets"
xmlns:controls="clr-namespace:SourceGit.Views.Controls"
xmlns:models="clr-namespace:SourceGit.Models"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="800"
UseLayoutRounding="True">
<Grid AllowDrop="True" Drop="OnPageDrop">
<Grid.RowDefinitions>
<RowDefinition Height="36"/>
<RowDefinition Height="56"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- Toolbar -->
<Border Grid.Row="0" BorderBrush="{DynamicResource Brush.Border0}" BorderThickness="0,0,0,1" Background="{DynamicResource Brush.ToolBar}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<StackPanel Grid.Column="0" Orientation="Horizontal">
<controls:IconButton
Margin="8,0"
IconSize="14"
Icon="{DynamicResource Icon.Folder.Open}"
ToolTip="{DynamicResource Text.Welcome.OpenOrInit}"
Click="OnOpenClicked"/>
<controls:IconButton
Margin="8,0"
IconSize="14"
Icon="{DynamicResource Icon.Pull}"
ToolTip="{DynamicResource Text.Welcome.Clone}"
Click="OnCloneClicked"/>
<controls:IconButton
Margin="8,0"
IconSize="14"
Icon="{DynamicResource Icon.Terminal}"
ToolTip="{DynamicResource Text.Welcome.OpenTerminal}"
Click="OnOpenTerminalClicked"/>
</StackPanel>
<Button
Grid.Column="2"
HorizontalAlignment="Right"
Margin="8,0"
Background="Transparent" BorderThickness="0"
ToolTip="{DynamicResource Text.Welcome.Sort}"
Click="OnSortMethodClicked">
<Path Width="16" Height="16" Data="{StaticResource Icon.Sort}"/>
</Button>
</Grid>
</Border>
<Grid Grid.Row="1" Width="600" Height="28" VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="24"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Border
Grid.Column="0" Grid.ColumnSpan="2"
Background="{DynamicResource Brush.Contents}"
BorderThickness="0"
CornerRadius="14">
<Border.Effect>
<DropShadowEffect BlurRadius="6" ShadowDepth="0" Color="{DynamicResource Colors.Shadow}" Opacity=".2"/>
</Border.Effect>
</Border>
<Path
Grid.Column="0"
Width="14" Height="14" Margin="4,0,0,0"
Fill="{DynamicResource Brush.FG2}"
Data="{StaticResource Icon.Search}"
IsHitTestVisible="False"/>
<controls:TextEdit
x:Name="filter"
Grid.Column="1"
Height="24"
Margin="0"
Placeholder="{DynamicResource Text.Welcome.Search}"
BorderThickness="0"
TextChanged="OnSearchFilterChanged"/>
</Grid>
<!-- Repositories List -->
<Grid Grid.Row="2" Width="600" HorizontalAlignment="Center" Margin="0,0,0,8" AllowDrop="True" Drop="OnPageDrop">
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
<ItemsControl x:Name="repoList">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<Control MouseDoubleClick="OnDoubleClickRepository" ContextMenuOpening="OnRepositoryContextMenuOpening">
<Control.Template>
<ControlTemplate>
<Grid Height="38" Margin="2,0,2,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Border
Grid.Column="0" Grid.ColumnSpan="2"
BorderThickness="1" BorderBrush="{DynamicResource Brush.Border2}"
Background="{DynamicResource Brush.Popup}"
UseLayoutRounding="True"
SnapsToDevicePixels="True"/>
<StackPanel Grid.Column="0" Margin="8,0" Orientation="Horizontal">
<local:Bookmark Width="16" Height="16" Color="{Binding Bookmark}"/>
<TextBlock Text="{Binding Name}" FontSize="12pt" Margin="8,0,0,0" FontFamily="{Binding Source={x:Static models:Preference.Instance}, Path=General.FontFamilyContent, Mode=OneWay}"/>
<TextBlock Text="{Binding Path}" FontSize="10pt" Margin="8,0,0,0" FontFamily="{Binding Source={x:Static models:Preference.Instance}, Path=General.FontFamilyContent, Mode=OneWay}" Foreground="{DynamicResource Brush.FG2}"/>
</StackPanel>
<StackPanel Grid.Column="1" Margin="0,0,6,0" Orientation="Horizontal">
<Button Width="32" BorderThickness="0" Background="Transparent" ToolTip="{DynamicResource Text.RepoCM.Open}" Click="OnOpenRepository">
<Path Width="15" Data="{StaticResource Icon.Folder.Open}"/>
</Button>
<Button Width="32" BorderThickness="0" Background="Transparent" ToolTip="{DynamicResource Text.RepoCM.Explore}" Click="OnExploreRepository">
<Path Width="14" Data="{StaticResource Icon.DiffWith}"/>
</Button>
<Button Width="32" BorderThickness="0" Background="Transparent" ToolTip="{DynamicResource Text.Welcome.OpenTerminal}" Click="OnOpenRepositoryTerminal">
<Path Width="14" Data="{StaticResource Icon.Terminal}"/>
</Button>
<Button Width="32" BorderThickness="0" Background="Transparent" ToolTip="{DynamicResource Text.Welcome.Delete}" Click="OnRemoveRepository">
<Path Width="10" Data="{StaticResource Icon.Close}"/>
</Button>
</StackPanel>
</Grid>
</ControlTemplate>
</Control.Template>
</Control>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</ScrollViewer>
</Grid>
<!-- Mark -->
<StackPanel Grid.Row="0" Grid.RowSpan="3" x:Name="mask" Orientation="Vertical" HorizontalAlignment="Center" VerticalAlignment="Center" Visibility="Collapsed" IsHitTestVisible="False">
<Path Width="64" Height="64" Data="{StaticResource Icon.DragAndDrop}" Fill="{DynamicResource Brush.FG2}"/>
<TextBlock
TextAlignment="Center"
FontSize="18"
Margin="0,24,0,0"
FontWeight="Bold"
Text="{DynamicResource Text.Welcome.DragDropTip}"
Foreground="{DynamicResource Brush.FG2}"/>
</StackPanel>
</Grid>
</UserControl>