feature: double click on commit (#295)

* when commit is current branch head, do nothing
* when commit is head of some local branch which is not current, try to checkout this branch
* otherwise, ask user should checkout selected commit as deteched
This commit is contained in:
leo 2024-07-30 11:47:58 +08:00
parent b18f86dde9
commit addfb449cc
No known key found for this signature in database
3 changed files with 34 additions and 1 deletions

View file

@ -142,6 +142,28 @@ namespace SourceGit.ViewModels
}
}
public void DoubleTapped(Models.Commit commit)
{
if (commit == null || commit.IsCurrentHead)
return;
foreach (var d in commit.Decorators)
{
if (d.Type == Models.DecoratorType.LocalBranchHead)
{
var b = _repo.Branches.Find(x => x.FriendlyName == d.Name);
if (b != null)
{
_repo.CheckoutBranch(b);
return;
}
}
}
if (PopupHost.CanCreatePopup())
PopupHost.ShowPopup(new CheckoutCommit(_repo, commit));
}
public ContextMenu MakeContextMenu(DataGrid datagrid)
{
if (datagrid.SelectedItems.Count != 1)