/// <summary> /// Декодируем файлы сохранений /// </summary> /// <param name="moveOriginal">Флаг переноса оригинальных файлов</param> /// <param name="path">Путь для поиска webp файлов</param> /// <returns>True - запуск успешен. False - папка не найдена.</returns> public bool DecodeFiles(string path, bool moveOriginal) { bool ex = false; //Если папка действительно существует if (Directory.Exists(path)) { //Папка успешно получена ex = true; //Запускаем работу в отдельном потоке new Thread(() => { //Обнуляем количество сконвертированных файлов int converted = 1; //Инициализируем информацию о директории DirectoryInfo di = new DirectoryInfo(path); //Получаем список *.webp файлов в директории List <FileInfo> FileList = di.GetFiles("*.webp").ToList(); //Проходимся по всем файлам директории foreach (var file in FileList) { //Выполняем операции над файлом FileWork(file, moveOriginal); //Если работа была отменена if (!isWork) { //Выходим из цикла break; } //Вызываем ивент обновления ConvertProgress?.Invoke(converted++, FileList.Count); } //Если работа всё ещё идёт if (isWork) { //Открываем папку Process.Start(savePath); //Вызываем ивент завершения конвертации ConvertComplete?.Invoke(); } }).Start(); } return(ex); }
private void ReadingProgress(long arg1, long arg2) { ConvertProgress?.Invoke(arg1, arg2); }