Skip to content

Commit 8ea787e

Browse files
committed
fix: improve last unselected change retrieval for grid and list views
1 parent 7a41e71 commit 8ea787e

1 file changed

Lines changed: 23 additions & 4 deletions

File tree

src/Views/ChangeCollectionView.axaml.cs

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -238,12 +238,31 @@ public Models.Change GetNextChangeWithoutSelection()
238238
if (lastUnselected != -1)
239239
return tree.Rows[lastUnselected].Change;
240240
}
241-
else
241+
else if (Content is ViewModels.ChangeCollectionAsGrid grid)
242+
{
243+
var lastUnselected = -1;
244+
for (int i = grid.Changes.Count - 1; i >= 0; i--)
245+
{
246+
if (set.Contains(grid.Changes[i].Path))
247+
{
248+
if (lastUnselected == -1)
249+
continue;
250+
251+
break;
252+
}
253+
254+
lastUnselected = i;
255+
}
256+
257+
if (lastUnselected != -1)
258+
return grid.Changes[lastUnselected];
259+
}
260+
else if (Content is ViewModels.ChangeCollectionAsList list)
242261
{
243262
var lastUnselected = -1;
244-
for (int i = changes.Count - 1; i >= 0; i--)
263+
for (int i = list.Changes.Count - 1; i >= 0; i--)
245264
{
246-
if (set.Contains(changes[i].Path))
265+
if (set.Contains(list.Changes[i].Path))
247266
{
248267
if (lastUnselected == -1)
249268
continue;
@@ -255,7 +274,7 @@ public Models.Change GetNextChangeWithoutSelection()
255274
}
256275

257276
if (lastUnselected != -1)
258-
return changes[lastUnselected];
277+
return list.Changes[lastUnselected];
259278
}
260279

261280
return null;

0 commit comments

Comments
 (0)