mirror of
https://github.com/sourcegit-scm/sourcegit
synced 2025-06-22 10:55:00 +00:00
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:
parent
196b454ae8
commit
a128b67bd4
10 changed files with 56 additions and 70 deletions
|
@ -31,9 +31,25 @@ namespace SourceGit.Views
|
|||
|
||||
protected override void OnKeyDown(KeyEventArgs e)
|
||||
{
|
||||
if (SelectedItem is ViewModels.RepositoryNode { IsRepository: false } node && e.KeyModifiers == KeyModifiers.None)
|
||||
if (SelectedItem is ViewModels.RepositoryNode node && e.KeyModifiers == KeyModifiers.None)
|
||||
{
|
||||
if ((node.IsExpanded && e.Key == Key.Left) || (!node.IsExpanded && e.Key == Key.Right))
|
||||
if (e.Key is Key.Delete or Key.Back)
|
||||
{
|
||||
node.Delete();
|
||||
e.Handled = true;
|
||||
}
|
||||
else if (node.IsRepository)
|
||||
{
|
||||
if (e.Key == Key.Enter)
|
||||
{
|
||||
var parent = this.FindAncestorOfType<Launcher>();
|
||||
if (parent is { DataContext: ViewModels.Launcher launcher })
|
||||
launcher.OpenRepositoryInTab(node, null);
|
||||
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
else if ((node.IsExpanded && e.Key == Key.Left) || (!node.IsExpanded && e.Key == Key.Right) || e.Key == Key.Enter)
|
||||
{
|
||||
ViewModels.Welcome.Instance.ToggleNodeIsExpanded(node);
|
||||
e.Handled = true;
|
||||
|
@ -92,33 +108,6 @@ namespace SourceGit.Views
|
|||
}
|
||||
}
|
||||
|
||||
private void OnTreeViewKeyDown(object _, KeyEventArgs e)
|
||||
{
|
||||
if (TreeContainer.SelectedItem is ViewModels.RepositoryNode node)
|
||||
{
|
||||
if (e.Key == Key.Enter)
|
||||
{
|
||||
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;
|
||||
}
|
||||
else if (e.Key is Key.Delete or Key.Back)
|
||||
{
|
||||
node.Delete();
|
||||
e.Handled = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void OnTreeNodeContextRequested(object sender, ContextRequestedEventArgs e)
|
||||
{
|
||||
if (sender is Grid { DataContext: ViewModels.RepositoryNode node } grid)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue