private static void UpdateDisplay(UIFile file) { if (file.Class != null) { if (!string.IsNullOrWhiteSpace(file.Class.DisplayNameFormat)) { file.Display.DisplayName = displayNameConverter.Convert(new object[] { file.Display, file.Class }, null, 0, null) as string ?? ""; } if (FilesViewer.Main != null && FilesViewer.Main.CurrentFileView == ClassifyFiles.Enum.FileView.Detail) { //只有详细视图会显示下面的内容 if (!string.IsNullOrWhiteSpace(file.Class.DisplayProperty1) && file.Display.DisplayProperty1 == null) { file.Display.DisplayProperty1 = displayNameConverter.Convert(new object[] { file.Display, file.Class }, null, 1, null) as string ?? ""; } if (!string.IsNullOrWhiteSpace(file.Class.DisplayProperty2) && file.Display.DisplayProperty2 == null) { file.Display.DisplayProperty2 = displayNameConverter.Convert(new object[] { file.Display, file.Class }, null, 2, null) as string ?? ""; } if (!string.IsNullOrWhiteSpace(file.Class.DisplayProperty3) && file.Display.DisplayProperty3 == null) { file.Display.DisplayProperty3 = displayNameConverter.Convert(new object[] { file.Display, file.Class }, null, 3, null) as string ?? ""; } } } ; }
private void OnPlay(UIFile uiFile) { if (null == uiFile || null == uiFile.MonitoredFile) { return; } Process.Start(uiFile.MonitoredFile.Path); }
private void OnSetTag(UIFile uiFile) { if (null == uiFile || null == uiFile.MonitoredFile) { return; } this.eventAggregator.GetEvent <SettingsEvent>().Publish(new SettingEventArgs(SettingType.SetTags, uiFile.MonitoredFile)); }
//加载已有系统,记录系统文件 private void RecordSysFiles() { _existFiles.Clear(); var sys = Directory.GetDirectories(PSDImporterConst.RESOURECEDIR); foreach (var t in sys) { var uf = new UIFile(t); _existFiles.Add(uf); } }
private static void UpdateFileIcon(UIFile file) { if (!Configs.AutoThumbnails) { return; } bool hasChanged = false; if (Configs.ThumbnailStrategy == ThumbnailStrategy.Win10Icon) { if (!generatedWin10Icons.ContainsKey(file.File.ID) && !file.File.HasWin10Icon()) { if (TryGenerateWin10Icon(file.File)) { hasChanged = true; } } } else { if (Configs.ThumbnailStrategy == ThumbnailStrategy.MediaThumbnailPrefer) { //本来是null为没有生成,""为生成失败,后来感觉这样容易出问题,所以干脆生成失败的也再试一次好了 if (!generatedThumbnails.ContainsKey(file.File.ID) && !file.File.HasThumbnail()) { // generatedThumbnails.TryAdd(file.File.ID, file); if (TryGenerateThumbnail(file.File)) { hasChanged = true; } } } if (Configs.ThumbnailStrategy == ThumbnailStrategy.MediaThumbnailPrefer || Configs.ThumbnailStrategy == ThumbnailStrategy.WindowsExplorerIcon) { if (!generatedIcons.ContainsKey(file.File.ID ) && !file.File.HasExplorerIcon()) { if (TryGenerateExplorerIcon(file.File)) { hasChanged = true; } } } } if (hasChanged) { file.Display.NotifyIconChanged(); } }
private void OnOpenLocation(UIFile uiFile) { if (null == uiFile || null == uiFile.MonitoredFile) { return; } System.IO.FileInfo file = new System.IO.FileInfo(uiFile.MonitoredFile.Path); if (file.IsNull()) { return; } Process.Start("explorer.exe", file.DirectoryName); }
public static void AddTask(UIFile file) { if (Configs.AutoThumbnails && !file.File.HasIconInCurrentSettings()) { Tasks.Enqueue(() => UpdateFileIcon(file)); } if (file.Class != null && (!string.IsNullOrEmpty(file.Class.DisplayNameFormat) || !string.IsNullOrEmpty(file.Class.DisplayProperty1) || !string.IsNullOrEmpty(file.Class.DisplayProperty2) || !string.IsNullOrEmpty(file.Class.DisplayProperty3))) { Tasks.Enqueue(() => UpdateDisplay(file)); } }
public void SetFloder(List <string> array, bool displayLayer = false) { if (array[0].EndsWith(".prefab")) { UIFile f = new UIFile(this, array[0].Substring(0, array[0].Length - 7), displayLayer); files.Add(f); } else { UIFloder floder = null; if (!floders.TryGetValue(array[0], out floder)) { floder = new UIFloder(); floder.floderName = array[0]; floder.parent = this; floder.depth = depth + 1; floders.Add(array[0], floder); } array.RemoveAt(0); floder.SetFloder(array, displayLayer); } }