11using System ;
22using System . Threading . Tasks ;
3+
34using Avalonia . Collections ;
45using Avalonia . Media ;
6+
57using CommunityToolkit . Mvvm . ComponentModel ;
68
79namespace SourceGit . ViewModels
@@ -20,10 +22,10 @@ public object Data
2022 set => SetProperty ( ref _data , value ) ;
2123 }
2224
23- public IBrush DirtyBrush
25+ public Models . DirtyState DirtyState
2426 {
25- get => _dirtyBrush ;
26- private set => SetProperty ( ref _dirtyBrush , value ) ;
27+ get => _dirtyState ;
28+ private set => SetProperty ( ref _dirtyState , value ) ;
2729 }
2830
2931 public Popup Popup
@@ -66,22 +68,18 @@ public async Task CopyPathAsync()
6668
6769 public void ChangeDirtyState ( Models . DirtyState flag , bool remove )
6870 {
71+ var state = _dirtyState ;
6972 if ( remove )
7073 {
71- if ( _dirtyState . HasFlag ( flag ) )
72- _dirtyState -= flag ;
74+ if ( state . HasFlag ( flag ) )
75+ state -= flag ;
7376 }
7477 else
7578 {
76- _dirtyState |= flag ;
79+ state |= flag ;
7780 }
7881
79- if ( _dirtyState . HasFlag ( Models . DirtyState . HasLocalChanges ) )
80- DirtyBrush = Brushes . Gray ;
81- else if ( _dirtyState . HasFlag ( Models . DirtyState . HasPendingPullOrPush ) )
82- DirtyBrush = Brushes . RoyalBlue ;
83- else
84- DirtyBrush = null ;
82+ DirtyState = state ;
8583 }
8684
8785 public bool CanCreatePopup ( )
@@ -127,7 +125,6 @@ public void CancelPopup()
127125
128126 private RepositoryNode _node = null ;
129127 private object _data = null ;
130- private IBrush _dirtyBrush = null ;
131128 private Models . DirtyState _dirtyState = Models . DirtyState . None ;
132129 private Popup _popup = null ;
133130 }
0 commit comments