文件监听优化

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

@@ -332,7 +332,7 @@ namespace GeekDesk
} }
//监听实时文件夹菜单 //监听实时文件夹菜单
FileWatcher.StartLinkMenuWatcher(appData); FileWatcher.EnableLinkMenuWatcher(appData);
//更新线程开启 检测更新 //更新线程开启 检测更新

View File

@@ -5,6 +5,7 @@ using System.Collections.ObjectModel;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
namespace GeekDesk.Util namespace GeekDesk.Util
@@ -88,7 +89,7 @@ namespace GeekDesk.Util
/// 开启所有菜单监听 /// 开启所有菜单监听
/// </summary> /// </summary>
/// <param name="appData"></param> /// <param name="appData"></param>
public static void StartLinkMenuWatcher(AppData appData) public static void EnableLinkMenuWatcher(AppData appData)
{ {
foreach (MenuInfo menuInfo in appData.MenuList) foreach (MenuInfo menuInfo in appData.MenuList)
{ {
@@ -97,6 +98,37 @@ namespace GeekDesk.Util
LinkMenuWatcher(menuInfo); 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> /// <summary>