✅ 文件监听优化
This commit is contained in:
@@ -332,7 +332,7 @@ namespace GeekDesk
|
|||||||
}
|
}
|
||||||
|
|
||||||
//监听实时文件夹菜单
|
//监听实时文件夹菜单
|
||||||
FileWatcher.StartLinkMenuWatcher(appData);
|
FileWatcher.EnableLinkMenuWatcher(appData);
|
||||||
|
|
||||||
|
|
||||||
//更新线程开启 检测更新
|
//更新线程开启 检测更新
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
Reference in New Issue
Block a user