Undo Rename
This commit is contained in:
@ -92,6 +92,27 @@ public class Rename
|
||||
}
|
||||
}
|
||||
|
||||
private static List<(FileHolder, string)> GetRenameUndoToDoCollection(ProgressBar progressBar, string[] files)
|
||||
{
|
||||
List<(FileHolder, string)> results = new();
|
||||
string[] lines;
|
||||
string fileName;
|
||||
FileHolder fileHolder;
|
||||
foreach (string file in files)
|
||||
{
|
||||
progressBar.Tick();
|
||||
fileName = Path.GetFileName(file);
|
||||
if (!fileName.EndsWith(".id"))
|
||||
continue;
|
||||
lines = File.ReadAllLines(file);
|
||||
if (lines.Length < 2)
|
||||
continue;
|
||||
fileHolder = new(lines[0]);
|
||||
results.Add(new(fileHolder, lines[1]));
|
||||
}
|
||||
return results;
|
||||
}
|
||||
|
||||
private List<(FileHolder, string)> GetToDoCollection(ProgressBar progressBar, string[] files)
|
||||
{
|
||||
List<(FileHolder, string)> results = new();
|
||||
@ -346,12 +367,17 @@ public class Rename
|
||||
for (int i = 1; i < 3; i++)
|
||||
{
|
||||
message = $"{i}) Renaming files";
|
||||
if (_AppSettings.RenameUndo && i == 1)
|
||||
continue;
|
||||
files = i == 2 ? allFiles.ToArray() : (from l in allFiles where l.Contains("Rename") select l).ToArray();
|
||||
progressBar = new(files.Length, message, options);
|
||||
if (!files.Any())
|
||||
continue;
|
||||
distinctCollection.Clear();
|
||||
toDoCollection = GetToDoCollection(progressBar, files);
|
||||
if (!_AppSettings.RenameUndo)
|
||||
toDoCollection = GetToDoCollection(progressBar, files);
|
||||
else
|
||||
toDoCollection = GetRenameUndoToDoCollection(progressBar, files);
|
||||
foreach ((FileHolder fileHolder, string to) in toDoCollection)
|
||||
{
|
||||
if (distinctCollection.Contains(to))
|
||||
|
Reference in New Issue
Block a user