diff options
author | Tiago Conceição <Tiago_caza@hotmail.com> | 2021-08-13 19:34:21 +0300 |
---|---|---|
committer | Tiago Conceição <Tiago_caza@hotmail.com> | 2021-08-13 19:34:21 +0300 |
commit | d8b83d5de25bb7aa6ca34fa662caa1c376029fa3 (patch) | |
tree | 76af8e54132455f60bf6e12ab420ea98c00a9254 /UVtools.WPF | |
parent | 323e64d5eec1ffde0a8992a6c07acc65120e7c07 (diff) |
Add CanProcess method to allow multiple formats with same extension
Based on: https://github.com/tslater2006/UVtools/commit/ec2727ddc13c65cde2092e45ac0ba7fed796cbaa
Diffstat (limited to 'UVtools.WPF')
-rw-r--r-- | UVtools.WPF/ConsoleArguments.cs | 20 | ||||
-rw-r--r-- | UVtools.WPF/Controls/Tools/ToolRedrawModelControl.axaml.cs | 2 | ||||
-rw-r--r-- | UVtools.WPF/MainWindow.axaml.cs | 4 |
3 files changed, 11 insertions, 15 deletions
diff --git a/UVtools.WPF/ConsoleArguments.cs b/UVtools.WPF/ConsoleArguments.cs index 7839392..cb8f691 100644 --- a/UVtools.WPF/ConsoleArguments.cs +++ b/UVtools.WPF/ConsoleArguments.cs @@ -8,6 +8,7 @@ using System; using System.Collections.Generic; using System.IO; +using System.Linq; using MoreLinq; using UVtools.Core.FileFormats; @@ -38,7 +39,7 @@ namespace UVtools.WPF return true; } - var slicerFile = FileFormat.FindByExtension(args[1], true, true); + var slicerFile = FileFormat.FindByExtensionOrFilePath(args[1], true); if (slicerFile is null) { Console.WriteLine($"Invalid input file: {args[1]}"); @@ -53,22 +54,17 @@ namespace UVtools.WPF for (int i = 2; i < args.Length; i++) { var outputFile = args[i]; - var targetFormat = FileFormat.FindByExtension(args[i]); - if (targetFormat is not null) - { - outputFile = $"{filenameNoExt}.{args[i]}"; - } - else - { - targetFormat = FileFormat.FindByExtension(args[i], true); - } - + var targetFormat = FileFormat.FindByExtensionOrFilePath(args[i], true); if (targetFormat is null) { Console.WriteLine($"Invalid output file/extension: {args[i]}"); continue; } + if(targetFormat.IsExtensionValid(outputFile)) + outputFile = $"{filenameNoExt}.{args[i]}"; + + filesToConvert.Add(new KeyValuePair<FileFormat, string>(targetFormat, outputFile)); } @@ -110,7 +106,7 @@ namespace UVtools.WPF return true; } - var slicerFile = FileFormat.FindByExtension(args[1], true, true); + var slicerFile = FileFormat.FindByExtensionOrFilePath(args[1], true); if (slicerFile is null) { Console.WriteLine($"Invalid input file: {args[1]}"); diff --git a/UVtools.WPF/Controls/Tools/ToolRedrawModelControl.axaml.cs b/UVtools.WPF/Controls/Tools/ToolRedrawModelControl.axaml.cs index 5fbf6ed..1b9664f 100644 --- a/UVtools.WPF/Controls/Tools/ToolRedrawModelControl.axaml.cs +++ b/UVtools.WPF/Controls/Tools/ToolRedrawModelControl.axaml.cs @@ -58,7 +58,7 @@ namespace UVtools.WPF.Controls.Tools }; var files = await dialog.ShowAsync(ParentWindow); if (files is null || files.Length <= 0) return; - if (FileFormat.FindByExtension(files[0], true) is null) return; + if (FileFormat.FindByExtensionOrFilePath(files[0]) is null) return; Operation.FilePath = files[0]; } } diff --git a/UVtools.WPF/MainWindow.axaml.cs b/UVtools.WPF/MainWindow.axaml.cs index cdbc8de..e83107a 100644 --- a/UVtools.WPF/MainWindow.axaml.cs +++ b/UVtools.WPF/MainWindow.axaml.cs @@ -1043,7 +1043,7 @@ namespace UVtools.WPF if (!File.Exists(fileName)) return; CloseFile(); var fileNameOnly = Path.GetFileName(fileName); - SlicerFile = FileFormat.FindByExtension(fileName, true, true); + SlicerFile = FileFormat.FindByExtensionOrFilePath(fileName, true); if (SlicerFile is null) return; IsGUIEnabled = false; @@ -1102,7 +1102,7 @@ namespace UVtools.WPF if (!string.IsNullOrWhiteSpace(convertFileExtension)) { convertFileExtension = convertFileExtension.ToLower(CultureInfo.InvariantCulture); - var convertToFormat = FileFormat.FindByExtension(convertFileExtension); + var convertToFormat = FileFormat.FindByExtensionOrFilePath(convertFileExtension); if (convertToFormat is not null) { var directory = Path.GetDirectoryName(SlicerFile.FileFullPath); |