/
githubmirror
/
Files
Обзор
Документация
Войти
/
githubmirror
/
Files
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Files.App/UserControls/Selection/InvertPreviousItemSelectionStrategy.cs
57 строк
1 KB
Yair
Code Quality: Ran code cleanup (#17307)
25 июл 2025, 03:57
Не верифицирован
25 июл 2025, 03:57
4558bc2
Код
Авторство
О чём код?
// Copyright (c) Files Community // Licensed under the MIT License. using System.Runtime.InteropServices; namespace Files.App.UserControls.Selection { internal sealed class InvertPreviousItemSelectionStrategy : ItemSelectionStrategy { private readonly List<object> prevSelectedItems; public InvertPreviousItemSelectionStrategy(ICollection<object> selectedItems, List<object> prevSelectedItems) : base(selectedItems) { this.prevSelectedItems = prevSelectedItems; } public override void HandleIntersectionWithItem(object item) { try { if (prevSelectedItems.Contains(item)) { selectedItems.Remove(item); } else if (!selectedItems.Contains(item)) { selectedItems.Add(item); } } catch (COMException) // List is being modified { } } public override void HandleNoIntersectionWithItem(object item) { try { // Restore selection on items not intersecting with the rectangle if (prevSelectedItems.Contains(item)) { if (!selectedItems.Contains(item)) { selectedItems.Add(item); } } else { selectedItems.Remove(item); } } catch (COMException) // List is being modified { } } } }