Skip to content

Commit 4e2dedb

Browse files
committed
Show better version in form, log configuration & version
1 parent 589f8c0 commit 4e2dedb

File tree

3 files changed

+45
-14
lines changed

3 files changed

+45
-14
lines changed

QuickList/Application/Configuration.cs

Lines changed: 37 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Collections.Generic;
33
using System.IO;
44
using System.Linq;
5+
using System.Text;
56
using Sander.QuickList.Application.Enums;
67

78
namespace Sander.QuickList.Application
@@ -57,6 +58,9 @@ internal sealed class Configuration
5758
/// </summary>
5859
internal bool ForceShellMedia { get; set; }
5960

61+
/// <summary>
62+
/// Status/progress to display on form
63+
/// </summary>
6064
internal Status Status { get; set; }
6165

6266
/// <summary>
@@ -74,6 +78,7 @@ internal sealed class Configuration
7478
/// </summary>
7579
internal List<string> ExcludedFilenames { get; set; }
7680

81+
7782
internal static Configuration Parse(string iniFile)
7883
{
7984
var configuration = new Configuration
@@ -90,7 +95,6 @@ internal static Configuration Parse(string iniFile)
9095
ForceShellMedia = IniReader.ReadValue("QuickList", "ForceShellMedia", iniFile, "0") == "1"
9196
};
9297

93-
9498
var excludedExtensions = IniReader.ReadValue("ListMagic", "Exclude", iniFile);
9599

96100
if (!string.IsNullOrWhiteSpace(excludedExtensions))
@@ -102,7 +106,7 @@ internal static Configuration Parse(string iniFile)
102106

103107
int.TryParse(IniReader.ReadValue("QuickList", "FileReaderParallelism", iniFile, "1"), out var fileReaderParallelism);
104108
if (fileReaderParallelism <= 0)
105-
fileReaderParallelism = 1;
109+
fileReaderParallelism = 1;
106110

107111
configuration.FileReaderParallelism = fileReaderParallelism;
108112

@@ -111,9 +115,9 @@ internal static Configuration Parse(string iniFile)
111115
if (!string.IsNullOrWhiteSpace(excludedFilenames))
112116
{
113117
configuration.ExcludedFilenames = excludedFilenames
114-
.Split(new[] { ':' })
115-
.Select(x => x.Trim())
116-
.ToList();
118+
.Split(new[] { ':' }, StringSplitOptions.RemoveEmptyEntries)
119+
.Select(x => x.Trim())
120+
.ToList();
117121
}
118122

119123
var dirsFile = IniReader.ReadValue("ListMagic", "DirsFile", iniFile);
@@ -122,10 +126,10 @@ internal static Configuration Parse(string iniFile)
122126
throw new FileNotFoundException($"Folders file \"{dirsFile}\" does not exist!");
123127

124128
var folders = File.ReadAllLines(dirsFile)
125-
.Select(x => x.Trim())
126-
.Where(x => !string.IsNullOrWhiteSpace(x))
127-
.Distinct()
128-
.ToList();
129+
.Select(x => x.Trim())
130+
.Where(x => !string.IsNullOrWhiteSpace(x))
131+
.Distinct()
132+
.ToList();
129133

130134
configuration.InputFolders = folders;
131135
configuration.Validate();
@@ -155,8 +159,30 @@ internal void Update()
155159
IniReader.WriteValue("QuickList", "ForceShellMedia", ForceShellMedia ? "1" : "0", IniFile);
156160
IniReader.WriteValue("QuickList", "FileReaderParallelism", FileReaderParallelism.ToString(), IniFile);
157161

158-
if (ExcludedFilenames?.Count > 0)
159-
IniReader.WriteValue("QuickList", "ExcludedFilenames", string.Join(":", ExcludedFilenames), IniFile);
162+
if (ExcludedFilenames?.Count > 0)
163+
IniReader.WriteValue("QuickList", "ExcludedFilenames", string.Join(":", ExcludedFilenames), IniFile);
164+
}
165+
166+
167+
/// <inheritdoc />
168+
public override string ToString()
169+
{
170+
var sb = new StringBuilder("\r\n=== Configuration ===\r\n");
171+
sb.AppendLine($"IniFile: {IniFile}");
172+
sb.AppendLine($"ListName: {ListName}");
173+
sb.AppendLine($"Trigger: {Trigger}");
174+
sb.AppendLine($"InputFolders: {string.Join(";", InputFolders)}");
175+
sb.AppendLine($"OutputFolder: {OutputFolder}");
176+
sb.AppendLine($"HeaderFile: {HeaderFile}");
177+
sb.AppendLine($"FileInfoLevel: {FileInfo}");
178+
sb.AppendLine($"FolderHandling: {FolderHandling}");
179+
sb.AppendLine($"ShowUi: {ShowUi}");
180+
sb.AppendLine($"FileReaderParallelism: {FileReaderParallelism}");
181+
sb.AppendLine($"ExcludedExtensions: {string.Join(";", ExcludedExtensions)}");
182+
sb.AppendLine($"ExcludedFilenames: {string.Join(";", ExcludedFilenames)}");
183+
sb.AppendLine($"MediaCacheFile: {MediaCacheFile}");
184+
sb.AppendLine($"ForceShellMedia: {ForceShellMedia}");
185+
return sb.ToString();
160186
}
161187
}
162188
}

QuickList/Program.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ internal static class Program
1818
/// </summary>
1919
private const string QuicklistLog = "QuickList.log";
2020

21+
internal const string Version = "3.0 beta 5";
22+
2123
private static string _traceName;
2224

2325
internal static bool OpenLog { get; set; }
@@ -60,10 +62,13 @@ private static void Main(params string[] parameters)
6062
IniFile = @"c:\temp\out\testaudio.ini",
6163
ShowUi = true,
6264
ForceShellMedia = false,
63-
FileReaderParallelism = 1,
64-
ExcludedExtensions = new List<string> { "txt", "json", "xml", "dll", "pdb"}
65+
FileReaderParallelism = 4,
66+
ExcludedExtensions = new List<string> { "txt", "json", "xml", "dll", "pdb"},
67+
ExcludedFilenames = new List<string> { "desktop.ini" },
6568
};
6669
#endif
70+
Trace.TraceInformation($"QuickList v{Version}");
71+
Trace.TraceInformation(configuration.ToString());
6772
configuration.Validate();
6873

6974
if (configuration.ShowUi)

QuickList/UI/MainForm.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ internal MainForm(Configuration configuration)
2626

2727
private void MainForm_Load(object sender, EventArgs e)
2828
{
29-
Text = FormattableString.Invariant($"QuickList v{Assembly.GetExecutingAssembly().GetName().Version.ToString()}");
29+
Text = FormattableString.Invariant($"QuickList v{Program.Version}");
3030
CurrentListLabel.Text = Path.GetFileNameWithoutExtension(_configuration.IniFile);
3131

3232
switch (_configuration.FileInfo)

0 commit comments

Comments
 (0)