/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App/Data/Models/SuggestionModel.cs
105 строк
2 KB
Saravanan G
Fix: Fixed an issue where shortcuts weren't displayed in search results (#18628)
24 июн 2026, 21:38
Не верифицирован
24 июн 2026, 21:38
441604b
Код
Авторство
О чём код?
// Copyright (c) Files Community // Licensed under the MIT License. using Files.App.Controls; using Files.App.ViewModels.Settings; using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Media.Imaging; namespace Files.App.Data.Models { public sealed partial class SuggestionModel : ObservableObject, IOmnibarTextMemberPathProvider { public bool IsRecentSearch { get; set; } = false; public bool IsShortcut { get; set; } = false; public bool LoadFileIcon { get; set; } = false; public bool NeedsPlaceholderGlyph { get; set; } = true; public string? ItemPath { get; set; } public string Name { get; set; } public string? Description { get; set; } public Visibility DescriptionVisibility => string.IsNullOrEmpty(Description) ? Visibility.Collapsed : Visibility.Visible; public SettingsSearchResult? SettingsResult { get; set; } private BitmapImage? fileImage; public BitmapImage? FileImage { get => fileImage; set { if (fileImage is BitmapImage imgOld) { imgOld.ImageOpened -= Img_ImageOpened; } if (SetProperty(ref fileImage, value)) { if (value is BitmapImage img) { if (img.PixelWidth > 0) { Img_ImageOpened(img, null); } else { img.ImageOpened += Img_ImageOpened; } } } } } private void Img_ImageOpened(object sender, Microsoft.UI.Xaml.RoutedEventArgs e) { if (sender is BitmapImage image) { image.ImageOpened -= Img_ImageOpened; if (image.PixelWidth > 0) { SafetyExtensions.IgnoreExceptions(() => { LoadFileIcon = true; NeedsPlaceholderGlyph = false; }, App.Logger); // 2009482836u } } } public SuggestionModel(ListedItem item) { IsShortcut = item.IsShortcut; LoadFileIcon = item.LoadFileIcon; NeedsPlaceholderGlyph = item.NeedsPlaceholderGlyph; ItemPath = item.ItemPath; Name = item.Name; FileImage = item.FileImage; } public SuggestionModel(string itemName, bool isRecentSearch) { IsRecentSearch = isRecentSearch; Name = itemName; } public SuggestionModel(SettingsSearchResult settingsResult) { SettingsResult = settingsResult; Name = settingsResult.HeaderText; Description = settingsResult.DisplayPath; NeedsPlaceholderGlyph = false; } public string GetTextMemberPath(string textMemberPath) { return Name; } } }