diff --git a/src/Files.App/Helpers/ShellContextMenuHelper.cs b/src/Files.App/Helpers/ShellContextMenuHelper.cs index 1ec0a4726593..201d73cf4af3 100644 --- a/src/Files.App/Helpers/ShellContextMenuHelper.cs +++ b/src/Files.App/Helpers/ShellContextMenuHelper.cs @@ -255,7 +255,15 @@ public static async Task LoadShellMenuItems(string path, CommandBarFlyout itemCo var openWithItem = shellMenuItems.Where(x => (x.Tag as Win32ContextMenuItem)?.CommandString == "openas").ToList().FirstOrDefault(); if (openWithItem is not null) { + openWithItem.ColoredIcon = new ColoredIconModel() + { + BaseLayerGlyph = "\uF049", + OverlayLayerGlyph = "\uF04A", + }; var (_, openWithItems) = ItemModelListToContextFlyoutHelper.GetAppBarItemsFromModel(new List() { openWithItem }); + var placeholder = itemContextMenuFlyout.SecondaryCommands.Where(x => Equals((x as AppBarButton)?.Tag, "OpenWithPlaceholder")).FirstOrDefault() as AppBarButton; + if (placeholder is not null) + placeholder.Visibility = Visibility.Collapsed; itemContextMenuFlyout.SecondaryCommands.Insert(0, openWithItems.FirstOrDefault()); shellMenuItems.Remove(openWithItem); } diff --git a/src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml.cs b/src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml.cs index 4da721f4d626..55c45a4bf655 100644 --- a/src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml.cs +++ b/src/Files.App/UserControls/Widgets/RecentFilesWidget.xaml.cs @@ -117,7 +117,7 @@ private void Grid_RightTapped(object sender, RightTappedRoutedEventArgs e) secondaryElements.ForEach(i => itemContextMenuFlyout.SecondaryCommands.Add(i)); itemContextMenuFlyout.ShowAt(recentItemsGrid, new FlyoutShowOptions { Position = e.GetPosition(recentItemsGrid) }); - _ = ShellContextmenuHelper.LoadShellMenuItems(item.Path, itemContextMenuFlyout); + _ = ShellContextmenuHelper.LoadShellMenuItems(item.Path, itemContextMenuFlyout, showOpenWithMenu: true); e.Handled = true; } @@ -126,6 +126,13 @@ public override List GetItemMenuItems(WidgetCard { return new List() { + new ContextMenuFlyoutItemViewModel() + { + Text = "OpenItemsWithCaptionText".GetLocalizedResource(), + Glyph = "\uE17D", + Tag = "OpenWithPlaceholder", + IsEnabled = false + }, new ContextMenuFlyoutItemViewModel() { Text = "RecentItemRemove/Text".GetLocalizedResource(),