feature: support delete key everywhere (#1412)

This commit is contained in:
Nathan Baulch 2025-06-11 17:35:43 +10:00 committed by GitHub
parent 5494093261
commit 196b454ae8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 127 additions and 11 deletions

View file

@ -94,20 +94,28 @@ namespace SourceGit.Views
private void OnTreeViewKeyDown(object _, KeyEventArgs e)
{
if (TreeContainer.SelectedItem is ViewModels.RepositoryNode node && e.Key == Key.Enter)
if (TreeContainer.SelectedItem is ViewModels.RepositoryNode node)
{
if (node.IsRepository)
if (e.Key == Key.Enter)
{
var parent = this.FindAncestorOfType<Launcher>();
if (parent is { DataContext: ViewModels.Launcher launcher })
launcher.OpenRepositoryInTab(node, null);
}
else
{
ViewModels.Welcome.Instance.ToggleNodeIsExpanded(node);
}
if (node.IsRepository)
{
var parent = this.FindAncestorOfType<Launcher>();
if (parent is { DataContext: ViewModels.Launcher launcher })
launcher.OpenRepositoryInTab(node, null);
}
else
{
ViewModels.Welcome.Instance.ToggleNodeIsExpanded(node);
}
e.Handled = true;
e.Handled = true;
}
else if (e.Key is Key.Delete or Key.Back)
{
node.Delete();
e.Handled = true;
}
}
}