Exemple #1
0
 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));
 }
Exemple #4
0
        //加载已有系统,记录系统文件
        private void RecordSysFiles()
        {
            _existFiles.Clear();
            var sys = Directory.GetDirectories(PSDImporterConst.RESOURECEDIR);

            foreach (var t in sys)
            {
                var uf = new UIFile(t);
                _existFiles.Add(uf);
            }
        }
Exemple #5
0
        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);
 }
Exemple #7
0
 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);
     }
 }