@@ -11,6 +11,29 @@ public CommitDetail()
1111 InitializeComponent ( ) ;
1212 }
1313
14+ private async void OnCommitListKeyDown ( object sender , KeyEventArgs e )
15+ {
16+ if ( DataContext is ViewModels . CommitDetail detail &&
17+ sender is ListBox { SelectedItem : Models . Change change } &&
18+ e . KeyModifiers . HasFlag ( OperatingSystem . IsMacOS ( ) ? KeyModifiers . Meta : KeyModifiers . Control ) )
19+ {
20+ if ( e . Key == Key . C )
21+ {
22+ var path = change . Path ;
23+ if ( e . KeyModifiers . HasFlag ( KeyModifiers . Shift ) )
24+ path = detail . GetAbsPath ( path ) ;
25+
26+ await App . CopyTextAsync ( path ) ;
27+ e . Handled = true ;
28+ }
29+ else if ( e . Key == Key . D && e . KeyModifiers . HasFlag ( KeyModifiers . Shift ) )
30+ {
31+ detail . OpenChangeInMergeTool ( change ) ;
32+ e . Handled = true ;
33+ }
34+ }
35+ }
36+
1437 private void OnChangeDoubleTapped ( object sender , TappedEventArgs e )
1538 {
1639 if ( DataContext is ViewModels . CommitDetail detail && sender is Grid { DataContext : Models . Change change } )
@@ -32,21 +55,5 @@ private void OnChangeContextRequested(object sender, ContextRequestedEventArgs e
3255
3356 e . Handled = true ;
3457 }
35-
36- private async void OnCommitListKeyDown ( object sender , KeyEventArgs e )
37- {
38- if ( DataContext is ViewModels . CommitDetail detail && sender is Grid { DataContext : Models . Change change } )
39- {
40- if ( e . Key == Key . C && e . KeyModifiers . HasFlag ( OperatingSystem . IsMacOS ( ) ? KeyModifiers . Meta : KeyModifiers . Control ) )
41- {
42- var path = change . Path ;
43- if ( e . KeyModifiers . HasFlag ( KeyModifiers . Shift ) )
44- path = detail . GetAbsPath ( path ) ;
45-
46- await App . CopyTextAsync ( path ) ;
47- e . Handled = true ;
48- }
49- }
50- }
5158 }
5259}
0 commit comments