Skip to content

Commit 1038855

Browse files
committed
enhance: auto-select the first conflict file when no files are selected (sourcegit-scm#2053)
Signed-off-by: leo <longshuang@msn.cn>
1 parent 65d122f commit 1038855

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

src/ViewModels/WorkingCopy.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -264,8 +264,8 @@ public void SetData(List<Models.Change> changes, CancellationToken cancellationT
264264
return;
265265

266266
HasUnsolvedConflicts = _cached.Find(x => x.IsConflicted) != null;
267-
UpdateDetail();
268267
UpdateInProgressState();
268+
UpdateDetail();
269269
});
270270

271271
return;
@@ -313,6 +313,12 @@ public void SetData(List<Models.Change> changes, CancellationToken cancellationT
313313
selectedStaged.Add(c);
314314
}
315315

316+
if (selectedUnstaged.Count == 0 && selectedStaged.Count == 0 && hasConflict)
317+
{
318+
var firstConflict = visibleUnstaged.Find(x => x.IsConflicted);
319+
selectedUnstaged.Add(firstConflict);
320+
}
321+
316322
Dispatcher.UIThread.Invoke(() =>
317323
{
318324
if (cancellationToken.IsCancellationRequested)
@@ -329,8 +335,8 @@ public void SetData(List<Models.Change> changes, CancellationToken cancellationT
329335
SelectedStaged = selectedStaged;
330336
_isLoadingData = false;
331337

332-
UpdateDetail();
333338
UpdateInProgressState();
339+
UpdateDetail();
334340
});
335341
}
336342

src/Views/WorkingCopy.axaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@ private ContextMenu CreateContextMenuForUnstagedChanges(ViewModels.WorkingCopy v
336336
menu.Items.Add(useTheirs);
337337
menu.Items.Add(useMine);
338338

339-
if (change.ConflictReason is Models.ConflictReason.BothAdded or Models.ConflictReason.BothModified)
339+
if (change.ConflictReason is Models.ConflictReason.BothAdded or Models.ConflictReason.BothModified && !Directory.Exists(path))
340340
{
341341
var mergeBuiltin = new MenuItem();
342342
mergeBuiltin.Header = App.Text("ChangeCM.Merge");

0 commit comments

Comments
 (0)