@@ -50,28 +50,31 @@ public static List<ContextMenuFlyoutItemViewModel> Filter(List<ContextMenuFlyout
50
50
{
51
51
items = items . Where ( x => Check ( item : x , currentInstanceViewModel : currentInstanceViewModel , selectedItems : selectedItems , shiftPressed : shiftPressed ) ) . ToList ( ) ;
52
52
items . ForEach ( x => x . Items = x . Items . Where ( y => Check ( item : y , currentInstanceViewModel : currentInstanceViewModel , selectedItems : selectedItems , shiftPressed : shiftPressed ) ) . ToList ( ) ) ;
53
+
53
54
var overflow = items . Where ( x => x . ID == "ItemOverflow" ) . FirstOrDefault ( ) ;
54
- if ( overflow != null && ! shiftPressed )
55
+ if ( overflow != null )
55
56
{
56
- var overflowItems = items . Where ( x => x . ShowOnShift ) . ToList ( ) ;
57
-
58
- // Adds a separator between items already there and the new ones
59
- if ( overflow . Items . Count != 0 && overflow . Items . Last ( ) . ItemType != ItemType . Separator && overflowItems . Count > 0 )
57
+ if ( ! shiftPressed && App . AppSettings . MoveOverflowMenuItemsToSubMenu ) // items with ShowOnShift to overflow menu
60
58
{
61
- overflow . Items . Add ( new ContextMenuFlyoutItemViewModel ( )
59
+ var overflowItems = items . Where ( x => x . ShowOnShift ) . ToList ( ) ;
60
+
61
+ // Adds a separator between items already there and the new ones
62
+ if ( overflow . Items . Count != 0 && overflow . Items . Last ( ) . ItemType != ItemType . Separator && overflowItems . Count > 0 )
62
63
{
63
- ItemType = ItemType . Separator ,
64
- } ) ;
64
+ overflow . Items . Add ( new ContextMenuFlyoutItemViewModel { ItemType = ItemType . Separator } ) ;
65
+ }
66
+
67
+ items = items . Except ( overflowItems ) . ToList ( ) ;
68
+ overflowItems . ForEach ( x => overflow . Items . Add ( x ) ) ;
65
69
}
66
- overflowItems . ForEach ( x => overflow . Items . Add ( x ) ) ;
67
- items = items . Except ( overflowItems ) . ToList ( ) ;
68
- }
69
70
70
- // remove the overflow if it has no child items
71
- if ( overflow != null && overflow . Items . Count == 0 )
72
- {
73
- items . Remove ( overflow ) ;
71
+ // remove the overflow if it has no child items
72
+ if ( overflow . Items . Count == 0 )
73
+ {
74
+ items . Remove ( overflow ) ;
75
+ }
74
76
}
77
+
75
78
return items ;
76
79
}
77
80
0 commit comments