Пример #1
0
        public static FileType GetFileTypeByExtention(string ext)
        {
            ext = ext.ToLower();

            if (ArchiveExts.Contains(ext))
            {
                return(FileType.Archive);
            }
            if (VideoExts.Contains(ext))
            {
                return(FileType.Video);
            }
            if (AudioExts.Contains(ext))
            {
                return(FileType.Audio);
            }
            if (ImageExts.Contains(ext))
            {
                return(FileType.Image);
            }
            if (SpreadsheetExts.Contains(ext))
            {
                return(FileType.Spreadsheet);
            }
            if (PresentationExts.Contains(ext))
            {
                return(FileType.Presentation);
            }
            if (DocumentExts.Contains(ext))
            {
                return(FileType.Document);
            }

            return(FileType.Unknown);
        }
Пример #2
0
        // 文件添加
        private void FileListAdd(FileInfo file)
        {
            AppFileType fileType;

            if (VideoExts.Contains(file.Extension.ToString().ToLower()))
            {
                fileType = AppFileType.Video;
            }
            else if (SubExts.Contains(file.Extension.ToString().ToLower()))
            {
                fileType = AppFileType.Sub;
            }
            else
            {
                return;
            }

            var vsItem = new VsItem();

            if (fileType == AppFileType.Video)
            {
                if (VsList.Exists(o => o.Video == file.FullName))
                {
                    return;                                               // 重名排除
                }
                vsItem.Video = file.FullName;
            }
            else if (fileType == AppFileType.Sub)
            {
                if (VsList.Exists(o => o.Sub == file.FullName))
                {
                    return;
                }
                vsItem.Sub = file.FullName;
            }

            vsItem.Status = VsStatus.Unmatched;
            VsList.Add(vsItem);
        }
Пример #3
0
        public static void OpenFile(AppFileType FileType, Action <string, AppFileType> opened)
        {
            using (var fbd = new CommonOpenFileDialog())
            {
                if (FileType == AppFileType.Video)
                {
                    fbd.Filters.Add(new CommonFileDialogFilter("视频文件", string.Join(";", VideoExts.ToList())));
                }
                else if (FileType == AppFileType.Sub)
                {
                    fbd.Filters.Add(new CommonFileDialogFilter("字幕文件", string.Join(";", SubExts.ToList())));
                }

                fbd.Filters.Add(new CommonFileDialogFilter("视频或字幕文件", string.Join(";", VideoExts.Concat(SubExts).ToList())));
                fbd.Filters.Add(new CommonFileDialogFilter("任何类型", "*.*"));
                var result = fbd.ShowDialog();

                if (result == CommonFileDialogResult.Ok && !string.IsNullOrWhiteSpace(fbd.FileName))
                {
                    var fileName = Path.GetFileName(fbd.FileName.Trim());
                    opened(fileName, FileType);
                }
            }
        }
Пример #4
0
        // 导入 文件
        private void OpenFile()
        {
            using (var fbd = new CommonOpenFileDialog()
            {
                Multiselect = true,
            })
            {
                fbd.Filters.Add(new CommonFileDialogFilter("视频或字幕文件", string.Join(";", VideoExts.Concat(SubExts).ToList())));
                var result = fbd.ShowDialog();

                if (result == CommonFileDialogResult.Ok && fbd.FileNames.Count() > 0)
                {
                    SwitchPreview(false);

                    foreach (var fileName in fbd.FileNames)
                    {
                        FileListAdd(new FileInfo(fileName));
                    }

                    MatchVideoSub();
                }
            }
        }