From 7fa35bf5845dc2527eed52456398ed23f591a36c Mon Sep 17 00:00:00 2001 From: Raphael Noeldner Date: Mon, 26 Jun 2023 13:50:18 +0200 Subject: [PATCH] When only one file is present in container, autoselect this one --- Application/FormEditSettings.cs | 2 ++ Application/FormMain.cs | 10 ++++++---- Library/ClassLibraryCSV/CsvHelper.cs | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Application/FormEditSettings.cs b/Application/FormEditSettings.cs index 946ac438..1a50902a 100644 --- a/Application/FormEditSettings.cs +++ b/Application/FormEditSettings.cs @@ -132,6 +132,8 @@ private async void BtnOpenFile_Click(object? sender, EventArgs e) m_ViewSettings.FillGuessSettings, list => { + if (list.Count==1) + return list.First(); using var frm = new FormSelectInDropdown(list, list.First(x => x.AssumeDelimited())); if (frm.ShowWithFont(this, true) == DialogResult.Cancel) throw new OperationCanceledException(); diff --git a/Application/FormMain.cs b/Application/FormMain.cs index bc5e498c..98dc2ef1 100644 --- a/Application/FormMain.cs +++ b/Application/FormMain.cs @@ -229,10 +229,12 @@ public async Task LoadCsvOrZipFileAsync(string fileName, CancellationToken cance m_ViewSettings.GuessHasHeader, m_ViewSettings.GuessNewLine, m_ViewSettings.GuessComment, m_ViewSettings.FillGuessSettings, list => { - using var frm = new FormSelectInDropdown(list, list.First(x => x.AssumeDelimited())); - if (frm.ShowWithFont(this, true) == DialogResult.Cancel) - throw new OperationCanceledException(); - return frm.SelectedText; + if (list.Count==1) + return list.First(); + using var frm = new FormSelectInDropdown(list, list.First(x => x.AssumeDelimited())); + if (frm.ShowWithFont(this, true) == DialogResult.Cancel) + throw new OperationCanceledException(); + return frm.SelectedText; }, m_ViewSettings.DefaultInspectionResult, PgpHelper.GetKeyAndValidate(fileName, m_ViewSettings.KeyFileRead), cancellationToken); diff --git a/Library/ClassLibraryCSV/CsvHelper.cs b/Library/ClassLibraryCSV/CsvHelper.cs index ee898fd6..b77e0e08 100644 --- a/Library/ClassLibraryCSV/CsvHelper.cs +++ b/Library/ClassLibraryCSV/CsvHelper.cs @@ -273,7 +273,7 @@ public static async Task InspectFileAsync( bool guessCodePage, bool guessEscapePrefix, bool guessDelimiter, bool guessQualifier, bool guessStartRow, bool guessHasHeader, bool guessNewLine, bool guessCommentLine, - FillGuessSettings fillGuessSettings, Func, string>? selectFile, + FillGuessSettings fillGuessSettings, Func, string>? selectFile, InspectionResult defaultInspectionResult #if SupportPGP , string privateKey @@ -357,7 +357,7 @@ InspectionResult defaultInspectionResult return setting; } using var zipFile = new ZipFile(fileName2); - var list = zipFile.GetFilesInZip().OrderByDescending(x => x.Name.AssumeDelimited()).ThenByDescending(x => x.Size).Select(x => $"{x.Name}"); + var list = zipFile.GetFilesInZip().OrderByDescending(x => x.Name.AssumeDelimited()).ThenByDescending(x => x.Size).Select(x => $"{x.Name}").ToList(); selectedFile = selectFile?.Invoke(list) ?? list.First(); }