feature<WorkingCopyChanges>: add the shortcut SPACE to stage/unstage the selected file

This commit is contained in:
Jai 2021-07-06 12:45:35 +08:00
parent f449914e2c
commit d5cc3c3fa2
2 changed files with 11 additions and 0 deletions

View file

@ -28,14 +28,17 @@
Visibility="Visible"> Visibility="Visible">
<TreeView.Resources> <TreeView.Resources>
<RoutedUICommand x:Key="SelectWholeTreeCommand" Text="SelectWholeTree"/> <RoutedUICommand x:Key="SelectWholeTreeCommand" Text="SelectWholeTree"/>
<RoutedUICommand x:Key="StageChangeCommand" Text="StageChange"/>
</TreeView.Resources> </TreeView.Resources>
<TreeView.InputBindings> <TreeView.InputBindings>
<KeyBinding Key="A" Modifiers="Ctrl" Command="{StaticResource SelectWholeTreeCommand}"/> <KeyBinding Key="A" Modifiers="Ctrl" Command="{StaticResource SelectWholeTreeCommand}"/>
<KeyBinding Key="Space" Command="{StaticResource StageChangeCommand}"/>
</TreeView.InputBindings> </TreeView.InputBindings>
<TreeView.CommandBindings> <TreeView.CommandBindings>
<CommandBinding Command="{StaticResource SelectWholeTreeCommand}" Executed="SelectWholeTree"/> <CommandBinding Command="{StaticResource SelectWholeTreeCommand}" Executed="SelectWholeTree"/>
<CommandBinding Command="{StaticResource StageChangeCommand}" Executed="StageChange"/>
</TreeView.CommandBindings> </TreeView.CommandBindings>
<controls:Tree.ItemContainerStyle> <controls:Tree.ItemContainerStyle>

View file

@ -690,6 +690,14 @@ namespace SourceGit.Views.Widgets {
modeTree.SelectAll(); modeTree.SelectAll();
} }
private void StageChange(object sender, ExecutedRoutedEventArgs e) {
if (!IsUnstaged) {
UnstageSelected();
} else {
StageSelected();
}
}
private void OnTreeSelectionChanged(object sender, RoutedEventArgs e) { private void OnTreeSelectionChanged(object sender, RoutedEventArgs e) {
if (Mode != Models.Change.DisplayMode.Tree) return; if (Mode != Models.Change.DisplayMode.Tree) return;