internal void RemoveCheatF() { if (SelectedCheatFile != null) { OpDFiles.Trash(SelectedCheatFile.DestPath); LoadCheatCodes(); } }
internal void RemoveVideoF() { if (SelectedVideo == null) { return; } if (SelectedVideo.IsSelected) { DxMBox.ShowDial("You must select another before to delete it"); return; } OpDFiles.Trash(SelectedVideo.DestPath); LoadVideos(); }
internal void RemoveMusicF() { if (SelectedMusic == null) { return; } if (SelectedMusic.IsSelected) { DxMBox.ShowDial("You must select another before to delete it"); return; } OpDFiles.Trash(SelectedMusic.DestPath); LoadMusics(); }
internal void SimpleCopyManager(string fileSrc, ref E_Decision previousDec, string destFile) { if (CancelToken.IsCancellationRequested) { throw new OperationCanceledException("Operation stopped"); } if (!destFile.Contains(_WFolder)) { throw new Exception($"[CreateFolders] Erreur la chaine '{destFile}' ne contient pas '{_WFolder}'"); } // Création des dossiers string destFolder = Path.GetDirectoryName(destFile); if (!Directory.Exists(destFolder)) { Directory.CreateDirectory(destFolder); } //string destFile = Path.Combine(destFolder, Path.GetFileName(fileSrc)); E_Decision?conflictDec = previousDec; bool overwrite = false; if (File.Exists(destFile)) { HeTrace.Write($"[CopyHandler] Destination file exists... ", this); if (conflictDec == E_Decision.None) { conflictDec = PackMe_IHM.Ask4_FileConflict(fileSrc, destFile, E_DxConfB.OverWrite | E_DxConfB.Pass | E_DxConfB.Trash); // Mémorisation pour les futurs conflits switch (conflictDec) { case E_Decision.PassAll: case E_Decision.OverWriteAll: case E_Decision.TrashAll: previousDec = conflictDec == null ? E_Decision.None : (E_Decision)conflictDec; break; } } HeTrace.EndLine(conflictDec.ToString(), this); switch (conflictDec) { case E_Decision.Pass: case E_Decision.PassAll: SetStatus(this, new StateArg($"Pass: {fileSrc}", CancelFlag)); return; case E_Decision.OverWrite: case E_Decision.OverWriteAll: SetStatus(this, new StateArg($"OverWrite: {destFile}", CancelFlag)); overwrite = true; break; case E_Decision.Trash: case E_Decision.TrashAll: SetStatus(this, new StateArg($"Trash: {destFile}", CancelFlag)); OpDFiles.Trash(destFile); break; } } // --- Copie SetStatus(this, new StateArg($"Copy {fileSrc}", CancelFlag)); SetProgress(this, new ProgressArg(0, 1, CancelFlag)); FilesFunc.Copy(fileSrc, destFile, overwrite); SetProgress(this, new ProgressArg(1, 1, CancelFlag)); // --- Vérification des sommes this.SetStatus(this, new StateArg($"Copy verification", CancelFlag)); //this.SetMaximum(this, 100); //bool? res = _ObjectFiles.VerifByHash_Sync(fileSrc, destFile, () => MD5.Create()); //var res = _ObjectFiles.DeepVerif(fileSrc, destFile, () => MD5.Create()); this.SetStatus(this, new StateArg($"Check verif: {res}", CancelFlag)); //this.UpdateProgress?.Invoke(100); }
/// <summary> /// /// </summary> /// <param name="gamePath"></param> /// <param name="title">Titre du jeu</param> private void Compress_7ZipMode(string gamePath) { var archiveLink = Path.Combine(_SystemPath, $"{Path.GetFileName(gamePath)}.7z"); if (File.Exists(archiveLink)) { var Length = DxLocalTransf.Tools.FileSizeFormatter.Convert(new FileInfo(archiveLink).Length); var resConflict = SafeBoxes.Ask4_DestConflict ( LanguageManager.Instance.Lang.File_Ex, archiveLink, Length, E_DxConfB.OverWrite | E_DxConfB.Trash ); switch (resConflict) { case E_Decision.OverWriteAll: case E_Decision.OverWrite: File.Delete(archiveLink); break; case E_Decision.Trash: case E_Decision.TrashAll: OpDFiles.Trash(archiveLink); break; } } SevenZipCompression sevZippy = new SevenZipCompression(_SystemPath) { IsPaused = this.IsPaused, TokenSource = this.TokenSource }; sevZippy.UpdateStatus += (x, y) => HeTrace.WriteLine(y.Message); var res = (bool?)PackMe_IHM.ZipCompressFolder(sevZippy, () => sevZippy.CompressFolder( gamePath, Path.GetFileName(gamePath), Config.SevZipLvlCompression), "Compression 7z"); if (res != true) { return; } #region Création du fichier MD5 if (Config.CreateMD5) { Gen_PlusCalculator calculator = Gen_PlusCalculator.Create(CancelToken); string sum = string.Empty; PackMe_IHM.LaunchOpProgress(calculator, () => sum = calculator.Calcul(sevZippy.ArchiveLink, () => MD5.Create()), "Calcul de somme"); HashCalc.Files.ClassicParser.Write(sevZippy.ArchiveLink, sum, HashType.md5, overwrite: true); } else { HeTrace.WriteLine($"[Run] MD5 disabled", this); } #endregion }