issue #111 -- setting for bad book abort/retry/ignore. default: ask

This commit is contained in:
Robert McRackan 2021-09-10 22:58:34 -04:00
parent 29461701cd
commit 197b50e3ac
6 changed files with 187 additions and 47 deletions

View File

@ -3,7 +3,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFramework>net5.0</TargetFramework> <TargetFramework>net5.0</TargetFramework>
<Version>5.7.0.1</Version> <Version>5.7.1.1</Version>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>

View File

@ -57,6 +57,7 @@ namespace AppScaffolding
// //
Migrations.migrate_to_v5_2_0__post_config(config); Migrations.migrate_to_v5_2_0__post_config(config);
Migrations.migrate_to_v5_7_1(config);
} }
/// <summary>Initialize logging. Run after migration</summary> /// <summary>Initialize logging. Run after migration</summary>
@ -321,5 +322,12 @@ namespace AppScaffolding
config.DecryptToLossy = false; config.DecryptToLossy = false;
} }
#endregion #endregion
// add config.BadBook
public static void migrate_to_v5_7_1(Configuration config)
{
if (!config.Exists(nameof(config.BadBook)))
config.BadBook = Configuration.BadBookAction.Ask;
}
} }
} }

View File

@ -102,6 +102,29 @@ namespace FileManager
set => persistentDictionary.SetNonString(nameof(DecryptToLossy), value); set => persistentDictionary.SetNonString(nameof(DecryptToLossy), value);
} }
public enum BadBookAction
{
[Description("Ask each time what action to take.")]
Ask = 0,
[Description("Stop processing books.")]
Abort = 1,
[Description("Retry book later. Skip for now. Continue processing books.")]
Retry = 2,
[Description("Permanently ignore book. Continue processing books. Do not try book again.")]
Ignore = 3
}
[Description("When liberating books and there is an error, Libation should:")]
public BadBookAction BadBook
{
get
{
var badBookStr = persistentDictionary.GetString(nameof(BadBook));
return Enum.TryParse<BadBookAction>(badBookStr, out var badBookEnum) ? badBookEnum : BadBookAction.Ask;
}
set => persistentDictionary.SetString(nameof(BadBook), value.ToString());
}
#endregion #endregion
#region known directories #region known directories
@ -178,16 +201,8 @@ namespace FileManager
{ {
get get
{ {
try var logLevelStr = persistentDictionary.GetStringFromJsonPath("Serilog", "MinimumLevel");
{ return Enum.TryParse<LogEventLevel>(logLevelStr, out var logLevelEnum) ? logLevelEnum : LogEventLevel.Information;
var logLevelStr = persistentDictionary.GetStringFromJsonPath("Serilog", "MinimumLevel");
var logLevelEnum = Enum<LogEventLevel>.Parse(logLevelStr);
return logLevelEnum;
}
catch
{
return LogEventLevel.Information;
}
} }
set set
{ {
@ -219,7 +234,6 @@ namespace FileManager
#endregion #endregion
#region LibationFiles #region LibationFiles
private static string APPSETTINGS_JSON { get; } = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), "appsettings.json"); private static string APPSETTINGS_JSON { get; } = Path.Combine(Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location), "appsettings.json");
private const string LIBATION_FILES_KEY = "LibationFiles"; private const string LIBATION_FILES_KEY = "LibationFiles";

View File

@ -196,8 +196,6 @@ namespace LibationWinForms.BookLiberation
protected async Task<bool> ProcessOneAsync(LibraryBook libraryBook, bool validate) protected async Task<bool> ProcessOneAsync(LibraryBook libraryBook, bool validate)
{ {
string logMessage;
try try
{ {
var statusHandler = await Processable.ProcessSingleAsync(libraryBook, validate); var statusHandler = await Processable.ProcessSingleAsync(libraryBook, validate);
@ -207,18 +205,28 @@ namespace LibationWinForms.BookLiberation
foreach (var errorMessage in statusHandler.Errors) foreach (var errorMessage in statusHandler.Errors)
LogMe.Error(errorMessage); LogMe.Error(errorMessage);
logMessage = statusHandler.Errors.Aggregate((a, b) => $"{a}\r\n{b}");
} }
catch (Exception ex) catch (Exception ex)
{ {
LogMe.Error(ex); LogMe.Error(ex);
logMessage = ex.Message + "\r\n|\r\n" + ex.StackTrace;
} }
return showRetry(libraryBook);
}
private bool showRetry(LibraryBook libraryBook)
{
LogMe.Error("ERROR. All books have not been processed. Most recent book: processing failed"); LogMe.Error("ERROR. All books have not been processed. Most recent book: processing failed");
DialogResult? dialogResult = FileManager.Configuration.Instance.BadBook switch
{
FileManager.Configuration.BadBookAction.Abort => DialogResult.Abort,
FileManager.Configuration.BadBookAction.Retry => DialogResult.Retry,
FileManager.Configuration.BadBookAction.Ignore => DialogResult.Ignore,
FileManager.Configuration.BadBookAction.Ask => null,
_ => null
};
string details; string details;
try try
{ {
@ -238,7 +246,8 @@ $@" Title: {libraryBook.Book.Title}
details = "[Error retrieving details]"; details = "[Error retrieving details]";
} }
var dialogResult = MessageBox.Show(string.Format(SkipDialogText, details), "Skip importing this book?", SkipDialogButtons, MessageBoxIcon.Question, SkipDialogDefaultButton); // if null then ask user
dialogResult ??= MessageBox.Show(string.Format(SkipDialogText + "\r\n\r\nSee Settings to avoid this box in the future.", details), "Skip importing this book?", SkipDialogButtons, MessageBoxIcon.Question, SkipDialogDefaultButton);
if (dialogResult == DialogResult.Abort) if (dialogResult == DialogResult.Abort)
return false; return false;
@ -288,7 +297,7 @@ An error occurred while trying to process this book. Skip this book permanently?
An error occurred while trying to process this book. An error occurred while trying to process this book.
{0} {0}
- ABORT: stop processing books. - ABORT: Stop processing books.
- RETRY: retry this book later. Just skip it for now. Continue processing books. (Will try this book again later.) - RETRY: retry this book later. Just skip it for now. Continue processing books. (Will try this book again later.)

View File

@ -42,8 +42,16 @@
this.booksGb = new System.Windows.Forms.GroupBox(); this.booksGb = new System.Windows.Forms.GroupBox();
this.loggingLevelLbl = new System.Windows.Forms.Label(); this.loggingLevelLbl = new System.Windows.Forms.Label();
this.loggingLevelCb = new System.Windows.Forms.ComboBox(); this.loggingLevelCb = new System.Windows.Forms.ComboBox();
this.decryptAndConvertGb = new System.Windows.Forms.GroupBox();
this.badBookGb = new System.Windows.Forms.GroupBox();
this.badBookAskRb = new System.Windows.Forms.RadioButton();
this.badBookAbortRb = new System.Windows.Forms.RadioButton();
this.badBookRetryRb = new System.Windows.Forms.RadioButton();
this.badBookIgnoreRb = new System.Windows.Forms.RadioButton();
this.advancedSettingsGb.SuspendLayout(); this.advancedSettingsGb.SuspendLayout();
this.booksGb.SuspendLayout(); this.booksGb.SuspendLayout();
this.decryptAndConvertGb.SuspendLayout();
this.badBookGb.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// booksLocationDescLbl // booksLocationDescLbl
@ -53,27 +61,27 @@
this.booksLocationDescLbl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.booksLocationDescLbl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.booksLocationDescLbl.Name = "booksLocationDescLbl"; this.booksLocationDescLbl.Name = "booksLocationDescLbl";
this.booksLocationDescLbl.Size = new System.Drawing.Size(69, 15); this.booksLocationDescLbl.Size = new System.Drawing.Size(69, 15);
this.booksLocationDescLbl.TabIndex = 2; this.booksLocationDescLbl.TabIndex = 1;
this.booksLocationDescLbl.Text = "[book desc]"; this.booksLocationDescLbl.Text = "[book desc]";
// //
// inProgressDescLbl // inProgressDescLbl
// //
this.inProgressDescLbl.AutoSize = true; this.inProgressDescLbl.AutoSize = true;
this.inProgressDescLbl.Location = new System.Drawing.Point(8, 127); this.inProgressDescLbl.Location = new System.Drawing.Point(8, 149);
this.inProgressDescLbl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.inProgressDescLbl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.inProgressDescLbl.Name = "inProgressDescLbl"; this.inProgressDescLbl.Name = "inProgressDescLbl";
this.inProgressDescLbl.Size = new System.Drawing.Size(43, 45); this.inProgressDescLbl.Size = new System.Drawing.Size(43, 45);
this.inProgressDescLbl.TabIndex = 1; this.inProgressDescLbl.TabIndex = 15;
this.inProgressDescLbl.Text = "[desc]\r\n[line 2]\r\n[line 3]"; this.inProgressDescLbl.Text = "[desc]\r\n[line 2]\r\n[line 3]";
// //
// saveBtn // saveBtn
// //
this.saveBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.saveBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.saveBtn.Location = new System.Drawing.Point(714, 419); this.saveBtn.Location = new System.Drawing.Point(714, 445);
this.saveBtn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.saveBtn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.saveBtn.Name = "saveBtn"; this.saveBtn.Name = "saveBtn";
this.saveBtn.Size = new System.Drawing.Size(88, 27); this.saveBtn.Size = new System.Drawing.Size(88, 27);
this.saveBtn.TabIndex = 4; this.saveBtn.TabIndex = 17;
this.saveBtn.Text = "Save"; this.saveBtn.Text = "Save";
this.saveBtn.UseVisualStyleBackColor = true; this.saveBtn.UseVisualStyleBackColor = true;
this.saveBtn.Click += new System.EventHandler(this.saveBtn_Click); this.saveBtn.Click += new System.EventHandler(this.saveBtn_Click);
@ -82,40 +90,40 @@
// //
this.cancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); this.cancelBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.cancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel; this.cancelBtn.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.cancelBtn.Location = new System.Drawing.Point(832, 419); this.cancelBtn.Location = new System.Drawing.Point(832, 445);
this.cancelBtn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.cancelBtn.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.cancelBtn.Name = "cancelBtn"; this.cancelBtn.Name = "cancelBtn";
this.cancelBtn.Size = new System.Drawing.Size(88, 27); this.cancelBtn.Size = new System.Drawing.Size(88, 27);
this.cancelBtn.TabIndex = 5; this.cancelBtn.TabIndex = 18;
this.cancelBtn.Text = "Cancel"; this.cancelBtn.Text = "Cancel";
this.cancelBtn.UseVisualStyleBackColor = true; this.cancelBtn.UseVisualStyleBackColor = true;
this.cancelBtn.Click += new System.EventHandler(this.cancelBtn_Click); this.cancelBtn.Click += new System.EventHandler(this.cancelBtn_Click);
// //
// advancedSettingsGb // advancedSettingsGb
// //
this.advancedSettingsGb.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.advancedSettingsGb.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.advancedSettingsGb.Controls.Add(this.convertLossyRb); this.advancedSettingsGb.Controls.Add(this.badBookGb);
this.advancedSettingsGb.Controls.Add(this.convertLosslessRb); this.advancedSettingsGb.Controls.Add(this.decryptAndConvertGb);
this.advancedSettingsGb.Controls.Add(this.inProgressSelectControl); this.advancedSettingsGb.Controls.Add(this.inProgressSelectControl);
this.advancedSettingsGb.Controls.Add(this.allowLibationFixupCbox);
this.advancedSettingsGb.Controls.Add(this.inProgressDescLbl); this.advancedSettingsGb.Controls.Add(this.inProgressDescLbl);
this.advancedSettingsGb.Location = new System.Drawing.Point(12, 176); this.advancedSettingsGb.Location = new System.Drawing.Point(12, 176);
this.advancedSettingsGb.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.advancedSettingsGb.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.advancedSettingsGb.Name = "advancedSettingsGb"; this.advancedSettingsGb.Name = "advancedSettingsGb";
this.advancedSettingsGb.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); this.advancedSettingsGb.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.advancedSettingsGb.Size = new System.Drawing.Size(908, 232); this.advancedSettingsGb.Size = new System.Drawing.Size(908, 258);
this.advancedSettingsGb.TabIndex = 5; this.advancedSettingsGb.TabIndex = 6;
this.advancedSettingsGb.TabStop = false; this.advancedSettingsGb.TabStop = false;
this.advancedSettingsGb.Text = "Advanced settings for control freaks"; this.advancedSettingsGb.Text = "Advanced settings for control freaks";
// //
// convertLossyRb // convertLossyRb
// //
this.convertLossyRb.AutoSize = true; this.convertLossyRb.AutoSize = true;
this.convertLossyRb.Location = new System.Drawing.Point(7, 88); this.convertLossyRb.Location = new System.Drawing.Point(6, 81);
this.convertLossyRb.Name = "convertLossyRb"; this.convertLossyRb.Name = "convertLossyRb";
this.convertLossyRb.Size = new System.Drawing.Size(242, 19); this.convertLossyRb.Size = new System.Drawing.Size(242, 19);
this.convertLossyRb.TabIndex = 0; this.convertLossyRb.TabIndex = 10;
this.convertLossyRb.Text = "Download my books as .MP3 files (Lossy)"; this.convertLossyRb.Text = "Download my books as .MP3 files (Lossy)";
this.convertLossyRb.UseVisualStyleBackColor = true; this.convertLossyRb.UseVisualStyleBackColor = true;
// //
@ -123,10 +131,10 @@
// //
this.convertLosslessRb.AutoSize = true; this.convertLosslessRb.AutoSize = true;
this.convertLosslessRb.Checked = true; this.convertLosslessRb.Checked = true;
this.convertLosslessRb.Location = new System.Drawing.Point(7, 63); this.convertLosslessRb.Location = new System.Drawing.Point(6, 56);
this.convertLosslessRb.Name = "convertLosslessRb"; this.convertLosslessRb.Name = "convertLosslessRb";
this.convertLosslessRb.Size = new System.Drawing.Size(327, 19); this.convertLosslessRb.Size = new System.Drawing.Size(327, 19);
this.convertLosslessRb.TabIndex = 0; this.convertLosslessRb.TabIndex = 9;
this.convertLosslessRb.TabStop = true; this.convertLosslessRb.TabStop = true;
this.convertLosslessRb.Text = "Download my books as .M4B files (Lossless Mp4a format)"; this.convertLosslessRb.Text = "Download my books as .M4B files (Lossless Mp4a format)";
this.convertLosslessRb.UseVisualStyleBackColor = true; this.convertLosslessRb.UseVisualStyleBackColor = true;
@ -135,20 +143,20 @@
// //
this.inProgressSelectControl.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) this.inProgressSelectControl.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right))); | System.Windows.Forms.AnchorStyles.Right)));
this.inProgressSelectControl.Location = new System.Drawing.Point(10, 175); this.inProgressSelectControl.Location = new System.Drawing.Point(7, 197);
this.inProgressSelectControl.Name = "inProgressSelectControl"; this.inProgressSelectControl.Name = "inProgressSelectControl";
this.inProgressSelectControl.Size = new System.Drawing.Size(552, 52); this.inProgressSelectControl.Size = new System.Drawing.Size(552, 52);
this.inProgressSelectControl.TabIndex = 2; this.inProgressSelectControl.TabIndex = 16;
// //
// allowLibationFixupCbox // allowLibationFixupCbox
// //
this.allowLibationFixupCbox.AutoSize = true; this.allowLibationFixupCbox.AutoSize = true;
this.allowLibationFixupCbox.Checked = true; this.allowLibationFixupCbox.Checked = true;
this.allowLibationFixupCbox.CheckState = System.Windows.Forms.CheckState.Checked; this.allowLibationFixupCbox.CheckState = System.Windows.Forms.CheckState.Checked;
this.allowLibationFixupCbox.Location = new System.Drawing.Point(7, 22); this.allowLibationFixupCbox.Location = new System.Drawing.Point(6, 22);
this.allowLibationFixupCbox.Name = "allowLibationFixupCbox"; this.allowLibationFixupCbox.Name = "allowLibationFixupCbox";
this.allowLibationFixupCbox.Size = new System.Drawing.Size(262, 19); this.allowLibationFixupCbox.Size = new System.Drawing.Size(262, 19);
this.allowLibationFixupCbox.TabIndex = 0; this.allowLibationFixupCbox.TabIndex = 8;
this.allowLibationFixupCbox.Text = "Allow Libation to fix up audiobook metadata"; this.allowLibationFixupCbox.Text = "Allow Libation to fix up audiobook metadata";
this.allowLibationFixupCbox.UseVisualStyleBackColor = true; this.allowLibationFixupCbox.UseVisualStyleBackColor = true;
this.allowLibationFixupCbox.CheckedChanged += new System.EventHandler(this.allowLibationFixupCbox_CheckedChanged); this.allowLibationFixupCbox.CheckedChanged += new System.EventHandler(this.allowLibationFixupCbox_CheckedChanged);
@ -158,7 +166,7 @@
this.logsBtn.Location = new System.Drawing.Point(262, 147); this.logsBtn.Location = new System.Drawing.Point(262, 147);
this.logsBtn.Name = "logsBtn"; this.logsBtn.Name = "logsBtn";
this.logsBtn.Size = new System.Drawing.Size(132, 23); this.logsBtn.Size = new System.Drawing.Size(132, 23);
this.logsBtn.TabIndex = 4; this.logsBtn.TabIndex = 5;
this.logsBtn.Text = "Open log folder"; this.logsBtn.Text = "Open log folder";
this.logsBtn.UseVisualStyleBackColor = true; this.logsBtn.UseVisualStyleBackColor = true;
this.logsBtn.Click += new System.EventHandler(this.logsBtn_Click); this.logsBtn.Click += new System.EventHandler(this.logsBtn_Click);
@ -170,7 +178,7 @@
this.booksSelectControl.Location = new System.Drawing.Point(7, 37); this.booksSelectControl.Location = new System.Drawing.Point(7, 37);
this.booksSelectControl.Name = "booksSelectControl"; this.booksSelectControl.Name = "booksSelectControl";
this.booksSelectControl.Size = new System.Drawing.Size(895, 87); this.booksSelectControl.Size = new System.Drawing.Size(895, 87);
this.booksSelectControl.TabIndex = 1; this.booksSelectControl.TabIndex = 2;
// //
// booksGb // booksGb
// //
@ -181,7 +189,7 @@
this.booksGb.Location = new System.Drawing.Point(12, 12); this.booksGb.Location = new System.Drawing.Point(12, 12);
this.booksGb.Name = "booksGb"; this.booksGb.Name = "booksGb";
this.booksGb.Size = new System.Drawing.Size(908, 129); this.booksGb.Size = new System.Drawing.Size(908, 129);
this.booksGb.TabIndex = 1; this.booksGb.TabIndex = 0;
this.booksGb.TabStop = false; this.booksGb.TabStop = false;
this.booksGb.Text = "Books location"; this.booksGb.Text = "Books location";
// //
@ -191,7 +199,7 @@
this.loggingLevelLbl.Location = new System.Drawing.Point(12, 150); this.loggingLevelLbl.Location = new System.Drawing.Point(12, 150);
this.loggingLevelLbl.Name = "loggingLevelLbl"; this.loggingLevelLbl.Name = "loggingLevelLbl";
this.loggingLevelLbl.Size = new System.Drawing.Size(78, 15); this.loggingLevelLbl.Size = new System.Drawing.Size(78, 15);
this.loggingLevelLbl.TabIndex = 2; this.loggingLevelLbl.TabIndex = 3;
this.loggingLevelLbl.Text = "Logging level"; this.loggingLevelLbl.Text = "Logging level";
// //
// loggingLevelCb // loggingLevelCb
@ -201,7 +209,76 @@
this.loggingLevelCb.Location = new System.Drawing.Point(96, 147); this.loggingLevelCb.Location = new System.Drawing.Point(96, 147);
this.loggingLevelCb.Name = "loggingLevelCb"; this.loggingLevelCb.Name = "loggingLevelCb";
this.loggingLevelCb.Size = new System.Drawing.Size(129, 23); this.loggingLevelCb.Size = new System.Drawing.Size(129, 23);
this.loggingLevelCb.TabIndex = 3; this.loggingLevelCb.TabIndex = 4;
//
// decryptAndConvertGb
//
this.decryptAndConvertGb.Controls.Add(this.allowLibationFixupCbox);
this.decryptAndConvertGb.Controls.Add(this.convertLossyRb);
this.decryptAndConvertGb.Controls.Add(this.convertLosslessRb);
this.decryptAndConvertGb.Location = new System.Drawing.Point(7, 22);
this.decryptAndConvertGb.Name = "decryptAndConvertGb";
this.decryptAndConvertGb.Size = new System.Drawing.Size(359, 124);
this.decryptAndConvertGb.TabIndex = 7;
this.decryptAndConvertGb.TabStop = false;
this.decryptAndConvertGb.Text = "Decrypt and convert";
//
// badBookGb
//
this.badBookGb.Controls.Add(this.badBookIgnoreRb);
this.badBookGb.Controls.Add(this.badBookRetryRb);
this.badBookGb.Controls.Add(this.badBookAbortRb);
this.badBookGb.Controls.Add(this.badBookAskRb);
this.badBookGb.Location = new System.Drawing.Point(372, 22);
this.badBookGb.Name = "badBookGb";
this.badBookGb.Size = new System.Drawing.Size(529, 124);
this.badBookGb.TabIndex = 11;
this.badBookGb.TabStop = false;
this.badBookGb.Text = "badBookGb";
//
// badBookAskRb
//
this.badBookAskRb.AutoSize = true;
this.badBookAskRb.Location = new System.Drawing.Point(6, 22);
this.badBookAskRb.Name = "badBookAskRb";
this.badBookAskRb.Size = new System.Drawing.Size(94, 19);
this.badBookAskRb.TabIndex = 12;
this.badBookAskRb.TabStop = true;
this.badBookAskRb.Text = "radioButton1";
this.badBookAskRb.UseVisualStyleBackColor = true;
//
// badBookAbortRb
//
this.badBookAbortRb.AutoSize = true;
this.badBookAbortRb.Location = new System.Drawing.Point(6, 47);
this.badBookAbortRb.Name = "badBookAbortRb";
this.badBookAbortRb.Size = new System.Drawing.Size(94, 19);
this.badBookAbortRb.TabIndex = 13;
this.badBookAbortRb.TabStop = true;
this.badBookAbortRb.Text = "radioButton2";
this.badBookAbortRb.UseVisualStyleBackColor = true;
//
// badBookRetryRb
//
this.badBookRetryRb.AutoSize = true;
this.badBookRetryRb.Location = new System.Drawing.Point(6, 72);
this.badBookRetryRb.Name = "badBookRetryRb";
this.badBookRetryRb.Size = new System.Drawing.Size(94, 19);
this.badBookRetryRb.TabIndex = 14;
this.badBookRetryRb.TabStop = true;
this.badBookRetryRb.Text = "radioButton3";
this.badBookRetryRb.UseVisualStyleBackColor = true;
//
// badBookIgnoreRb
//
this.badBookIgnoreRb.AutoSize = true;
this.badBookIgnoreRb.Location = new System.Drawing.Point(6, 97);
this.badBookIgnoreRb.Name = "badBookIgnoreRb";
this.badBookIgnoreRb.Size = new System.Drawing.Size(94, 19);
this.badBookIgnoreRb.TabIndex = 15;
this.badBookIgnoreRb.TabStop = true;
this.badBookIgnoreRb.Text = "radioButton4";
this.badBookIgnoreRb.UseVisualStyleBackColor = true;
// //
// SettingsDialog // SettingsDialog
// //
@ -209,7 +286,7 @@
this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.CancelButton = this.cancelBtn; this.CancelButton = this.cancelBtn;
this.ClientSize = new System.Drawing.Size(933, 462); this.ClientSize = new System.Drawing.Size(933, 488);
this.Controls.Add(this.logsBtn); this.Controls.Add(this.logsBtn);
this.Controls.Add(this.loggingLevelCb); this.Controls.Add(this.loggingLevelCb);
this.Controls.Add(this.loggingLevelLbl); this.Controls.Add(this.loggingLevelLbl);
@ -227,6 +304,10 @@
this.advancedSettingsGb.PerformLayout(); this.advancedSettingsGb.PerformLayout();
this.booksGb.ResumeLayout(false); this.booksGb.ResumeLayout(false);
this.booksGb.PerformLayout(); this.booksGb.PerformLayout();
this.decryptAndConvertGb.ResumeLayout(false);
this.decryptAndConvertGb.PerformLayout();
this.badBookGb.ResumeLayout(false);
this.badBookGb.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
this.PerformLayout(); this.PerformLayout();
@ -247,5 +328,11 @@
private System.Windows.Forms.Button logsBtn; private System.Windows.Forms.Button logsBtn;
private System.Windows.Forms.Label loggingLevelLbl; private System.Windows.Forms.Label loggingLevelLbl;
private System.Windows.Forms.ComboBox loggingLevelCb; private System.Windows.Forms.ComboBox loggingLevelCb;
private System.Windows.Forms.GroupBox decryptAndConvertGb;
private System.Windows.Forms.GroupBox badBookGb;
private System.Windows.Forms.RadioButton badBookRetryRb;
private System.Windows.Forms.RadioButton badBookAbortRb;
private System.Windows.Forms.RadioButton badBookAskRb;
private System.Windows.Forms.RadioButton badBookIgnoreRb;
} }
} }

View File

@ -56,6 +56,21 @@ namespace LibationWinForms.Dialogs
Configuration.KnownDirectories.LibationFiles Configuration.KnownDirectories.LibationFiles
}, Configuration.KnownDirectories.WinTemp); }, Configuration.KnownDirectories.WinTemp);
inProgressSelectControl.SelectDirectory(config.InProgress); inProgressSelectControl.SelectDirectory(config.InProgress);
badBookGb.Text = desc(nameof(config.BadBook));
badBookAskRb.Text = Configuration.BadBookAction.Ask.GetDescription();
badBookAbortRb.Text = Configuration.BadBookAction.Abort.GetDescription();
badBookRetryRb.Text = Configuration.BadBookAction.Retry.GetDescription();
badBookIgnoreRb.Text = Configuration.BadBookAction.Ignore.GetDescription();
var rb = config.BadBook switch
{
Configuration.BadBookAction.Ask => this.badBookAskRb,
Configuration.BadBookAction.Abort => this.badBookAbortRb,
Configuration.BadBookAction.Retry => this.badBookRetryRb,
Configuration.BadBookAction.Ignore => this.badBookIgnoreRb,
_ => this.badBookAskRb
};
rb.Checked = true;
} }
private void allowLibationFixupCbox_CheckedChanged(object sender, EventArgs e) private void allowLibationFixupCbox_CheckedChanged(object sender, EventArgs e)
@ -111,6 +126,13 @@ namespace LibationWinForms.Dialogs
config.InProgress = inProgressSelectControl.SelectedDirectory; config.InProgress = inProgressSelectControl.SelectedDirectory;
config.BadBook
= badBookAskRb.Checked ? Configuration.BadBookAction.Ask
: badBookAbortRb.Checked ? Configuration.BadBookAction.Abort
: badBookRetryRb.Checked ? Configuration.BadBookAction.Retry
: badBookIgnoreRb.Checked ? Configuration.BadBookAction.Ignore
: Configuration.BadBookAction.Ask;
this.DialogResult = DialogResult.OK; this.DialogResult = DialogResult.OK;
this.Close(); this.Close();
} }