style<Theme>: new theme design

This commit is contained in:
leo 2023-07-18 15:00:27 +08:00
parent 25971f9a56
commit 535e05a667
14 changed files with 221 additions and 183 deletions

View file

@ -7,73 +7,60 @@
xmlns:models="clr-namespace:SourceGit.Models"
xmlns:converters="clr-namespace:SourceGit.Views.Converters"
mc:Ignorable="d"
d:DesignHeight="800" d:DesignWidth="800">
<Grid Background="Transparent" AllowDrop="True" Drop="OnPageDrop">
d:DesignHeight="800" d:DesignWidth="800"
UseLayoutRounding="True">
<Grid AllowDrop="True" Drop="OnPageDrop">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="36"/>
<RowDefinition Height="48"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="600"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<!-- 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>
<!-- Repositories Tool Bar -->
<Grid Grid.Row="0" Grid.Column="1" Margin="2,100,2,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="8"/>
</Grid.ColumnDefinitions>
<TextBlock
Grid.Column="0"
HorizontalAlignment="Left"
Text="{DynamicResource Text.Welcome.Repositories}"
FontSize="13pt"/>
<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"/>
<Button
Grid.Column="2"
Background="Transparent" BorderThickness="0"
ToolTip="{DynamicResource Text.Welcome.OpenOrInit}"
Click="OnOpenClicked">
<Path Width="16" Height="16" Data="{StaticResource Icon.Folder.Open}"/>
</Button>
<controls:IconButton
Margin="8,0"
IconSize="14"
Icon="{DynamicResource Icon.Pull}"
ToolTip="{DynamicResource Text.Welcome.Clone}"
Click="OnCloneClicked"/>
<Button
Grid.Column="3"
Background="Transparent" BorderThickness="0"
ToolTip="{DynamicResource Text.Welcome.Clone}"
Click="OnCloneClicked">
<Path Width="15" Height="15" Data="{StaticResource Icon.Pull}"/>
</Button>
<controls:IconButton
Margin="8,0"
IconSize="14"
Icon="{DynamicResource Icon.Terminal}"
ToolTip="{DynamicResource Text.Welcome.OpenTerminal}"
Click="OnOpenTerminalClicked"/>
</StackPanel>
<Button
Grid.Column="4"
Background="Transparent" BorderThickness="0"
ToolTip="{DynamicResource Text.Welcome.OpenTerminal}"
Click="OnOpenTerminalClicked">
<Path Width="14" Height="14" Data="{StaticResource Icon.Terminal}"/>
</Button>
<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>
<Button
Grid.Column="5"
Background="Transparent" BorderThickness="0"
ToolTip="{DynamicResource Text.Welcome.Sort}"
Click="OnSortMethodClicked">
<Path Width="16" Height="16" Data="{StaticResource Icon.Sort}"/>
</Button>
</Grid>
<!-- Search Bar -->
<Grid Grid.Row="1" Grid.Column="1" Margin="2,8" Height="28" VerticalAlignment="Top">
<Grid Grid.Row="1" Width="600" Height="28" VerticalAlignment="Center">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="24"/>
<ColumnDefinition Width="*"/>
@ -81,11 +68,16 @@
<Border
Grid.Column="0" Grid.ColumnSpan="2"
BorderBrush="{DynamicResource Brush.Border2}"
BorderThickness="1"/>
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"
Width="14" Height="14" Margin="4,0,0,0"
Fill="{DynamicResource Brush.FG2}"
Data="{StaticResource Icon.Search}"
IsHitTestVisible="False"/>
@ -98,14 +90,13 @@
BorderThickness="0"
TextChanged="OnSearchFilterChanged"/>
</Grid>
<!-- Repositories List -->
<Grid Grid.Row="2" Grid.Column="1" Margin="0,0,0,80">
<Grid Grid.Row="2" Width="600" HorizontalAlignment="Center" Margin="0,0,0,8" AllowDrop="True" Drop="OnPageDrop">
<Grid.Resources>
<converters:IntToBookmarkBrush x:Key="IntToBookmarkBrush"/>
</Grid.Resources>
<!-- Wrap panel -->
<ScrollViewer HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Auto">
<ItemsControl x:Name="repoList">
<ItemsControl.ItemsPanel>
@ -119,41 +110,44 @@
<Control MouseDoubleClick="OnDoubleClickRepository">
<Control.Template>
<ControlTemplate>
<Grid Height="38" Margin="2">
<Grid Height="38" Margin="2,0,2,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="8"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="32"/>
<ColumnDefinition Width="8"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<Border
Grid.Column="0" Grid.ColumnSpan="7"
BorderThickness="1" BorderBrush="{DynamicResource Brush.Border2}"
Background="{DynamicResource Brush.Contents}"/>
Grid.Column="0" Grid.ColumnSpan="2"
BorderThickness="1" BorderBrush="{DynamicResource Brush.Border2}"
Background="{DynamicResource Brush.Popup}"
UseLayoutRounding="True"
SnapsToDevicePixels="True">
<Path
Width="14" Height="14"
Data="M 1,0 L8,0 L1,7 z"
HorizontalAlignment="Left" VerticalAlignment="Top"
Fill="{Binding Bookmark, Converter={StaticResource IntToBookmarkBrush}}"/>
</Border>
<Border Grid.Column="0" Width="4" HorizontalAlignment="Left" Background="{Binding Bookmark, Converter={StaticResource IntToBookmarkBrush}}"/>
<StackPanel Grid.Column="1" Margin="4,0" Orientation="Horizontal">
<TextBlock Text="{Binding Name}" FontSize="12pt" FontFamily="{Binding Source={x:Static models:Preference.Instance}, Path=General.FontFamilyContent, Mode=OneWay}" />
<TextBlock Text="{Binding Path}" FontSize="10pt" FontFamily="{Binding Source={x:Static models:Preference.Instance}, Path=General.FontFamilyContent, Mode=OneWay}" Margin="8,0" Foreground="{DynamicResource Brush.FG2}"/>
<StackPanel Grid.Column="0" Margin="8,0" Orientation="Horizontal">
<TextBlock Text="{Binding Name}" FontSize="12pt" Margin="4,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>
<Button Grid.Column="2" BorderThickness="0" Background="Transparent" ToolTip="{DynamicResource Text.RepoCM.Open}" Click="OnOpenRepository">
<Path Width="15" Data="{StaticResource Icon.Folder.Open}"/>
</Button>
<Button Grid.Column="3" Margin="8,0,0,0" BorderThickness="0" Background="Transparent" ToolTip="{DynamicResource Text.RepoCM.Explore}" Click="OnExploreRepository">
<Path Width="14" Data="{StaticResource Icon.DiffWith}"/>
</Button>
<Button Grid.Column="4" Margin="8,0,0,0" BorderThickness="0" Background="Transparent" ToolTip="{DynamicResource Text.Welcome.OpenTerminal}" Click="OnOpenRepositoryTerminal">
<Path Width="14" Data="{StaticResource Icon.Terminal}"/>
</Button>
<Button Grid.Column="5" Margin="8,0,0,0" BorderThickness="0" Background="Transparent" ToolTip="{DynamicResource Text.Welcome.Delete}" Click="OnRemoveRepository">
<Path Width="10" Data="{StaticResource Icon.Close}"/>
</Button>
<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>
@ -163,5 +157,18 @@
</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>