文件监听优化

This commit is contained in:
BookerLiu
2023-04-06 16:09:33 +08:00
parent 280e66f457
commit 26e4a7e4d5
2 changed files with 34 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace GeekDesk.Util
@@ -88,7 +89,7 @@ namespace GeekDesk.Util
/// 开启所有菜单监听
/// </summary>
/// <param name="appData"></param>
public static void StartLinkMenuWatcher(AppData appData)
public static void EnableLinkMenuWatcher(AppData appData)
{
foreach (MenuInfo menuInfo in appData.MenuList)
{
@@ -97,6 +98,37 @@ namespace GeekDesk.Util
LinkMenuWatcher(menuInfo);
}
}
RefreshLinkMenuIcon(appData);
}
private static void RefreshLinkMenuIcon(AppData appData)
{
new Thread(() =>
{
foreach (MenuInfo menuInfo in appData.MenuList)
{
if (menuInfo.MenuType == Constant.MenuType.LINK)
{
DirectoryInfo dirInfo = new DirectoryInfo(menuInfo.LinkPath);
FileSystemInfo[] fileInfos = dirInfo.GetFileSystemInfos();
ObservableCollection<IconInfo> iconList = new ObservableCollection<IconInfo>();
foreach (FileSystemInfo fileInfo in fileInfos)
{
IconInfo iconInfo = CommonCode.GetIconInfoByPath_NoWrite(fileInfo.FullName);
iconList.Add(iconInfo);
}
App.Current.Dispatcher.Invoke(() =>
{
foreach (IconInfo iconInfo in iconList)
{
menuInfo.IconList = null;
menuInfo.IconList = iconList;
}
});
}
}
}).Start();
}
/// <summary>