@@ -93,23 +93,23 @@ public List<Models.Change> Changes
9393 private set
9494 {
9595 if ( SetProperty ( ref _changes , value ) )
96- SelectedChange = value is { Count : > 0 } ? value [ 0 ] : null ;
96+ SelectedChanges = value is { Count : > 0 } ? [ value [ 0 ] ] : [ ] ;
9797 }
9898 }
9999
100- public Models . Change SelectedChange
100+ public List < Models . Change > SelectedChanges
101101 {
102- get => _selectedChange ;
102+ get => _selectedChanges ;
103103 set
104104 {
105- if ( SetProperty ( ref _selectedChange , value ) )
105+ if ( SetProperty ( ref _selectedChanges , value ) )
106106 {
107- if ( value == null )
107+ if ( value is not { Count : 1 } )
108108 DiffContext = null ;
109- else if ( _untracked . Contains ( value ) )
110- DiffContext = new DiffContext ( _repo . FullPath , new Models . DiffOption ( Models . Commit . EmptyTreeSHA1 , _selectedStash . Parents [ 2 ] , value ) , _diffContext ) ;
109+ else if ( _untracked . Contains ( value [ 0 ] ) )
110+ DiffContext = new DiffContext ( _repo . FullPath , new Models . DiffOption ( Models . Commit . EmptyTreeSHA1 , _selectedStash . Parents [ 2 ] , value [ 0 ] ) , _diffContext ) ;
111111 else
112- DiffContext = new DiffContext ( _repo . FullPath , new Models . DiffOption ( _selectedStash . Parents [ 0 ] , _selectedStash . SHA , value ) , _diffContext ) ;
112+ DiffContext = new DiffContext ( _repo . FullPath , new Models . DiffOption ( _selectedStash . Parents [ 0 ] , _selectedStash . SHA , value [ 0 ] ) , _diffContext ) ;
113113 }
114114 }
115115 }
@@ -129,11 +129,11 @@ public void Dispose()
129129 {
130130 _stashes ? . Clear ( ) ;
131131 _changes ? . Clear ( ) ;
132+ _selectedChanges ? . Clear ( ) ;
132133 _untracked . Clear ( ) ;
133134
134135 _repo = null ;
135136 _selectedStash = null ;
136- _selectedChange = null ;
137137 _diffContext = null ;
138138 }
139139
@@ -217,11 +217,12 @@ public ContextMenu MakeContextMenu(Models.Stash stash)
217217 return menu ;
218218 }
219219
220- public ContextMenu MakeContextMenuForChange ( Models . Change change )
220+ public ContextMenu MakeContextMenuForChange ( )
221221 {
222- if ( change == null )
222+ if ( _selectedChanges is not { Count : 1 } )
223223 return null ;
224224
225+ var change = _selectedChanges [ 0 ] ;
225226 var diffWithMerger = new MenuItem ( ) ;
226227 diffWithMerger . Header = App . Text ( "DiffWithMerger" ) ;
227228 diffWithMerger . Icon = App . CreateMenuIcon ( "Icons.OpenWith" ) ;
@@ -339,7 +340,7 @@ private void RefreshVisible()
339340 private Models . Stash _selectedStash = null ;
340341 private List < Models . Change > _changes = null ;
341342 private List < Models . Change > _untracked = [ ] ;
342- private Models . Change _selectedChange = null ;
343+ private List < Models . Change > _selectedChanges = [ ] ;
343344 private DiffContext _diffContext = null ;
344345 }
345346}
0 commit comments