@@ -51,7 +51,8 @@ public partial class BuildControl : UserControl
51
51
private MenuItem goToTimeLineItem ;
52
52
private MenuItem goToTracingItem ;
53
53
private MenuItem copyChildrenItem ;
54
- private MenuItem sortChildrenItem ;
54
+ private MenuItem sortChildrenByNameItem ;
55
+ private MenuItem sortChildrenByDurationItem ;
55
56
private MenuItem filterChildrenItem ;
56
57
private MenuItem copyNameItem ;
57
58
private MenuItem copyValueItem ;
@@ -217,7 +218,8 @@ public BuildControl(Build build, string logFilePath)
217
218
goToTimeLineItem = new MenuItem ( ) { Header = "Timeline" } ;
218
219
goToTracingItem = new MenuItem ( ) { Header = "Tracing" } ;
219
220
copyChildrenItem = new MenuItem ( ) { Header = "Copy children" } ;
220
- sortChildrenItem = new MenuItem ( ) { Header = "Sort children" } ;
221
+ sortChildrenByNameItem = new MenuItem ( ) { Header = "Sort children by name" } ;
222
+ sortChildrenByDurationItem = new MenuItem ( ) { Header = "Sort children by duration" } ;
221
223
filterChildrenItem = new MenuItem ( ) { Header = "Filter children (Ctrl+F)" } ;
222
224
copyNameItem = new MenuItem ( ) { Header = "Copy name" } ;
223
225
copyValueItem = new MenuItem ( ) { Header = "Copy value" } ;
@@ -255,7 +257,8 @@ public BuildControl(Build build, string logFilePath)
255
257
goToTimeLineItem . Click += ( s , a ) => GoToTimeLine ( ) ;
256
258
goToTracingItem . Click += ( s , a ) => GoToTracing ( ) ;
257
259
copyChildrenItem . Click += ( s , a ) => CopyChildren ( ) ;
258
- sortChildrenItem . Click += ( s , a ) => SortChildren ( ) ;
260
+ sortChildrenByNameItem . Click += ( s , a ) => SortChildrenByName ( ) ;
261
+ sortChildrenByDurationItem . Click += ( s , a ) => SortChildrenByDuration ( ) ;
259
262
filterChildrenItem . Click += ( s , a ) => FilterChildren ( ) ;
260
263
copyNameItem . Click += ( s , a ) => CopyName ( ) ;
261
264
copyValueItem . Click += ( s , a ) => CopyValue ( ) ;
@@ -313,7 +316,8 @@ public BuildControl(Build build, string logFilePath)
313
316
314
317
contextMenu . AddItem ( separator1 ) ;
315
318
316
- contextMenu . AddItem ( sortChildrenItem ) ;
319
+ contextMenu . AddItem ( sortChildrenByNameItem ) ;
320
+ contextMenu . AddItem ( sortChildrenByDurationItem ) ;
317
321
contextMenu . AddItem ( filterChildrenItem ) ;
318
322
contextMenu . AddItem ( hideItem ) ;
319
323
@@ -460,7 +464,8 @@ public void Dispose()
460
464
goToTimeLineItem = null ;
461
465
goToTracingItem = null ;
462
466
copyChildrenItem = null ;
463
- sortChildrenItem = null ;
467
+ sortChildrenByNameItem = null ;
468
+ sortChildrenByDurationItem = null ;
464
469
filterChildrenItem = null ;
465
470
copyNameItem = null ;
466
471
copyValueItem = null ;
@@ -939,7 +944,8 @@ private void ContextMenu_Opened(object sender, RoutedEventArgs e)
939
944
copySubtreeItem . Visibility = hasChildrenVisibility ;
940
945
viewSubtreeTextItem . Visibility = hasChildrenVisibility ;
941
946
copyChildrenItem . Visibility = hasChildrenVisibility ;
942
- sortChildrenItem . Visibility = hasChildrenVisibility ;
947
+ sortChildrenByNameItem . Visibility = hasChildrenVisibility ;
948
+ sortChildrenByDurationItem . Visibility = hasChildrenVisibility ;
943
949
filterChildrenItem . Visibility = hasChildrenVisibility ;
944
950
preprocessItem . Visibility = node is IPreprocessable p && preprocessedFileManager . CanPreprocess ( p ) ? Visibility . Visible : Visibility . Collapsed ;
945
951
searchNuGetItem . Visibility = node is IProjectOrEvaluation ? Visibility . Visible : Visibility . Collapsed ;
@@ -2106,7 +2112,7 @@ public void CopyChildren()
2106
2112
}
2107
2113
}
2108
2114
2109
- public void SortChildren ( )
2115
+ public void SortChildrenByName ( )
2110
2116
{
2111
2117
var selectedItem = treeView . SelectedItem ;
2112
2118
if ( selectedItem is TreeNode treeNode )
@@ -2115,6 +2121,15 @@ public void SortChildren()
2115
2121
}
2116
2122
}
2117
2123
2124
+ public void SortChildrenByDuration ( )
2125
+ {
2126
+ var selectedItem = treeView . SelectedItem ;
2127
+ if ( selectedItem is TreeNode treeNode )
2128
+ {
2129
+ treeNode . SortChildren ( TreeNode . CompareByDuration ) ;
2130
+ }
2131
+ }
2132
+
2118
2133
public void FilterChildren ( )
2119
2134
{
2120
2135
IsFindVisible = ! IsFindVisible ;
0 commit comments