code_review: PR #1412

- Use `ViewModels.StashesPage.SelectedStash` instead of `sender is not ListBox { SelectedValue: Models.Stash stash }`
- In tags view, `SelectedItem` can be `Models.Tag` or `ViewModels.TagTreeNode`
- In logs window, `vm.SelectedLog` may be null

Signed-off-by: leo <longshuang@msn.cn>
This commit is contained in:
leo 2025-06-11 16:13:47 +08:00
parent 196b454ae8
commit a128b67bd4
No known key found for this signature in database
10 changed files with 56 additions and 70 deletions

View file

@ -24,17 +24,7 @@ namespace SourceGit.Views
layout.StashesLeftWidth = new GridLength(maxLeft, GridUnitType.Pixel);
}
private void OnStashContextRequested(object sender, ContextRequestedEventArgs e)
{
if (DataContext is ViewModels.StashesPage vm && sender is Border border)
{
var menu = vm.MakeContextMenu(border.DataContext as Models.Stash);
menu?.Open(border);
}
e.Handled = true;
}
private void OnStashKeyDown(object sender, KeyEventArgs e)
private void OnStashListKeyDown(object sender, KeyEventArgs e)
{
if (e.Key is not (Key.Delete or Key.Back))
return;
@ -42,10 +32,17 @@ namespace SourceGit.Views
if (DataContext is not ViewModels.StashesPage vm)
return;
if (sender is not ListBox { SelectedValue: Models.Stash stash })
return;
vm.Drop(vm.SelectedStash);
e.Handled = true;
}
vm.Drop(stash);
private void OnStashContextRequested(object sender, ContextRequestedEventArgs e)
{
if (DataContext is ViewModels.StashesPage vm && sender is Border border)
{
var menu = vm.MakeContextMenu(border.DataContext as Models.Stash);
menu?.Open(border);
}
e.Handled = true;
}