Skip to content

Commit e28abf8

Browse files
committed
enhance: supports remove single histories filter (#987)
Signed-off-by: leo <[email protected]>
1 parent 14f47a9 commit e28abf8

File tree

3 files changed

+22
-1
lines changed

3 files changed

+22
-1
lines changed

src/ViewModels/Repository.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,15 @@ public void ClearHistoriesFilter()
826826
Task.Run(RefreshCommits);
827827
}
828828

829+
public void RemoveHistoriesFilter(Models.Filter filter)
830+
{
831+
if (_settings.HistoriesFilters.Remove(filter))
832+
{
833+
HistoriesFilterMode = _settings.HistoriesFilters.Count > 0 ? _settings.HistoriesFilters[0].Mode : Models.FilterMode.None;
834+
RefreshHistoriesFilters(true);
835+
}
836+
}
837+
829838
public void UpdateBranchNodeIsExpanded(BranchTreeNode node)
830839
{
831840
if (_settings == null || !string.IsNullOrWhiteSpace(_filter))

src/Views/Repository.axaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -685,7 +685,11 @@
685685
<StackPanel Orientation="Horizontal" Margin="8,0">
686686
<Path Width="10" Height="10" Data="{StaticResource Icons.Branch}" IsVisible="{Binding IsBranch}"/>
687687
<Path Width="10" Height="10" Data="{StaticResource Icons.Tag}" IsVisible="{Binding !IsBranch}"/>
688-
<TextBlock Classes="primary" Text="{Binding Pattern, Converter={x:Static c:StringConverters.TrimRefsPrefix}}" Margin="4,0,0,0"/>
688+
<TextBlock Classes="primary" Text="{Binding Pattern, Converter={x:Static c:StringConverters.TrimRefsPrefix}}" Margin="4,0,8,0"/>
689+
690+
<Button Classes="icon_button" VerticalAlignment="Center" Margin="0" Padding="0" Click="OnRemoveSelectedHistoriesFilter">
691+
<Path Width="8" Height="8" Data="{StaticResource Icons.Window.Close}"/>
692+
</Button>
689693
</StackPanel>
690694
</Border>
691695
</DataTemplate>

src/Views/Repository.axaml.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,5 +519,13 @@ private void OnSkipInProgress(object sender, RoutedEventArgs e)
519519

520520
e.Handled = true;
521521
}
522+
523+
private void OnRemoveSelectedHistoriesFilter(object sender, RoutedEventArgs e)
524+
{
525+
if (DataContext is ViewModels.Repository repo && sender is Button { DataContext: Models.Filter filter})
526+
repo.RemoveHistoriesFilter(filter);
527+
528+
e.Handled = true;
529+
}
522530
}
523531
}

0 commit comments

Comments
 (0)