Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sn4k3/UVtools.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTiago Conceição <Tiago_caza@hotmail.com>2021-08-13 19:34:21 +0300
committerTiago Conceição <Tiago_caza@hotmail.com>2021-08-13 19:34:21 +0300
commitd8b83d5de25bb7aa6ca34fa662caa1c376029fa3 (patch)
tree76af8e54132455f60bf6e12ab420ea98c00a9254 /UVtools.WPF
parent323e64d5eec1ffde0a8992a6c07acc65120e7c07 (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.cs20
-rw-r--r--UVtools.WPF/Controls/Tools/ToolRedrawModelControl.axaml.cs2
-rw-r--r--UVtools.WPF/MainWindow.axaml.cs4
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);