Bug fix #657 : Settings dialog size was recently changed. Save and Cancel buttons were pushed outside of the dialog's bounds
This commit is contained in:
parent
22a3dcbc1f
commit
bfa7f5cca9
@ -2,7 +2,7 @@
|
|||||||
<Project Sdk="Microsoft.NET.Sdk">
|
<Project Sdk="Microsoft.NET.Sdk">
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<TargetFramework>net7.0</TargetFramework>
|
<TargetFramework>net7.0</TargetFramework>
|
||||||
<Version>10.5.0.1</Version>
|
<Version>10.5.1.1</Version>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<PackageReference Include="Octokit" Version="6.0.0" />
|
<PackageReference Include="Octokit" Version="6.0.0" />
|
||||||
|
|||||||
@ -5,165 +5,165 @@ using LibationUiBase;
|
|||||||
|
|
||||||
namespace LibationWinForms.Dialogs
|
namespace LibationWinForms.Dialogs
|
||||||
{
|
{
|
||||||
partial class SettingsDialog
|
partial class SettingsDialog
|
||||||
{
|
{
|
||||||
private void Load_AudioSettings(Configuration config)
|
private void Load_AudioSettings(Configuration config)
|
||||||
{
|
{
|
||||||
this.fileDownloadQualityLbl.Text = desc(nameof(config.FileDownloadQuality));
|
this.fileDownloadQualityLbl.Text = desc(nameof(config.FileDownloadQuality));
|
||||||
this.allowLibationFixupCbox.Text = desc(nameof(config.AllowLibationFixup));
|
this.allowLibationFixupCbox.Text = desc(nameof(config.AllowLibationFixup));
|
||||||
this.createCueSheetCbox.Text = desc(nameof(config.CreateCueSheet));
|
this.createCueSheetCbox.Text = desc(nameof(config.CreateCueSheet));
|
||||||
this.downloadCoverArtCbox.Text = desc(nameof(config.DownloadCoverArt));
|
this.downloadCoverArtCbox.Text = desc(nameof(config.DownloadCoverArt));
|
||||||
this.retainAaxFileCbox.Text = desc(nameof(config.RetainAaxFile));
|
this.retainAaxFileCbox.Text = desc(nameof(config.RetainAaxFile));
|
||||||
this.splitFilesByChapterCbox.Text = desc(nameof(config.SplitFilesByChapter));
|
this.splitFilesByChapterCbox.Text = desc(nameof(config.SplitFilesByChapter));
|
||||||
this.mergeOpeningEndCreditsCbox.Text = desc(nameof(config.MergeOpeningAndEndCredits));
|
this.mergeOpeningEndCreditsCbox.Text = desc(nameof(config.MergeOpeningAndEndCredits));
|
||||||
this.stripAudibleBrandingCbox.Text = desc(nameof(config.StripAudibleBrandAudio));
|
this.stripAudibleBrandingCbox.Text = desc(nameof(config.StripAudibleBrandAudio));
|
||||||
this.stripUnabridgedCbox.Text = desc(nameof(config.StripUnabridged));
|
this.stripUnabridgedCbox.Text = desc(nameof(config.StripUnabridged));
|
||||||
this.moveMoovAtomCbox.Text = desc(nameof(config.MoveMoovToBeginning));
|
this.moveMoovAtomCbox.Text = desc(nameof(config.MoveMoovToBeginning));
|
||||||
|
|
||||||
fileDownloadQualityCb.Items.AddRange(
|
fileDownloadQualityCb.Items.AddRange(
|
||||||
new object[]
|
new object[]
|
||||||
{
|
{
|
||||||
Configuration.DownloadQuality.Normal,
|
Configuration.DownloadQuality.Normal,
|
||||||
Configuration.DownloadQuality.High
|
Configuration.DownloadQuality.High
|
||||||
});
|
});
|
||||||
|
|
||||||
clipsBookmarksFormatCb.Items.AddRange(
|
clipsBookmarksFormatCb.Items.AddRange(
|
||||||
new object[]
|
new object[]
|
||||||
{
|
{
|
||||||
Configuration.ClipBookmarkFormat.CSV,
|
Configuration.ClipBookmarkFormat.CSV,
|
||||||
Configuration.ClipBookmarkFormat.Xlsx,
|
Configuration.ClipBookmarkFormat.Xlsx,
|
||||||
Configuration.ClipBookmarkFormat.Json
|
Configuration.ClipBookmarkFormat.Json
|
||||||
});
|
});
|
||||||
|
|
||||||
maxSampleRateCb.Items.AddRange(
|
maxSampleRateCb.Items.AddRange(
|
||||||
Enum.GetValues<AAXClean.SampleRate>()
|
Enum.GetValues<AAXClean.SampleRate>()
|
||||||
.Select(v => new EnumDiaplay<AAXClean.SampleRate>(v, $"{(int)v} Hz"))
|
.Select(v => new EnumDiaplay<AAXClean.SampleRate>(v, $"{(int)v} Hz"))
|
||||||
.ToArray());
|
.ToArray());
|
||||||
|
|
||||||
encoderQualityCb.Items.AddRange(
|
encoderQualityCb.Items.AddRange(
|
||||||
new object[]
|
new object[]
|
||||||
{
|
{
|
||||||
NAudio.Lame.EncoderQuality.High,
|
NAudio.Lame.EncoderQuality.High,
|
||||||
NAudio.Lame.EncoderQuality.Standard,
|
NAudio.Lame.EncoderQuality.Standard,
|
||||||
NAudio.Lame.EncoderQuality.Fast,
|
NAudio.Lame.EncoderQuality.Fast,
|
||||||
});
|
});
|
||||||
|
|
||||||
allowLibationFixupCbox.Checked = config.AllowLibationFixup;
|
allowLibationFixupCbox.Checked = config.AllowLibationFixup;
|
||||||
createCueSheetCbox.Checked = config.CreateCueSheet;
|
createCueSheetCbox.Checked = config.CreateCueSheet;
|
||||||
downloadCoverArtCbox.Checked = config.DownloadCoverArt;
|
downloadCoverArtCbox.Checked = config.DownloadCoverArt;
|
||||||
downloadClipsBookmarksCbox.Checked = config.DownloadClipsBookmarks;
|
downloadClipsBookmarksCbox.Checked = config.DownloadClipsBookmarks;
|
||||||
fileDownloadQualityCb.SelectedItem = config.FileDownloadQuality;
|
fileDownloadQualityCb.SelectedItem = config.FileDownloadQuality;
|
||||||
clipsBookmarksFormatCb.SelectedItem = config.ClipsBookmarksFileFormat;
|
clipsBookmarksFormatCb.SelectedItem = config.ClipsBookmarksFileFormat;
|
||||||
retainAaxFileCbox.Checked = config.RetainAaxFile;
|
retainAaxFileCbox.Checked = config.RetainAaxFile;
|
||||||
splitFilesByChapterCbox.Checked = config.SplitFilesByChapter;
|
splitFilesByChapterCbox.Checked = config.SplitFilesByChapter;
|
||||||
mergeOpeningEndCreditsCbox.Checked = config.MergeOpeningAndEndCredits;
|
mergeOpeningEndCreditsCbox.Checked = config.MergeOpeningAndEndCredits;
|
||||||
stripUnabridgedCbox.Checked = config.StripUnabridged;
|
stripUnabridgedCbox.Checked = config.StripUnabridged;
|
||||||
stripAudibleBrandingCbox.Checked = config.StripAudibleBrandAudio;
|
stripAudibleBrandingCbox.Checked = config.StripAudibleBrandAudio;
|
||||||
convertLosslessRb.Checked = !config.DecryptToLossy;
|
convertLosslessRb.Checked = !config.DecryptToLossy;
|
||||||
convertLossyRb.Checked = config.DecryptToLossy;
|
convertLossyRb.Checked = config.DecryptToLossy;
|
||||||
moveMoovAtomCbox.Checked = config.MoveMoovToBeginning;
|
moveMoovAtomCbox.Checked = config.MoveMoovToBeginning;
|
||||||
|
|
||||||
lameTargetBitrateRb.Checked = config.LameTargetBitrate;
|
lameTargetBitrateRb.Checked = config.LameTargetBitrate;
|
||||||
lameTargetQualityRb.Checked = !config.LameTargetBitrate;
|
lameTargetQualityRb.Checked = !config.LameTargetBitrate;
|
||||||
|
|
||||||
maxSampleRateCb.SelectedItem
|
maxSampleRateCb.SelectedItem
|
||||||
= maxSampleRateCb.Items
|
= maxSampleRateCb.Items
|
||||||
.Cast<EnumDiaplay<AAXClean.SampleRate>>()
|
.Cast<EnumDiaplay<AAXClean.SampleRate>>()
|
||||||
.SingleOrDefault(v => v.Value == config.MaxSampleRate)
|
.SingleOrDefault(v => v.Value == config.MaxSampleRate)
|
||||||
?? maxSampleRateCb.Items[0];
|
?? maxSampleRateCb.Items[0];
|
||||||
|
|
||||||
encoderQualityCb.SelectedItem = config.LameEncoderQuality;
|
encoderQualityCb.SelectedItem = config.LameEncoderQuality;
|
||||||
lameDownsampleMonoCbox.Checked = config.LameDownsampleMono;
|
lameDownsampleMonoCbox.Checked = config.LameDownsampleMono;
|
||||||
lameBitrateTb.Value = config.LameBitrate;
|
lameBitrateTb.Value = config.LameBitrate;
|
||||||
lameConstantBitrateCbox.Checked = config.LameConstantBitrate;
|
lameConstantBitrateCbox.Checked = config.LameConstantBitrate;
|
||||||
LameMatchSourceBRCbox.Checked = config.LameMatchSourceBR;
|
LameMatchSourceBRCbox.Checked = config.LameMatchSourceBR;
|
||||||
lameVBRQualityTb.Value = config.LameVBRQuality;
|
lameVBRQualityTb.Value = config.LameVBRQuality;
|
||||||
|
|
||||||
chapterTitleTemplateGb.Text = desc(nameof(config.ChapterTitleTemplate));
|
chapterTitleTemplateGb.Text = desc(nameof(config.ChapterTitleTemplate));
|
||||||
chapterTitleTemplateTb.Text = config.ChapterTitleTemplate;
|
chapterTitleTemplateTb.Text = config.ChapterTitleTemplate;
|
||||||
|
|
||||||
lameTargetRb_CheckedChanged(this, EventArgs.Empty);
|
lameTargetRb_CheckedChanged(this, EventArgs.Empty);
|
||||||
LameMatchSourceBRCbox_CheckedChanged(this, EventArgs.Empty);
|
LameMatchSourceBRCbox_CheckedChanged(this, EventArgs.Empty);
|
||||||
convertFormatRb_CheckedChanged(this, EventArgs.Empty);
|
convertFormatRb_CheckedChanged(this, EventArgs.Empty);
|
||||||
allowLibationFixupCbox_CheckedChanged(this, EventArgs.Empty);
|
allowLibationFixupCbox_CheckedChanged(this, EventArgs.Empty);
|
||||||
splitFilesByChapterCbox_CheckedChanged(this, EventArgs.Empty);
|
splitFilesByChapterCbox_CheckedChanged(this, EventArgs.Empty);
|
||||||
downloadClipsBookmarksCbox_CheckedChanged(this, EventArgs.Empty);
|
downloadClipsBookmarksCbox_CheckedChanged(this, EventArgs.Empty);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Save_AudioSettings(Configuration config)
|
private void Save_AudioSettings(Configuration config)
|
||||||
{
|
{
|
||||||
config.AllowLibationFixup = allowLibationFixupCbox.Checked;
|
config.AllowLibationFixup = allowLibationFixupCbox.Checked;
|
||||||
config.CreateCueSheet = createCueSheetCbox.Checked;
|
config.CreateCueSheet = createCueSheetCbox.Checked;
|
||||||
config.DownloadCoverArt = downloadCoverArtCbox.Checked;
|
config.DownloadCoverArt = downloadCoverArtCbox.Checked;
|
||||||
config.DownloadClipsBookmarks = downloadClipsBookmarksCbox.Checked;
|
config.DownloadClipsBookmarks = downloadClipsBookmarksCbox.Checked;
|
||||||
config.FileDownloadQuality = (Configuration.DownloadQuality)fileDownloadQualityCb.SelectedItem;
|
config.FileDownloadQuality = (Configuration.DownloadQuality)fileDownloadQualityCb.SelectedItem;
|
||||||
config.ClipsBookmarksFileFormat = (Configuration.ClipBookmarkFormat)clipsBookmarksFormatCb.SelectedItem;
|
config.ClipsBookmarksFileFormat = (Configuration.ClipBookmarkFormat)clipsBookmarksFormatCb.SelectedItem;
|
||||||
config.RetainAaxFile = retainAaxFileCbox.Checked;
|
config.RetainAaxFile = retainAaxFileCbox.Checked;
|
||||||
config.SplitFilesByChapter = splitFilesByChapterCbox.Checked;
|
config.SplitFilesByChapter = splitFilesByChapterCbox.Checked;
|
||||||
config.MergeOpeningAndEndCredits = mergeOpeningEndCreditsCbox.Checked;
|
config.MergeOpeningAndEndCredits = mergeOpeningEndCreditsCbox.Checked;
|
||||||
config.StripUnabridged = stripUnabridgedCbox.Checked;
|
config.StripUnabridged = stripUnabridgedCbox.Checked;
|
||||||
config.StripAudibleBrandAudio = stripAudibleBrandingCbox.Checked;
|
config.StripAudibleBrandAudio = stripAudibleBrandingCbox.Checked;
|
||||||
config.DecryptToLossy = convertLossyRb.Checked;
|
config.DecryptToLossy = convertLossyRb.Checked;
|
||||||
config.MoveMoovToBeginning = moveMoovAtomCbox.Checked;
|
config.MoveMoovToBeginning = moveMoovAtomCbox.Checked;
|
||||||
config.LameTargetBitrate = lameTargetBitrateRb.Checked;
|
config.LameTargetBitrate = lameTargetBitrateRb.Checked;
|
||||||
config.MaxSampleRate = ((EnumDiaplay<AAXClean.SampleRate>)maxSampleRateCb.SelectedItem).Value;
|
config.MaxSampleRate = ((EnumDiaplay<AAXClean.SampleRate>)maxSampleRateCb.SelectedItem).Value;
|
||||||
config.LameEncoderQuality = (NAudio.Lame.EncoderQuality)encoderQualityCb.SelectedItem;
|
config.LameEncoderQuality = (NAudio.Lame.EncoderQuality)encoderQualityCb.SelectedItem;
|
||||||
config.LameDownsampleMono = lameDownsampleMonoCbox.Checked;
|
config.LameDownsampleMono = lameDownsampleMonoCbox.Checked;
|
||||||
config.LameBitrate = lameBitrateTb.Value;
|
config.LameBitrate = lameBitrateTb.Value;
|
||||||
config.LameConstantBitrate = lameConstantBitrateCbox.Checked;
|
config.LameConstantBitrate = lameConstantBitrateCbox.Checked;
|
||||||
config.LameMatchSourceBR = LameMatchSourceBRCbox.Checked;
|
config.LameMatchSourceBR = LameMatchSourceBRCbox.Checked;
|
||||||
config.LameVBRQuality = lameVBRQualityTb.Value;
|
config.LameVBRQuality = lameVBRQualityTb.Value;
|
||||||
|
|
||||||
config.ChapterTitleTemplate = chapterTitleTemplateTb.Text;
|
config.ChapterTitleTemplate = chapterTitleTemplateTb.Text;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void downloadClipsBookmarksCbox_CheckedChanged(object sender, EventArgs e)
|
private void downloadClipsBookmarksCbox_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
clipsBookmarksFormatCb.Enabled = downloadClipsBookmarksCbox.Checked;
|
clipsBookmarksFormatCb.Enabled = downloadClipsBookmarksCbox.Checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void lameTargetRb_CheckedChanged(object sender, EventArgs e)
|
private void lameTargetRb_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
lameBitrateGb.Enabled = lameTargetBitrateRb.Checked;
|
lameBitrateGb.Enabled = lameTargetBitrateRb.Checked;
|
||||||
lameQualityGb.Enabled = !lameTargetBitrateRb.Checked;
|
lameQualityGb.Enabled = !lameTargetBitrateRb.Checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LameMatchSourceBRCbox_CheckedChanged(object sender, EventArgs e)
|
private void LameMatchSourceBRCbox_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
lameBitrateTb.Enabled = !LameMatchSourceBRCbox.Checked;
|
lameBitrateTb.Enabled = !LameMatchSourceBRCbox.Checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void splitFilesByChapterCbox_CheckedChanged(object sender, EventArgs e)
|
private void splitFilesByChapterCbox_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
chapterTitleTemplateGb.Enabled = splitFilesByChapterCbox.Checked;
|
chapterTitleTemplateGb.Enabled = splitFilesByChapterCbox.Checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void chapterTitleTemplateBtn_Click(object sender, EventArgs e)
|
private void chapterTitleTemplateBtn_Click(object sender, EventArgs e)
|
||||||
=> editTemplate(TemplateEditor<Templates.ChapterTitleTemplate>.CreateNameEditor(chapterTitleTemplateTb.Text), chapterTitleTemplateTb);
|
=> editTemplate(TemplateEditor<Templates.ChapterTitleTemplate>.CreateNameEditor(chapterTitleTemplateTb.Text), chapterTitleTemplateTb);
|
||||||
|
|
||||||
private void convertFormatRb_CheckedChanged(object sender, EventArgs e)
|
private void convertFormatRb_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
moveMoovAtomCbox.Enabled = convertLosslessRb.Checked;
|
moveMoovAtomCbox.Enabled = convertLosslessRb.Checked;
|
||||||
lameTargetRb_CheckedChanged(sender, e);
|
lameTargetRb_CheckedChanged(sender, e);
|
||||||
LameMatchSourceBRCbox_CheckedChanged(sender, e);
|
LameMatchSourceBRCbox_CheckedChanged(sender, e);
|
||||||
}
|
}
|
||||||
private void allowLibationFixupCbox_CheckedChanged(object sender, EventArgs e)
|
private void allowLibationFixupCbox_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
audiobookFixupsGb.Enabled = allowLibationFixupCbox.Checked;
|
audiobookFixupsGb.Enabled = allowLibationFixupCbox.Checked;
|
||||||
convertLosslessRb.Enabled = allowLibationFixupCbox.Checked;
|
convertLosslessRb.Enabled = allowLibationFixupCbox.Checked;
|
||||||
convertLossyRb.Enabled = allowLibationFixupCbox.Checked;
|
convertLossyRb.Enabled = allowLibationFixupCbox.Checked;
|
||||||
splitFilesByChapterCbox.Enabled = allowLibationFixupCbox.Checked;
|
splitFilesByChapterCbox.Enabled = allowLibationFixupCbox.Checked;
|
||||||
stripUnabridgedCbox.Enabled = allowLibationFixupCbox.Checked;
|
stripUnabridgedCbox.Enabled = allowLibationFixupCbox.Checked;
|
||||||
stripAudibleBrandingCbox.Enabled = allowLibationFixupCbox.Checked;
|
stripAudibleBrandingCbox.Enabled = allowLibationFixupCbox.Checked;
|
||||||
|
|
||||||
if (!allowLibationFixupCbox.Checked)
|
if (!allowLibationFixupCbox.Checked)
|
||||||
{
|
{
|
||||||
convertLosslessRb.Checked = true;
|
convertLosslessRb.Checked = true;
|
||||||
splitFilesByChapterCbox.Checked = false;
|
splitFilesByChapterCbox.Checked = false;
|
||||||
stripUnabridgedCbox.Checked = false;
|
stripUnabridgedCbox.Checked = false;
|
||||||
stripAudibleBrandingCbox.Checked = false;
|
stripAudibleBrandingCbox.Checked = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
2844
Source/LibationWinForms/Dialogs/SettingsDialog.Designer.cs
generated
2844
Source/LibationWinForms/Dialogs/SettingsDialog.Designer.cs
generated
File diff suppressed because it is too large
Load Diff
@ -5,78 +5,78 @@ using LibationFileManager;
|
|||||||
|
|
||||||
namespace LibationWinForms.Dialogs
|
namespace LibationWinForms.Dialogs
|
||||||
{
|
{
|
||||||
public partial class SettingsDialog
|
public partial class SettingsDialog
|
||||||
{
|
{
|
||||||
private void folderTemplateBtn_Click(object sender, EventArgs e)
|
private void folderTemplateBtn_Click(object sender, EventArgs e)
|
||||||
=> editTemplate(TemplateEditor<Templates.FolderTemplate>.CreateFilenameEditor(config.Books, folderTemplateTb.Text), folderTemplateTb);
|
=> editTemplate(TemplateEditor<Templates.FolderTemplate>.CreateFilenameEditor(config.Books, folderTemplateTb.Text), folderTemplateTb);
|
||||||
private void fileTemplateBtn_Click(object sender, EventArgs e)
|
private void fileTemplateBtn_Click(object sender, EventArgs e)
|
||||||
=> editTemplate(TemplateEditor<Templates.FileTemplate>.CreateFilenameEditor(config.Books, fileTemplateTb.Text), fileTemplateTb);
|
=> editTemplate(TemplateEditor<Templates.FileTemplate>.CreateFilenameEditor(config.Books, fileTemplateTb.Text), fileTemplateTb);
|
||||||
private void chapterFileTemplateBtn_Click(object sender, EventArgs e)
|
private void chapterFileTemplateBtn_Click(object sender, EventArgs e)
|
||||||
=> editTemplate(TemplateEditor<Templates.ChapterFileTemplate>.CreateFilenameEditor(config.Books, chapterFileTemplateTb.Text), chapterFileTemplateTb);
|
=> editTemplate(TemplateEditor<Templates.ChapterFileTemplate>.CreateFilenameEditor(config.Books, chapterFileTemplateTb.Text), chapterFileTemplateTb);
|
||||||
|
|
||||||
private void editCharreplacementBtn_Click(object sender, EventArgs e)
|
private void editCharreplacementBtn_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
var form = new EditReplacementChars(config);
|
var form = new EditReplacementChars(config);
|
||||||
form.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
form.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||||
form.ShowDialog(this);
|
form.ShowDialog(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Load_DownloadDecrypt(Configuration config)
|
private void Load_DownloadDecrypt(Configuration config)
|
||||||
{
|
{
|
||||||
inProgressDescLbl.Text = desc(nameof(config.InProgress));
|
inProgressDescLbl.Text = desc(nameof(config.InProgress));
|
||||||
editCharreplacementBtn.Text = desc(nameof(config.ReplacementCharacters));
|
editCharreplacementBtn.Text = desc(nameof(config.ReplacementCharacters));
|
||||||
|
|
||||||
badBookGb.Text = desc(nameof(config.BadBook));
|
badBookGb.Text = desc(nameof(config.BadBook));
|
||||||
badBookAskRb.Text = Configuration.BadBookAction.Ask.GetDescription();
|
badBookAskRb.Text = Configuration.BadBookAction.Ask.GetDescription();
|
||||||
badBookAbortRb.Text = Configuration.BadBookAction.Abort.GetDescription();
|
badBookAbortRb.Text = Configuration.BadBookAction.Abort.GetDescription();
|
||||||
badBookRetryRb.Text = Configuration.BadBookAction.Retry.GetDescription();
|
badBookRetryRb.Text = Configuration.BadBookAction.Retry.GetDescription();
|
||||||
badBookIgnoreRb.Text = Configuration.BadBookAction.Ignore.GetDescription();
|
badBookIgnoreRb.Text = Configuration.BadBookAction.Ignore.GetDescription();
|
||||||
useCoverAsFolderIconCb.Text = desc(nameof(config.UseCoverAsFolderIcon));
|
useCoverAsFolderIconCb.Text = desc(nameof(config.UseCoverAsFolderIcon));
|
||||||
|
|
||||||
inProgressSelectControl.SetDirectoryItems(new()
|
inProgressSelectControl.SetDirectoryItems(new()
|
||||||
{
|
{
|
||||||
Configuration.KnownDirectories.WinTemp,
|
Configuration.KnownDirectories.WinTemp,
|
||||||
Configuration.KnownDirectories.UserProfile,
|
Configuration.KnownDirectories.UserProfile,
|
||||||
Configuration.KnownDirectories.AppDir,
|
Configuration.KnownDirectories.AppDir,
|
||||||
Configuration.KnownDirectories.MyDocs,
|
Configuration.KnownDirectories.MyDocs,
|
||||||
Configuration.KnownDirectories.LibationFiles
|
Configuration.KnownDirectories.LibationFiles
|
||||||
}, Configuration.KnownDirectories.WinTemp);
|
}, Configuration.KnownDirectories.WinTemp);
|
||||||
inProgressSelectControl.SelectDirectory(config.InProgress);
|
inProgressSelectControl.SelectDirectory(config.InProgress);
|
||||||
|
|
||||||
var rb = config.BadBook switch
|
var rb = config.BadBook switch
|
||||||
{
|
{
|
||||||
Configuration.BadBookAction.Ask => this.badBookAskRb,
|
Configuration.BadBookAction.Ask => this.badBookAskRb,
|
||||||
Configuration.BadBookAction.Abort => this.badBookAbortRb,
|
Configuration.BadBookAction.Abort => this.badBookAbortRb,
|
||||||
Configuration.BadBookAction.Retry => this.badBookRetryRb,
|
Configuration.BadBookAction.Retry => this.badBookRetryRb,
|
||||||
Configuration.BadBookAction.Ignore => this.badBookIgnoreRb,
|
Configuration.BadBookAction.Ignore => this.badBookIgnoreRb,
|
||||||
_ => this.badBookAskRb
|
_ => this.badBookAskRb
|
||||||
};
|
};
|
||||||
rb.Checked = true;
|
rb.Checked = true;
|
||||||
|
|
||||||
folderTemplateLbl.Text = desc(nameof(config.FolderTemplate));
|
folderTemplateLbl.Text = desc(nameof(config.FolderTemplate));
|
||||||
fileTemplateLbl.Text = desc(nameof(config.FileTemplate));
|
fileTemplateLbl.Text = desc(nameof(config.FileTemplate));
|
||||||
chapterFileTemplateLbl.Text = desc(nameof(config.ChapterFileTemplate));
|
chapterFileTemplateLbl.Text = desc(nameof(config.ChapterFileTemplate));
|
||||||
folderTemplateTb.Text = config.FolderTemplate;
|
folderTemplateTb.Text = config.FolderTemplate;
|
||||||
fileTemplateTb.Text = config.FileTemplate;
|
fileTemplateTb.Text = config.FileTemplate;
|
||||||
chapterFileTemplateTb.Text = config.ChapterFileTemplate;
|
chapterFileTemplateTb.Text = config.ChapterFileTemplate;
|
||||||
useCoverAsFolderIconCb.Checked = config.UseCoverAsFolderIcon;
|
useCoverAsFolderIconCb.Checked = config.UseCoverAsFolderIcon;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Save_DownloadDecrypt(Configuration config)
|
private void Save_DownloadDecrypt(Configuration config)
|
||||||
{
|
{
|
||||||
config.InProgress = inProgressSelectControl.SelectedDirectory;
|
config.InProgress = inProgressSelectControl.SelectedDirectory;
|
||||||
|
|
||||||
config.BadBook
|
config.BadBook
|
||||||
= badBookAskRb.Checked ? Configuration.BadBookAction.Ask
|
= badBookAskRb.Checked ? Configuration.BadBookAction.Ask
|
||||||
: badBookAbortRb.Checked ? Configuration.BadBookAction.Abort
|
: badBookAbortRb.Checked ? Configuration.BadBookAction.Abort
|
||||||
: badBookRetryRb.Checked ? Configuration.BadBookAction.Retry
|
: badBookRetryRb.Checked ? Configuration.BadBookAction.Retry
|
||||||
: badBookIgnoreRb.Checked ? Configuration.BadBookAction.Ignore
|
: badBookIgnoreRb.Checked ? Configuration.BadBookAction.Ignore
|
||||||
: Configuration.BadBookAction.Ask;
|
: Configuration.BadBookAction.Ask;
|
||||||
|
|
||||||
config.FolderTemplate = folderTemplateTb.Text;
|
config.FolderTemplate = folderTemplateTb.Text;
|
||||||
config.FileTemplate = fileTemplateTb.Text;
|
config.FileTemplate = fileTemplateTb.Text;
|
||||||
config.ChapterFileTemplate = chapterFileTemplateTb.Text;
|
config.ChapterFileTemplate = chapterFileTemplateTb.Text;
|
||||||
config.UseCoverAsFolderIcon = useCoverAsFolderIconCb.Checked;
|
config.UseCoverAsFolderIcon = useCoverAsFolderIconCb.Checked;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,29 +5,29 @@ using System.Linq;
|
|||||||
|
|
||||||
namespace LibationWinForms.Dialogs
|
namespace LibationWinForms.Dialogs
|
||||||
{
|
{
|
||||||
public partial class SettingsDialog
|
public partial class SettingsDialog
|
||||||
{
|
{
|
||||||
private void Load_ImportLibrary(Configuration config)
|
private void Load_ImportLibrary(Configuration config)
|
||||||
{
|
{
|
||||||
this.autoScanCb.Text = desc(nameof(config.AutoScan));
|
this.autoScanCb.Text = desc(nameof(config.AutoScan));
|
||||||
this.showImportedStatsCb.Text = desc(nameof(config.ShowImportedStats));
|
this.showImportedStatsCb.Text = desc(nameof(config.ShowImportedStats));
|
||||||
this.importEpisodesCb.Text = desc(nameof(config.ImportEpisodes));
|
this.importEpisodesCb.Text = desc(nameof(config.ImportEpisodes));
|
||||||
this.downloadEpisodesCb.Text = desc(nameof(config.DownloadEpisodes));
|
this.downloadEpisodesCb.Text = desc(nameof(config.DownloadEpisodes));
|
||||||
this.autoDownloadEpisodesCb.Text = desc(nameof(config.AutoDownloadEpisodes));
|
this.autoDownloadEpisodesCb.Text = desc(nameof(config.AutoDownloadEpisodes));
|
||||||
|
|
||||||
autoScanCb.Checked = config.AutoScan;
|
autoScanCb.Checked = config.AutoScan;
|
||||||
showImportedStatsCb.Checked = config.ShowImportedStats;
|
showImportedStatsCb.Checked = config.ShowImportedStats;
|
||||||
importEpisodesCb.Checked = config.ImportEpisodes;
|
importEpisodesCb.Checked = config.ImportEpisodes;
|
||||||
downloadEpisodesCb.Checked = config.DownloadEpisodes;
|
downloadEpisodesCb.Checked = config.DownloadEpisodes;
|
||||||
autoDownloadEpisodesCb.Checked = config.AutoDownloadEpisodes;
|
autoDownloadEpisodesCb.Checked = config.AutoDownloadEpisodes;
|
||||||
}
|
}
|
||||||
private void Save_ImportLibrary(Configuration config)
|
private void Save_ImportLibrary(Configuration config)
|
||||||
{
|
{
|
||||||
config.AutoScan = autoScanCb.Checked;
|
config.AutoScan = autoScanCb.Checked;
|
||||||
config.ShowImportedStats = showImportedStatsCb.Checked;
|
config.ShowImportedStats = showImportedStatsCb.Checked;
|
||||||
config.ImportEpisodes = importEpisodesCb.Checked;
|
config.ImportEpisodes = importEpisodesCb.Checked;
|
||||||
config.DownloadEpisodes = downloadEpisodesCb.Checked;
|
config.DownloadEpisodes = downloadEpisodesCb.Checked;
|
||||||
config.AutoDownloadEpisodes = autoDownloadEpisodesCb.Checked;
|
config.AutoDownloadEpisodes = autoDownloadEpisodesCb.Checked;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -9,104 +9,104 @@ using System.Windows.Forms;
|
|||||||
|
|
||||||
namespace LibationWinForms.Dialogs
|
namespace LibationWinForms.Dialogs
|
||||||
{
|
{
|
||||||
public partial class SettingsDialog
|
public partial class SettingsDialog
|
||||||
{
|
{
|
||||||
private void logsBtn_Click(object sender, EventArgs e) => Go.To.Folder(((LongPath)Configuration.Instance.LibationFiles).ShortPathName);
|
private void logsBtn_Click(object sender, EventArgs e) => Go.To.Folder(((LongPath)Configuration.Instance.LibationFiles).ShortPathName);
|
||||||
|
|
||||||
private void Load_Important(Configuration config)
|
private void Load_Important(Configuration config)
|
||||||
{
|
{
|
||||||
{
|
{
|
||||||
loggingLevelCb.Items.Clear();
|
loggingLevelCb.Items.Clear();
|
||||||
foreach (var level in Enum<Serilog.Events.LogEventLevel>.GetValues())
|
foreach (var level in Enum<Serilog.Events.LogEventLevel>.GetValues())
|
||||||
loggingLevelCb.Items.Add(level);
|
loggingLevelCb.Items.Add(level);
|
||||||
loggingLevelCb.SelectedItem = config.LogLevel;
|
loggingLevelCb.SelectedItem = config.LogLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
booksLocationDescLbl.Text = desc(nameof(config.Books));
|
booksLocationDescLbl.Text = desc(nameof(config.Books));
|
||||||
betaOptInCbox.Text = desc(nameof(config.BetaOptIn));
|
betaOptInCbox.Text = desc(nameof(config.BetaOptIn));
|
||||||
saveEpisodesToSeriesFolderCbox.Text = desc(nameof(config.SavePodcastsToParentFolder));
|
saveEpisodesToSeriesFolderCbox.Text = desc(nameof(config.SavePodcastsToParentFolder));
|
||||||
overwriteExistingCbox.Text = desc(nameof(config.OverwriteExisting));
|
overwriteExistingCbox.Text = desc(nameof(config.OverwriteExisting));
|
||||||
creationTimeLbl.Text = desc(nameof(config.CreationTime));
|
creationTimeLbl.Text = desc(nameof(config.CreationTime));
|
||||||
lastWriteTimeLbl.Text = desc(nameof(config.LastWriteTime));
|
lastWriteTimeLbl.Text = desc(nameof(config.LastWriteTime));
|
||||||
|
|
||||||
var dateTimeSources = Enum.GetValues<Configuration.DateTimeSource>().Select(v => new EnumDiaplay<Configuration.DateTimeSource>(v)).ToArray();
|
var dateTimeSources = Enum.GetValues<Configuration.DateTimeSource>().Select(v => new EnumDiaplay<Configuration.DateTimeSource>(v)).ToArray();
|
||||||
creationTimeCb.Items.AddRange(dateTimeSources);
|
creationTimeCb.Items.AddRange(dateTimeSources);
|
||||||
lastWriteTimeCb.Items.AddRange(dateTimeSources);
|
lastWriteTimeCb.Items.AddRange(dateTimeSources);
|
||||||
|
|
||||||
creationTimeCb.SelectedItem = dateTimeSources.SingleOrDefault(v => v.Value == config.CreationTime) ?? dateTimeSources[0];
|
creationTimeCb.SelectedItem = dateTimeSources.SingleOrDefault(v => v.Value == config.CreationTime) ?? dateTimeSources[0];
|
||||||
lastWriteTimeCb.SelectedItem = dateTimeSources.SingleOrDefault(v => v.Value == config.LastWriteTime) ?? dateTimeSources[0];
|
lastWriteTimeCb.SelectedItem = dateTimeSources.SingleOrDefault(v => v.Value == config.LastWriteTime) ?? dateTimeSources[0];
|
||||||
|
|
||||||
|
|
||||||
booksSelectControl.SetSearchTitle("books location");
|
booksSelectControl.SetSearchTitle("books location");
|
||||||
booksSelectControl.SetDirectoryItems(
|
booksSelectControl.SetDirectoryItems(
|
||||||
new()
|
new()
|
||||||
{
|
{
|
||||||
Configuration.KnownDirectories.UserProfile,
|
Configuration.KnownDirectories.UserProfile,
|
||||||
Configuration.KnownDirectories.AppDir,
|
Configuration.KnownDirectories.AppDir,
|
||||||
Configuration.KnownDirectories.MyDocs
|
Configuration.KnownDirectories.MyDocs
|
||||||
},
|
},
|
||||||
Configuration.KnownDirectories.UserProfile,
|
Configuration.KnownDirectories.UserProfile,
|
||||||
"Books");
|
"Books");
|
||||||
booksSelectControl.SelectDirectory(config.Books.PathWithoutPrefix);
|
booksSelectControl.SelectDirectory(config.Books.PathWithoutPrefix);
|
||||||
|
|
||||||
saveEpisodesToSeriesFolderCbox.Checked = config.SavePodcastsToParentFolder;
|
saveEpisodesToSeriesFolderCbox.Checked = config.SavePodcastsToParentFolder;
|
||||||
overwriteExistingCbox.Checked = config.OverwriteExisting;
|
overwriteExistingCbox.Checked = config.OverwriteExisting;
|
||||||
|
|
||||||
betaOptInCbox.Checked = config.BetaOptIn;
|
betaOptInCbox.Checked = config.BetaOptIn;
|
||||||
|
|
||||||
if (!betaOptInCbox.Checked)
|
if (!betaOptInCbox.Checked)
|
||||||
betaOptInCbox.CheckedChanged += betaOptInCbox_CheckedChanged;
|
betaOptInCbox.CheckedChanged += betaOptInCbox_CheckedChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Save_Important(Configuration config)
|
private void Save_Important(Configuration config)
|
||||||
{
|
{
|
||||||
var newBooks = booksSelectControl.SelectedDirectory;
|
var newBooks = booksSelectControl.SelectedDirectory;
|
||||||
|
|
||||||
#region validation
|
#region validation
|
||||||
static void validationError(string text, string caption)
|
static void validationError(string text, string caption)
|
||||||
=> MessageBox.Show(text, caption, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
=> MessageBox.Show(text, caption, MessageBoxButtons.OK, MessageBoxIcon.Error);
|
||||||
if (string.IsNullOrWhiteSpace(newBooks))
|
if (string.IsNullOrWhiteSpace(newBooks))
|
||||||
{
|
{
|
||||||
validationError("Cannot set Books Location to blank", "Location is blank");
|
validationError("Cannot set Books Location to blank", "Location is blank");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
LongPath lonNewBooks = newBooks;
|
LongPath lonNewBooks = newBooks;
|
||||||
if (!Directory.Exists(lonNewBooks))
|
if (!Directory.Exists(lonNewBooks))
|
||||||
Directory.CreateDirectory(lonNewBooks);
|
Directory.CreateDirectory(lonNewBooks);
|
||||||
|
|
||||||
config.Books = newBooks;
|
config.Books = newBooks;
|
||||||
|
|
||||||
{
|
{
|
||||||
var logLevelOld = config.LogLevel;
|
var logLevelOld = config.LogLevel;
|
||||||
var logLevelNew = (Serilog.Events.LogEventLevel)loggingLevelCb.SelectedItem;
|
var logLevelNew = (Serilog.Events.LogEventLevel)loggingLevelCb.SelectedItem;
|
||||||
|
|
||||||
config.LogLevel = logLevelNew;
|
config.LogLevel = logLevelNew;
|
||||||
|
|
||||||
// only warn if changed during this time. don't want to warn every time user happens to change settings while level is verbose
|
// only warn if changed during this time. don't want to warn every time user happens to change settings while level is verbose
|
||||||
if (logLevelOld != logLevelNew)
|
if (logLevelOld != logLevelNew)
|
||||||
MessageBoxLib.VerboseLoggingWarning_ShowIfTrue();
|
MessageBoxLib.VerboseLoggingWarning_ShowIfTrue();
|
||||||
}
|
}
|
||||||
|
|
||||||
config.SavePodcastsToParentFolder = saveEpisodesToSeriesFolderCbox.Checked;
|
config.SavePodcastsToParentFolder = saveEpisodesToSeriesFolderCbox.Checked;
|
||||||
config.OverwriteExisting = overwriteExistingCbox.Checked;
|
config.OverwriteExisting = overwriteExistingCbox.Checked;
|
||||||
|
|
||||||
config.BetaOptIn = betaOptInCbox.Checked;
|
config.BetaOptIn = betaOptInCbox.Checked;
|
||||||
|
|
||||||
|
|
||||||
config.CreationTime = ((EnumDiaplay<Configuration.DateTimeSource>)creationTimeCb.SelectedItem).Value;
|
config.CreationTime = ((EnumDiaplay<Configuration.DateTimeSource>)creationTimeCb.SelectedItem).Value;
|
||||||
config.LastWriteTime = ((EnumDiaplay<Configuration.DateTimeSource>)lastWriteTimeCb.SelectedItem).Value;
|
config.LastWriteTime = ((EnumDiaplay<Configuration.DateTimeSource>)lastWriteTimeCb.SelectedItem).Value;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void betaOptInCbox_CheckedChanged(object sender, EventArgs e)
|
private void betaOptInCbox_CheckedChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (!betaOptInCbox.Checked)
|
if (!betaOptInCbox.Checked)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var result = MessageBox.Show(this, @"
|
var result = MessageBox.Show(this, @"
|
||||||
|
|
||||||
|
|
||||||
You've chosen to opt-in to Libation's beta releases. Thank you! We need all the testers we can get.
|
You've chosen to opt-in to Libation's beta releases. Thank you! We need all the testers we can get.
|
||||||
@ -117,14 +117,14 @@ If bad/weird things happen, please report them at getlibation.com.
|
|||||||
|
|
||||||
".Trim(), "A word of warning...", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
|
".Trim(), "A word of warning...", MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button2);
|
||||||
|
|
||||||
if (result == DialogResult.Yes)
|
if (result == DialogResult.Yes)
|
||||||
{
|
{
|
||||||
betaOptInCbox.CheckedChanged -= betaOptInCbox_CheckedChanged;
|
betaOptInCbox.CheckedChanged -= betaOptInCbox_CheckedChanged;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
betaOptInCbox.Checked = false;
|
betaOptInCbox.Checked = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -5,50 +5,50 @@ using LibationFileManager;
|
|||||||
|
|
||||||
namespace LibationWinForms.Dialogs
|
namespace LibationWinForms.Dialogs
|
||||||
{
|
{
|
||||||
public partial class SettingsDialog : Form
|
public partial class SettingsDialog : Form
|
||||||
{
|
{
|
||||||
private Configuration config { get; } = Configuration.Instance;
|
private Configuration config { get; } = Configuration.Instance;
|
||||||
private Func<string, string> desc { get; } = Configuration.GetDescription;
|
private Func<string, string> desc { get; } = Configuration.GetDescription;
|
||||||
|
|
||||||
public SettingsDialog()
|
public SettingsDialog()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.SetLibationIcon();
|
this.SetLibationIcon();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SettingsDialog_Load(object sender, EventArgs e)
|
private void SettingsDialog_Load(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (this.DesignMode)
|
if (this.DesignMode)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
Load_Important(config);
|
Load_Important(config);
|
||||||
Load_ImportLibrary(config);
|
Load_ImportLibrary(config);
|
||||||
Load_DownloadDecrypt(config);
|
Load_DownloadDecrypt(config);
|
||||||
Load_AudioSettings(config);
|
Load_AudioSettings(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void editTemplate(ITemplateEditor template, TextBox textBox)
|
private static void editTemplate(ITemplateEditor template, TextBox textBox)
|
||||||
{
|
{
|
||||||
var form = new EditTemplateDialog(template);
|
var form = new EditTemplateDialog(template);
|
||||||
if (form.ShowDialog() == DialogResult.OK)
|
if (form.ShowDialog() == DialogResult.OK)
|
||||||
textBox.Text = template.EditingTemplate.TemplateText;
|
textBox.Text = template.EditingTemplate.TemplateText;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveBtn_Click(object sender, EventArgs e)
|
private void saveBtn_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Save_Important(config);
|
Save_Important(config);
|
||||||
Save_ImportLibrary(config);
|
Save_ImportLibrary(config);
|
||||||
Save_DownloadDecrypt(config);
|
Save_DownloadDecrypt(config);
|
||||||
Save_AudioSettings(config);
|
Save_AudioSettings(config);
|
||||||
|
|
||||||
this.DialogResult = DialogResult.OK;
|
this.DialogResult = DialogResult.OK;
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cancelBtn_Click(object sender, EventArgs e)
|
private void cancelBtn_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
this.DialogResult = DialogResult.Cancel;
|
this.DialogResult = DialogResult.Cancel;
|
||||||
this.Close();
|
this.Close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user