From 5e688ae7b195a80f1bd530138c8b2777a9697f56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81d=C3=A1m=20Kov=C3=A1cs?= Date: Wed, 26 Jan 2022 09:53:50 +0100 Subject: [PATCH] Frendlier SetCurrentSelectedItem --- src/Core/FileTime.Core/Components/Tab.cs | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Core/FileTime.Core/Components/Tab.cs b/src/Core/FileTime.Core/Components/Tab.cs index dc74cbe..8d155e9 100644 --- a/src/Core/FileTime.Core/Components/Tab.cs +++ b/src/Core/FileTime.Core/Components/Tab.cs @@ -50,11 +50,15 @@ namespace FileTime.Core.Components { if (_currentSelectedItem != value) { - var contains = (await _currentLocation.GetItems())?.Contains(value) ?? false; - if(value != null && !contains) throw new IndexOutOfRangeException("Provided item does not exists in the current container."); + IItem? itemToSelect = null; + if (value != null) + { + itemToSelect = (await _currentLocation.GetItems())?.FirstOrDefault(i => i.FullName == value?.FullName); + if (itemToSelect == null) throw new IndexOutOfRangeException("Provided item does not exists in the current container."); + } - _currentSelectedItem = value; - CurrentSelectedIndex = await GetItemIndex(value); + _currentSelectedItem = itemToSelect; + CurrentSelectedIndex = await GetItemIndex(itemToSelect); await CurrentSelectedItemChanged?.InvokeAsync(this, AsyncEventArgs.Empty); } }