@@ -438,11 +438,29 @@ private ContextMenu CreateContextMenuForMultipleCommits(ViewModels.Repository re
438438 e . Handled = true ;
439439 } ;
440440
441+ var copyMessage = new MenuItem ( ) ;
442+ copyMessage . Header = App . Text ( "CommitCM.CopyCommitMessage" ) ;
443+ copyMessage . Icon = App . CreateMenuIcon ( "Icons.Info" ) ;
444+ copyMessage . Click += async ( _ , e ) =>
445+ {
446+ var vm = DataContext as ViewModels . Histories ;
447+ var messages = new List < string > ( ) ;
448+ foreach ( var c in selected )
449+ {
450+ var message = await vm . GetCommitFullMessageAsync ( c ) ;
451+ messages . Add ( message ) ;
452+ }
453+
454+ await App . CopyTextAsync ( string . Join ( "\n -----\n " , messages ) ) ;
455+ e . Handled = true ;
456+ } ;
457+
441458 var copy = new MenuItem ( ) ;
442459 copy . Header = App . Text ( "Copy" ) ;
443460 copy . Icon = App . CreateMenuIcon ( "Icons.Copy" ) ;
444461 copy . Items . Add ( copyShas ) ;
445462 copy . Items . Add ( copyInfos ) ;
463+ copy . Items . Add ( copyMessage ) ;
446464 menu . Items . Add ( copy ) ;
447465 return menu ;
448466 }
@@ -871,7 +889,8 @@ private ContextMenu CreateContextMenuForSingleCommit(ViewModels.Repository repo,
871889 copyMessage . Icon = App . CreateMenuIcon ( "Icons.Info" ) ;
872890 copyMessage . Click += async ( _ , e ) =>
873891 {
874- await vm . CopyCommitFullMessageAsync ( commit ) ;
892+ var message = await vm . GetCommitFullMessageAsync ( commit ) ;
893+ await App . CopyTextAsync ( message ) ;
875894 e . Handled = true ;
876895 } ;
877896
0 commit comments