style<Histories>: move guide into a tooltip button

This commit is contained in:
leo 2020-12-10 21:15:59 +08:00
parent 74a9ec42d7
commit a53d3f642d
3 changed files with 44 additions and 32 deletions

View file

@ -170,36 +170,45 @@
<!-- Diff with selected 2 commit -->
<local:TwoCommitsDiff x:Name="twoCommitDiff" Visibility="Collapsed"/>
<!-- Mask for select multi rows in commit list -->
<Border x:Name="selectionCounter" Background="{StaticResource Brush.BG1}" Visibility="Collapsed">
<!-- Mask -->
<Border x:Name="mask" Background="{StaticResource Brush.BG1}">
<StackPanel Orientation="Vertical" VerticalAlignment="Center" Opacity=".25">
<Path Width="160" Height="160" Style="{StaticResource Style.Icon}" Data="{StaticResource Icon.Git}"/>
<Label x:Name="txtTotalSelected" Content="SELECT TO VIEW DETAIL" FontFamily="Consolas" Margin="0,16,0,0" FontSize="24" FontWeight="UltraBold" HorizontalAlignment="Center"/>
<Path Width="128" Height="128" Style="{StaticResource Style.Icon}" Data="{StaticResource Icon.Detail}"/>
<Label x:Name="txtCounter" Visibility="Hidden" FontFamily="Consolas" Margin="0,16,0,0" FontSize="24" FontWeight="UltraBold" HorizontalAlignment="Center"/>
</StackPanel>
</Border>
<!-- Usage Page -->
<Border x:Name="welcome" Background="{StaticResource Brush.BG1}">
<StackPanel Orientation="Vertical" VerticalAlignment="Center" Opacity=".25">
<Path Width="120" Height="120" Style="{StaticResource Style.Icon}" Data="{StaticResource Icon.Git}"/>
<Label Content="HISTORIES GUIDE" FontFamily="Consolas" FontWeight="ExtraBold" FontSize="24" HorizontalAlignment="Center" Margin="0,32,0,16"/>
<StackPanel Orientation="Vertical" HorizontalAlignment="Center" TextElement.FontFamily="Consolas" TextElement.FontSize="16" Margin="16,0,0,0">
<Label Margin="0" Padding="1" Content="1. Select 1 commit to view detail info"/>
<Label Margin="0" Padding="1" Content="2. Select 2 commits to show differences"/>
<Label Margin="0" Padding="1" Content="3. Select more than 2 commits to count"/>
</StackPanel>
</StackPanel>
</Border>
<!-- SWITCH LAYOUT -->
<ToggleButton
<!-- Right-Top Buttons -->
<StackPanel
HorizontalAlignment="Right"
VerticalAlignment="Top"
Margin="0,4,8,0"
Style="{StaticResource Style.ToggleButton.Orientation}"
ToolTip="Toggle Horizontal/Vertical Layout"
IsChecked="{Binding Source={x:Static sourcegit:App.Preference}, Path=UIUseHorizontalLayout, Mode=TwoWay}"
Checked="ChangeOrientation" Unchecked="ChangeOrientation"/>
Margin="0,4,0,0"
Orientation="Horizontal">
<!-- Layout Switch -->
<ToggleButton
Style="{StaticResource Style.ToggleButton.Orientation}"
ToolTip="Toggle Horizontal/Vertical Layout"
IsChecked="{Binding Source={x:Static sourcegit:App.Preference}, Path=UIUseHorizontalLayout, Mode=TwoWay}"
Checked="ChangeOrientation" Unchecked="ChangeOrientation"/>
<!-- Tips to Histories Panel -->
<Path
Width="20" Height="20"
Margin="8,0"
Style="{StaticResource Style.Icon}"
Data="{StaticResource Icon.Help}"
Fill="{StaticResource Brush.Border1}">
<Path.ToolTip>
<StackPanel Orientation="Vertical" TextElement.FontFamily="Consolas">
<Label Content="HISTORIES GUIDE" FontWeight="Bold" FontSize="14" Margin="0,0,0,8"/>
<Label Content="1. Select single commit to view detail"/>
<Label Content="2. Select two commits to show differences"/>
<Label Content="3. Select more than 2 commits to count"/>
</StackPanel>
</Path.ToolTip>
</Path>
</StackPanel>
</Grid>
</Grid>
</UserControl>

View file

@ -272,23 +272,24 @@ namespace SourceGit.UI {
}
private void CommitSelectChanged(object sender, SelectionChangedEventArgs e) {
selectionCounter.Visibility = Visibility.Collapsed;
mask.Visibility = Visibility.Collapsed;
commitViewer.Visibility = Visibility.Collapsed;
twoCommitDiff.Visibility = Visibility.Collapsed;
welcome.Visibility = Visibility.Collapsed;
var selected = commitList.SelectedItems;
if (selected.Count == 0) {
welcome.Visibility = Visibility.Visible;
} else if (selected.Count == 1) {
if (selected.Count == 1) {
commitViewer.Visibility = Visibility.Visible;
commitViewer.SetData(Repo, selected[0] as Git.Commit);
} else if (selected.Count == 2) {
twoCommitDiff.Visibility = Visibility.Visible;
twoCommitDiff.SetData(Repo, (selected[0] as Git.Commit).ShortSHA, (selected[1] as Git.Commit).ShortSHA);
} else if (selected.Count > 2) {
mask.Visibility = Visibility.Visible;
txtCounter.Visibility = Visibility.Visible;
txtCounter.Content = $"SELECTED {selected.Count} COMMITS";
} else {
selectionCounter.Visibility = Visibility.Visible;
txtTotalSelected.Content = $"SELECTED {selected.Count} COMMITS";
mask.Visibility = Visibility.Visible;
txtCounter.Visibility = Visibility.Hidden;
}
}