diff --git a/src/ViewModels/LFSLocks.cs b/src/ViewModels/LFSLocks.cs index 02b3e9a6..18e99c8b 100644 --- a/src/ViewModels/LFSLocks.cs +++ b/src/ViewModels/LFSLocks.cs @@ -1,4 +1,6 @@ -using System.Threading.Tasks; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; using Avalonia.Collections; using Avalonia.Threading; @@ -20,11 +22,31 @@ namespace SourceGit.ViewModels get => _isEmpty; private set => SetProperty(ref _isEmpty, value); } + + public bool ShowOnlyMyLocks + { + get => _showOnlyMyLocks; + set + { + if (!SetProperty(ref _showOnlyMyLocks, value)) + return; - public AvaloniaList Locks + OnPropertyChanged(nameof(FilteredLocks)); + IsEmpty = !FilteredLocks.Any(); + } + } + + private AvaloniaList Locks { get; - private set; + } + + public IEnumerable FilteredLocks + { + get + { + return ShowOnlyMyLocks ? Locks.Where(@lock => @lock.User == "Mat") : Locks; + } } public LFSLocks(string repo, string remote) @@ -71,5 +93,6 @@ namespace SourceGit.ViewModels private string _remote; private bool _isLoading = true; private bool _isEmpty = false; + private bool _showOnlyMyLocks = false; } } diff --git a/src/Views/LFSLocks.axaml b/src/Views/LFSLocks.axaml index 53392043..028956fa 100644 --- a/src/Views/LFSLocks.axaml +++ b/src/Views/LFSLocks.axaml @@ -13,7 +13,7 @@ Title="{DynamicResource Text.GitLFS.Locks.Title}" Width="600" Height="400" WindowStartupLocation="CenterOwner"> - + + + + + + - - +