Merge pull request #143 from NLick47/main

fix: 修复选择下载路径时引发的另一个问题
This commit is contained in:
yaobiao131
2024-10-04 11:53:27 +08:00
committed by GitHub
2 changed files with 13 additions and 2 deletions

View File

@@ -39,7 +39,7 @@ public static class ListHelper
/// <param name="list"></param>
/// <param name="item"></param>
/// <param name="index"></param>
public static void InsertUnique<T>(Collection<T> list, T item, int index)
public static void InsertUnique<T>(Collection<T> list, T item, int index, ref T currentSelection)
{
if (!list.Contains(item))
{
@@ -47,8 +47,19 @@ public static class ListHelper
}
else
{
var previousSelection = currentSelection;
list.Remove(item);
list.Insert(index, item);
if (previousSelection != null && previousSelection.Equals(item))
{
currentSelection = previousSelection;
}
}
}
public static void InsertUnique<T>(Collection<T> list, T item, int index)
{
T defaultSelection = default;
InsertUnique(list, item, index, ref defaultSelection);
}
}

View File

@@ -379,7 +379,7 @@ public class ViewDownloadSetterViewModel : BaseDialogViewModel
// 将Directory移动到第一项
// 如果直接在ComboBox中选择的就需要
// 否则选中项不会在下次出现在第一项
ListHelper.InsertUnique(DirectoryList, Directory, 0);
ListHelper.InsertUnique(DirectoryList, Directory, 0,ref _directory);
// 将更新后的DirectoryList写入历史中
SettingsManager.GetInstance().SetSaveVideoRootPath(Directory);