diff --git a/AudibleApiDomainService/AudibleApiDomainService.csproj b/AudibleApiDomainService/AudibleApiDomainService.csproj new file mode 100644 index 00000000..af0258e8 --- /dev/null +++ b/AudibleApiDomainService/AudibleApiDomainService.csproj @@ -0,0 +1,11 @@ + + + + netstandard2.1 + + + + + + + diff --git a/AudibleApiDomainService/AudibleApiLibationClient.cs b/AudibleApiDomainService/AudibleApiLibationClient.cs new file mode 100644 index 00000000..b20a3c3d --- /dev/null +++ b/AudibleApiDomainService/AudibleApiLibationClient.cs @@ -0,0 +1,19 @@ +using System; +using System.Threading.Tasks; + +namespace AudibleApiDomainService +{ + public class AudibleApiLibationClient + { + private Settings settings; + public AudibleApiLibationClient(Settings settings) + => this.settings = settings ?? throw new ArgumentNullException(nameof(settings)); + + public async Task ImportLibraryAsync() + { + // call api + // translate to DTOs + // update database + } + } +} diff --git a/AudibleApiDomainService/FROM_DEMO/AudibleApiClient.cs b/AudibleApiDomainService/FROM_DEMO/AudibleApiClient.cs new file mode 100644 index 00000000..c345fcdd --- /dev/null +++ b/AudibleApiDomainService/FROM_DEMO/AudibleApiClient.cs @@ -0,0 +1,205 @@ +//using System; +//using System.IO; +//using System.Net.Http; +//using System.Threading.Tasks; +//using AudibleApi; +//using AudibleApi.Authentication; +//using AudibleApi.Authorization; +//using Dinah.Core.Net.Http; +//using Newtonsoft.Json; + +//namespace AudibleApiDomainService +//{ +// public class AudibleApiClient +// { +// #region initialize api +// public const string APP_SETTINGS = "appsettings.json"; +// private Api _api; + +// private static ClientSettings settings; + +// private AudibleApiClient() { } +// public async static Task CreateClientAsync() +// { +// settings = ClientSettings.FromFile(APP_SETTINGS); + +// restoreLocale(); + +// Api api; +// try +// { +// api = await EzApiCreator.GetApiAsync(settings.IdentityFilePath); +// } +// catch +// { +// var inMemoryIdentity = await loginAsync(email, password); +// api = await EzApiCreator.GetApiAsync(settings.IdentityFilePath, inMemoryIdentity); +// } + +// return new AudibleApiClient { _api = api }; +// } + +// private static void restoreLocale() +// { +// if (settings.LocaleCountryCode != null) +// Localization.SetLocale(settings.LocaleCountryCode); +// } + +// // LOGIN PATTERN +// // - Start with Authenticate. Submit email + pw +// // - Each step in the login process will return a LoginResult +// // - Each result which has required user input has a SubmitAsync method +// // - The final LoginComplete result returns "Identity" -- in-memory authorization items +// private static async Task loginAsync(string email, string pw) +// { +// var login = new Authenticate(); +// var loginResult = await login.SubmitCredentialsAsync(email, pw); + +// while (true) +// { +// switch (loginResult) +// { +// case CredentialsPage credentialsPage: +// Console.WriteLine("Email:"); +// var emailInput = Console.ReadLine(); +// Console.WriteLine("Password:"); +// var pwInput = Dinah.Core.ConsoleLib.ConsoleExt.ReadPassword(); +// loginResult = await credentialsPage.SubmitAsync(emailInput, pwInput); +// break; + +// case CaptchaPage captchaResult: +// var imageBytes = await downloadImageAsync(captchaResult.CaptchaImage); +// var guess = getUserCaptchaGuess(imageBytes); +// loginResult = await captchaResult.SubmitAsync(guess); +// break; + +// case TwoFactorAuthenticationPage _2fa: +// Console.WriteLine("Two-Step Verification code:"); +// var _2faCode = Console.ReadLine(); +// loginResult = await _2fa.SubmitAsync(_2faCode); +// break; + +// case LoginComplete final: +// return final.Identity; + +// default: +// throw new Exception("Unknown LoginResult"); +// } +// } +// } + +// private static async Task downloadImageAsync(Uri imageUri) +// { +// using var client = new HttpClient(); +// using var contentStream = await client.GetStreamAsync(imageUri); +// using var localStream = new MemoryStream(); +// await contentStream.CopyToAsync(localStream); +// return localStream.ToArray(); +// } + +// private static string getUserCaptchaGuess(byte[] captchaImage) +// { +// var tempFileName = Path.Combine(Path.GetTempPath(), "audible_api_captcha_" + Guid.NewGuid() + ".jpg"); + +// try +// { +// File.WriteAllBytes(tempFileName, captchaImage); + +// var processStartInfo = new System.Diagnostics.ProcessStartInfo +// { +// Verb = string.Empty, +// UseShellExecute = true, +// CreateNoWindow = true, +// FileName = tempFileName +// }; +// System.Diagnostics.Process.Start(processStartInfo); + +// Console.WriteLine("CAPTCHA answer: "); +// var guess = Console.ReadLine(); +// return guess; +// } +// finally +// { +// if (File.Exists(tempFileName)) +// File.Delete(tempFileName); +// } +// } +// #endregion + +// #region api call examples +// // Mimi's Adventure (3m) +// public const string TINY_BOOK_ASIN = "B079DZ8YMP"; + +// // Harry Potter 1 (8h 33m) +// public const string MEDIUM_BOOK_ASIN = "B017V4IM1G"; + +// // Sherlock Holmes (62h 52m) +// public const string HUGE_BOOK_ASIN = "B06WLMWF2S"; + +// public Task PrintLibraryAsync() => wrapCallAsync(printLibraryAsync); +// private async Task printLibraryAsync() +// { +// // test ad hoc api calls + +// string url; +// string allGroups; + +// url +// = "/1.0/library" +// + "?purchaseAfterDate=01/01/1970&page=23"; +// url = "/1.0/library/" + +// //TINY_BOOK_ASIN +// MEDIUM_BOOK_ASIN +// //HUGE_BOOK_ASIN +// ; + +// url += url.Contains("?") ? "&" : "?"; + +// //allGroups = "response_groups=badge_types,category_ladders,claim_code_url,contributors,is_downloaded,is_returnable,media,origin_asin,pdf_url,percent_complete,price,product_attrs,product_desc,product_extended_attrs,product_plan_details,product_plans,provided_review,rating,relationships,review_attrs,reviews,sample,series,sku"; +// allGroups = "response_groups=series,category_ladders,contributors"; + +// url += allGroups; +// var responseMsg = await _api.AdHocAuthenticatedGetAsync(url); +// var jObj = await responseMsg.Content.ReadAsJObjectAsync(); +// var str = jObj.ToString(Formatting.Indented); +// Console.WriteLine(str); +// } + +// public Task DownloadBookAsync() => wrapCallAsync(downloadBookAsync); +// private async Task downloadBookAsync() +// { +// using var progressBar = new Dinah.Core.ConsoleLib.ProgressBar(); +// var progress = new Progress(); +// progress.ProgressChanged += (_, e) => progressBar.Report(Math.Round((double)(100 * e.BytesReceived) / e.TotalFileSize.Value) / 100); + +// Console.Write("Download book"); +// var finalFile = await _api.DownloadAaxWorkaroundAsync(TINY_BOOK_ASIN, "downloadExample.xyz", progress); + +// Console.WriteLine(" Done!"); +// Console.WriteLine("final file: " + Path.GetFullPath(finalFile)); + +// // benefit of this small delay: +// // - if you try to delete a file too soon after it's created, the OS isn't done with the creation and you can get an unexpected error +// // - give progressBar's internal timer time to finish. if timer is disposed before the final message is processed, "100%" will never get a chance to be displayed +// await Task.Delay(100); + +// File.Delete(finalFile); +// } + +// private async Task wrapCallAsync(Func fn) +// { +// try +// { +// await fn(); +// } +// catch (AudibleApiException aex) +// { +// Console.WriteLine("ERROR:"); +// Console.WriteLine(aex.Message); +// Console.WriteLine(aex.JsonMessage.ToString()); +// Console.WriteLine(aex.RequestUri.ToString()); +// } +// } +// #endregion +// } +//} \ No newline at end of file diff --git a/AudibleApiDomainService/Settings.cs b/AudibleApiDomainService/Settings.cs new file mode 100644 index 00000000..5f7e3688 --- /dev/null +++ b/AudibleApiDomainService/Settings.cs @@ -0,0 +1,10 @@ +namespace AudibleApiDomainService +{ + public class Settings + { + // identityTokens.json + public string IdentityFilePath { get; set; } + + public string LocaleCountryCode { get; set; } + } +} \ No newline at end of file diff --git a/DataLayer/_HowTo- EF Core.txt b/DataLayer/_HowTo- EF Core.txt index 576fad73..112d5e1e 100644 --- a/DataLayer/_HowTo- EF Core.txt +++ b/DataLayer/_HowTo- EF Core.txt @@ -11,8 +11,8 @@ Microsoft.EntityFrameworkCore.Sqlite MIGRATIONS require standard, not core using standard instead of core. edit 3 things in csproj 1of3: pluralize xml TargetFramework tag to TargetFrameworks -2of2: TargetFrameworks from: netstandard2.0 -to: netcoreapp2.1;netstandard2.0 +2of2: TargetFrameworks from: netstandard2.1 +to: netcoreapp3.0;netstandard2.1 3of3: add true diff --git a/FileManager/UNTESTED/Configuration.cs b/FileManager/UNTESTED/Configuration.cs index 47ceed16..208be157 100644 --- a/FileManager/UNTESTED/Configuration.cs +++ b/FileManager/UNTESTED/Configuration.cs @@ -80,6 +80,12 @@ namespace FileManager set => persistentDictionary[nameof(DecryptInProgressEnum)] = value; } + public string LocaleCountryCode + { + get => persistentDictionary[nameof(LocaleCountryCode)]; + set => persistentDictionary[nameof(LocaleCountryCode)] = value; + } + // singleton stuff public static Configuration Instance { get; } = new Configuration(); private Configuration() @@ -135,11 +141,11 @@ namespace FileManager private static string getNonDevelopmentDir(string path) { // examples: - // \Libation\Core2_0\bin\Debug\netcoreapp2.1 - // \Libation\StndLib\bin\Debug\netstandard2.0 + // \Libation\Core2_0\bin\Debug\netcoreapp3.0 + // \Libation\StndLib\bin\Debug\netstandard2.1 // \Libation\MyWnfrm\bin\Debug - // \Libation\Core2_0\bin\Release\netcoreapp2.1 - // \Libation\StndLib\bin\Release\netstandard2.0 + // \Libation\Core2_0\bin\Release\netcoreapp3.0 + // \Libation\StndLib\bin\Release\netstandard2.1 // \Libation\MyWnfrm\bin\Release var curr = new DirectoryInfo(path); diff --git a/Libation.sln b/Libation.sln index 3202d151..112e9a9e 100644 --- a/Libation.sln +++ b/Libation.sln @@ -35,11 +35,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "AudibleDotComAutomation", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CookieMonster", "CookieMonster\CookieMonster.csproj", "{7BD02E29-3430-4D06-88D2-5CECEE9ABD01}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DomainServices", "DomainServices\DomainServices.csproj", "{393B5B27-D15C-4F77-9457-FA14BA8F3C73}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScrapingDomainServices", "ScrapingDomainServices\ScrapingDomainServices.csproj", "{393B5B27-D15C-4F77-9457-FA14BA8F3C73}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "InternalUtilities", "InternalUtilities\InternalUtilities.csproj", "{06882742-27A6-4347-97D9-56162CEC9C11}" EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3.1 Domain Internal Utilities", "3.1 Domain Internal Utilities", "{F0CBB7A7-D3FB-41FF-8F47-CF3F6A592249}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "3.1 Domain Internal Utilities (db ignorant)", "3.1 Domain Internal Utilities (db ignorant)", "{F0CBB7A7-D3FB-41FF-8F47-CF3F6A592249}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LibationSearchEngine", "LibationSearchEngine\LibationSearchEngine.csproj", "{2E1F5DB4-40CC-4804-A893-5DCE0193E598}" EndProject @@ -83,6 +83,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LuceneNet303r2.Tests", "..\ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "DTOs", "DTOs\DTOs.csproj", "{5FDA62B1-55FD-407A-BECA-38A969235541}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AudibleApiDomainService", "AudibleApiDomainService\AudibleApiDomainService.csproj", "{A1AB4B4B-6855-4BD0-BC54-C2FFDB20E050}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -201,6 +203,10 @@ Global {5FDA62B1-55FD-407A-BECA-38A969235541}.Debug|Any CPU.Build.0 = Debug|Any CPU {5FDA62B1-55FD-407A-BECA-38A969235541}.Release|Any CPU.ActiveCfg = Release|Any CPU {5FDA62B1-55FD-407A-BECA-38A969235541}.Release|Any CPU.Build.0 = Release|Any CPU + {A1AB4B4B-6855-4BD0-BC54-C2FFDB20E050}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A1AB4B4B-6855-4BD0-BC54-C2FFDB20E050}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A1AB4B4B-6855-4BD0-BC54-C2FFDB20E050}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A1AB4B4B-6855-4BD0-BC54-C2FFDB20E050}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -234,6 +240,7 @@ Global {35803735-B669-4090-9681-CC7F7FABDC71} = {7FBBB086-0807-4998-85BF-6D1A49C8AD05} {5A7681A5-60D9-480B-9AC7-63E0812A2548} = {38E6C6D9-963A-4C5B-89F4-F2F14885ADFD} {5FDA62B1-55FD-407A-BECA-38A969235541} = {7FBBB086-0807-4998-85BF-6D1A49C8AD05} + {A1AB4B4B-6855-4BD0-BC54-C2FFDB20E050} = {41CDCC73-9B81-49DD-9570-C54406E852AF} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {615E00ED-BAEF-4E8E-A92A-9B82D87942A9} diff --git a/LibationWinForm/LibationWinForm.csproj b/LibationWinForm/LibationWinForm.csproj index 8d8c5cbd..69babc2b 100644 --- a/LibationWinForm/LibationWinForm.csproj +++ b/LibationWinForm/LibationWinForm.csproj @@ -11,7 +11,8 @@ - + + diff --git a/LibationWinForm/UNTESTED/Dialogs/SettingsDialog.Designer.cs b/LibationWinForm/UNTESTED/Dialogs/SettingsDialog.Designer.cs index 089b90d0..b1b152fb 100644 --- a/LibationWinForm/UNTESTED/Dialogs/SettingsDialog.Designer.cs +++ b/LibationWinForm/UNTESTED/Dialogs/SettingsDialog.Designer.cs @@ -55,7 +55,9 @@ this.decryptInProgressDescLbl = new System.Windows.Forms.Label(); this.saveBtn = new System.Windows.Forms.Button(); this.cancelBtn = new System.Windows.Forms.Button(); - this.libationFilesGb.SuspendLayout(); + this.audibleLocaleLbl = new System.Windows.Forms.Label(); + this.audibleLocaleCb = new System.Windows.Forms.ComboBox(); + this.libationFilesGb.SuspendLayout(); this.downloadsInProgressGb.SuspendLayout(); this.decryptInProgressGb.SuspendLayout(); this.SuspendLayout(); @@ -99,7 +101,7 @@ this.booksLocationLbl.Location = new System.Drawing.Point(7, 103); this.booksLocationLbl.Name = "booksLocationLbl"; this.booksLocationLbl.Size = new System.Drawing.Size(77, 13); - this.booksLocationLbl.TabIndex = 6; + this.booksLocationLbl.TabIndex = 8; this.booksLocationLbl.Text = "Books location"; // // booksLocationTb @@ -107,14 +109,14 @@ this.booksLocationTb.Location = new System.Drawing.Point(90, 100); this.booksLocationTb.Name = "booksLocationTb"; this.booksLocationTb.Size = new System.Drawing.Size(657, 20); - this.booksLocationTb.TabIndex = 7; + this.booksLocationTb.TabIndex = 9; // // booksLocationSearchBtn // this.booksLocationSearchBtn.Location = new System.Drawing.Point(753, 98); this.booksLocationSearchBtn.Name = "booksLocationSearchBtn"; this.booksLocationSearchBtn.Size = new System.Drawing.Size(35, 23); - this.booksLocationSearchBtn.TabIndex = 8; + this.booksLocationSearchBtn.TabIndex = 10; this.booksLocationSearchBtn.Text = "..."; this.booksLocationSearchBtn.UseVisualStyleBackColor = true; this.booksLocationSearchBtn.Click += new System.EventHandler(this.booksLocationSearchBtn_Click); @@ -143,7 +145,7 @@ this.booksLocationDescLbl.Location = new System.Drawing.Point(87, 123); this.booksLocationDescLbl.Name = "booksLocationDescLbl"; this.booksLocationDescLbl.Size = new System.Drawing.Size(36, 13); - this.booksLocationDescLbl.TabIndex = 9; + this.booksLocationDescLbl.TabIndex = 11; this.booksLocationDescLbl.Text = "[desc]"; // // libationFilesGb @@ -157,7 +159,7 @@ this.libationFilesGb.Location = new System.Drawing.Point(12, 139); this.libationFilesGb.Name = "libationFilesGb"; this.libationFilesGb.Size = new System.Drawing.Size(776, 131); - this.libationFilesGb.TabIndex = 10; + this.libationFilesGb.TabIndex = 12; this.libationFilesGb.TabStop = false; this.libationFilesGb.Text = "Libation files"; // @@ -235,7 +237,7 @@ this.downloadsInProgressGb.Location = new System.Drawing.Point(12, 276); this.downloadsInProgressGb.Name = "downloadsInProgressGb"; this.downloadsInProgressGb.Size = new System.Drawing.Size(776, 117); - this.downloadsInProgressGb.TabIndex = 11; + this.downloadsInProgressGb.TabIndex = 13; this.downloadsInProgressGb.TabStop = false; this.downloadsInProgressGb.Text = "Downloads in progress"; // @@ -280,7 +282,7 @@ this.decryptInProgressGb.Location = new System.Drawing.Point(12, 399); this.decryptInProgressGb.Name = "decryptInProgressGb"; this.decryptInProgressGb.Size = new System.Drawing.Size(776, 117); - this.decryptInProgressGb.TabIndex = 12; + this.decryptInProgressGb.TabIndex = 14; this.decryptInProgressGb.TabStop = false; this.decryptInProgressGb.Text = "Decrypt in progress"; // @@ -291,7 +293,7 @@ this.decryptInProgressLibationFilesRb.Location = new System.Drawing.Point(6, 81); this.decryptInProgressLibationFilesRb.Name = "decryptInProgressLibationFilesRb"; this.decryptInProgressLibationFilesRb.Size = new System.Drawing.Size(177, 30); - this.decryptInProgressLibationFilesRb.TabIndex = 3; + this.decryptInProgressLibationFilesRb.TabIndex = 2; this.decryptInProgressLibationFilesRb.TabStop = true; this.decryptInProgressLibationFilesRb.Text = "[desc]\r\n[libationFiles\\DecryptInProgress]"; this.decryptInProgressLibationFilesRb.UseVisualStyleBackColor = true; @@ -303,7 +305,7 @@ this.decryptInProgressWinTempRb.Location = new System.Drawing.Point(6, 45); this.decryptInProgressWinTempRb.Name = "decryptInProgressWinTempRb"; this.decryptInProgressWinTempRb.Size = new System.Drawing.Size(166, 30); - this.decryptInProgressWinTempRb.TabIndex = 2; + this.decryptInProgressWinTempRb.TabIndex = 1; this.decryptInProgressWinTempRb.TabStop = true; this.decryptInProgressWinTempRb.Text = "[desc]\r\n[winTemp\\DecryptInProgress]"; this.decryptInProgressWinTempRb.UseVisualStyleBackColor = true; @@ -314,7 +316,7 @@ this.decryptInProgressDescLbl.Location = new System.Drawing.Point(6, 16); this.decryptInProgressDescLbl.Name = "decryptInProgressDescLbl"; this.decryptInProgressDescLbl.Size = new System.Drawing.Size(38, 26); - this.decryptInProgressDescLbl.TabIndex = 1; + this.decryptInProgressDescLbl.TabIndex = 0; this.decryptInProgressDescLbl.Text = "[desc]\r\n[line 2]"; // // saveBtn @@ -323,7 +325,7 @@ this.saveBtn.Location = new System.Drawing.Point(612, 522); this.saveBtn.Name = "saveBtn"; this.saveBtn.Size = new System.Drawing.Size(75, 23); - this.saveBtn.TabIndex = 13; + this.saveBtn.TabIndex = 15; this.saveBtn.Text = "Save"; this.saveBtn.UseVisualStyleBackColor = true; this.saveBtn.Click += new System.EventHandler(this.saveBtn_Click); @@ -335,19 +337,45 @@ this.cancelBtn.Location = new System.Drawing.Point(713, 522); this.cancelBtn.Name = "cancelBtn"; this.cancelBtn.Size = new System.Drawing.Size(75, 23); - this.cancelBtn.TabIndex = 14; + this.cancelBtn.TabIndex = 16; this.cancelBtn.Text = "Cancel"; this.cancelBtn.UseVisualStyleBackColor = true; this.cancelBtn.Click += new System.EventHandler(this.cancelBtn_Click); - // - // SettingsDialog - // - this.AcceptButton = this.saveBtn; + // + // audibleLocaleLbl + // + this.audibleLocaleLbl.AutoSize = true; + this.audibleLocaleLbl.Location = new System.Drawing.Point(273, 59); + this.audibleLocaleLbl.Name = "audibleLocaleLbl"; + this.audibleLocaleLbl.Size = new System.Drawing.Size(77, 13); + this.audibleLocaleLbl.TabIndex = 6; + this.audibleLocaleLbl.Text = "Audible Locale"; + // + // audibleLocaleCb + // + this.audibleLocaleCb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.audibleLocaleCb.FormattingEnabled = true; + this.audibleLocaleCb.Items.AddRange(new object[] { + "us", + "uk", + "germany", + "france", + "canada"}); + this.audibleLocaleCb.Location = new System.Drawing.Point(356, 56); + this.audibleLocaleCb.Name = "audibleLocaleCb"; + this.audibleLocaleCb.Size = new System.Drawing.Size(121, 21); + this.audibleLocaleCb.TabIndex = 7; + // + // SettingsDialog + // + this.AcceptButton = this.saveBtn; this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.CancelButton = this.cancelBtn; this.ClientSize = new System.Drawing.Size(800, 557); - this.Controls.Add(this.cancelBtn); + this.Controls.Add(this.audibleLocaleCb); + this.Controls.Add(this.audibleLocaleLbl); + this.Controls.Add(this.cancelBtn); this.Controls.Add(this.saveBtn); this.Controls.Add(this.decryptInProgressGb); this.Controls.Add(this.downloadsInProgressGb); @@ -407,5 +435,7 @@ private System.Windows.Forms.RadioButton decryptInProgressWinTempRb; private System.Windows.Forms.Button saveBtn; private System.Windows.Forms.Button cancelBtn; - } + private System.Windows.Forms.Label audibleLocaleLbl; + private System.Windows.Forms.ComboBox audibleLocaleCb; + } } \ No newline at end of file diff --git a/LibationWinForm/UNTESTED/Dialogs/SettingsDialog.cs b/LibationWinForm/UNTESTED/Dialogs/SettingsDialog.cs index 46858f3c..26ed6380 100644 --- a/LibationWinForm/UNTESTED/Dialogs/SettingsDialog.cs +++ b/LibationWinForm/UNTESTED/Dialogs/SettingsDialog.cs @@ -23,8 +23,9 @@ namespace LibationWinForm public SettingsDialog() { InitializeComponent(); + audibleLocaleCb.SelectedIndex = 0; - exeRoot = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Exe.FileLocationOnDisk), "Libation")); + exeRoot = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(Exe.FileLocationOnDisk), "Libation")); myDocs = Path.GetFullPath(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), "Libation")); } @@ -39,6 +40,8 @@ namespace LibationWinForm this.booksLocationTb.Text = config.Books; this.booksLocationDescLbl.Text = desc(nameof(config.Books)); + this.audibleLocaleCb.Text = config.LocaleCountryCode; + libationFilesDescLbl.Text = desc(nameof(config.LibationFiles)); this.libationFilesRootRb.Text = "In the same folder that Libation is running from\r\n" + exeRoot; this.libationFilesMyDocsRb.Text = "In My Documents\r\n" + myDocs; @@ -103,7 +106,7 @@ namespace LibationWinForm private static void selectFolder(string desc, TextBox textbox) { - var dialog = new FolderBrowserDialog { Description = desc, SelectedPath = "" }; + using var dialog = new FolderBrowserDialog { Description = desc, SelectedPath = "" }; dialog.ShowDialog(); if (!string.IsNullOrWhiteSpace(dialog.SelectedPath)) textbox.Text = dialog.SelectedPath; @@ -123,6 +126,8 @@ namespace LibationWinForm config.Books = this.booksLocationTb.Text; } + config.LocaleCountryCode = this.audibleLocaleCb.Text; + var libationDir = libationFilesRootRb.Checked ? exeRoot : libationFilesMyDocsRb.Checked ? myDocs diff --git a/LibationWinForm/UNTESTED/Form1.cs b/LibationWinForm/UNTESTED/Form1.cs index e2af8823..b7200b26 100644 --- a/LibationWinForm/UNTESTED/Form1.cs +++ b/LibationWinForm/UNTESTED/Form1.cs @@ -358,6 +358,8 @@ namespace LibationWinForm private async void scanLibraryToolStripMenuItem_Click(object sender, EventArgs e) { // audible api +//var client = new AudibleApiDomainService.AudibleApiLibationClient(config.); +//await client.ImportLibraryAsync(); // scrape await indexDialog(new ScanLibraryDialog()); diff --git a/REFERENCE.txt b/REFERENCE.txt index 9d897df7..3be3630e 100644 --- a/REFERENCE.txt +++ b/REFERENCE.txt @@ -12,10 +12,10 @@ utils: domain ignorant domain: biz logic db ignorant db, domain objects - db aware + domain internal utilities: domain aware. db ignorant + domain utilities: domain aware. db aware incl non-db persistence. unless it needs to be tied into a db intercepter all user-provided data must be backed up to json - utilities: domain aware application do NOT combine jsons for diff --git a/DomainServices/DomainServices.csproj b/ScrapingDomainServices/ScrapingDomainServices.csproj similarity index 100% rename from DomainServices/DomainServices.csproj rename to ScrapingDomainServices/ScrapingDomainServices.csproj diff --git a/DomainServices/UNTESTED/BackupBook.cs b/ScrapingDomainServices/UNTESTED/BackupBook.cs similarity index 100% rename from DomainServices/UNTESTED/BackupBook.cs rename to ScrapingDomainServices/UNTESTED/BackupBook.cs diff --git a/DomainServices/UNTESTED/DecryptBook.cs b/ScrapingDomainServices/UNTESTED/DecryptBook.cs similarity index 100% rename from DomainServices/UNTESTED/DecryptBook.cs rename to ScrapingDomainServices/UNTESTED/DecryptBook.cs diff --git a/DomainServices/UNTESTED/DownloadBook.cs b/ScrapingDomainServices/UNTESTED/DownloadBook.cs similarity index 100% rename from DomainServices/UNTESTED/DownloadBook.cs rename to ScrapingDomainServices/UNTESTED/DownloadBook.cs diff --git a/DomainServices/UNTESTED/DownloadLibrary.cs b/ScrapingDomainServices/UNTESTED/DownloadLibrary.cs similarity index 100% rename from DomainServices/UNTESTED/DownloadLibrary.cs rename to ScrapingDomainServices/UNTESTED/DownloadLibrary.cs diff --git a/DomainServices/UNTESTED/DownloadPdf.cs b/ScrapingDomainServices/UNTESTED/DownloadPdf.cs similarity index 100% rename from DomainServices/UNTESTED/DownloadPdf.cs rename to ScrapingDomainServices/UNTESTED/DownloadPdf.cs diff --git a/DomainServices/UNTESTED/DownloadableBase.cs b/ScrapingDomainServices/UNTESTED/DownloadableBase.cs similarity index 100% rename from DomainServices/UNTESTED/DownloadableBase.cs rename to ScrapingDomainServices/UNTESTED/DownloadableBase.cs diff --git a/DomainServices/UNTESTED/DtoImporter.cs b/ScrapingDomainServices/UNTESTED/DtoImporter.cs similarity index 100% rename from DomainServices/UNTESTED/DtoImporter.cs rename to ScrapingDomainServices/UNTESTED/DtoImporter.cs diff --git a/DomainServices/UNTESTED/IDecryptable.cs b/ScrapingDomainServices/UNTESTED/IDecryptable.cs similarity index 100% rename from DomainServices/UNTESTED/IDecryptable.cs rename to ScrapingDomainServices/UNTESTED/IDecryptable.cs diff --git a/DomainServices/UNTESTED/IDownloadable.cs b/ScrapingDomainServices/UNTESTED/IDownloadable.cs similarity index 100% rename from DomainServices/UNTESTED/IDownloadable.cs rename to ScrapingDomainServices/UNTESTED/IDownloadable.cs diff --git a/DomainServices/UNTESTED/IProcessable.cs b/ScrapingDomainServices/UNTESTED/IProcessable.cs similarity index 100% rename from DomainServices/UNTESTED/IProcessable.cs rename to ScrapingDomainServices/UNTESTED/IProcessable.cs diff --git a/DomainServices/UNTESTED/IProcessableExt.cs b/ScrapingDomainServices/UNTESTED/IProcessableExt.cs similarity index 100% rename from DomainServices/UNTESTED/IProcessableExt.cs rename to ScrapingDomainServices/UNTESTED/IProcessableExt.cs diff --git a/DomainServices/UNTESTED/Indexer.cs b/ScrapingDomainServices/UNTESTED/Indexer.cs similarity index 100% rename from DomainServices/UNTESTED/Indexer.cs rename to ScrapingDomainServices/UNTESTED/Indexer.cs diff --git a/DomainServices/UNTESTED/ScrapeBookDetails.cs b/ScrapingDomainServices/UNTESTED/ScrapeBookDetails.cs similarity index 100% rename from DomainServices/UNTESTED/ScrapeBookDetails.cs rename to ScrapingDomainServices/UNTESTED/ScrapeBookDetails.cs diff --git a/WinFormsDesigner/Dialogs/SettingsDialog.Designer.cs b/WinFormsDesigner/Dialogs/SettingsDialog.Designer.cs index 5e5e56be..54ce751c 100644 --- a/WinFormsDesigner/Dialogs/SettingsDialog.Designer.cs +++ b/WinFormsDesigner/Dialogs/SettingsDialog.Designer.cs @@ -28,345 +28,373 @@ /// private void InitializeComponent() { - this.settingsFileLbl = new System.Windows.Forms.Label(); - this.settingsFileTb = new System.Windows.Forms.TextBox(); - this.decryptKeyLbl = new System.Windows.Forms.Label(); - this.decryptKeyTb = new System.Windows.Forms.TextBox(); - this.booksLocationLbl = new System.Windows.Forms.Label(); - this.booksLocationTb = new System.Windows.Forms.TextBox(); - this.booksLocationSearchBtn = new System.Windows.Forms.Button(); - this.settingsFileDescLbl = new System.Windows.Forms.Label(); - this.decryptKeyDescLbl = new System.Windows.Forms.Label(); - this.booksLocationDescLbl = new System.Windows.Forms.Label(); - this.libationFilesGb = new System.Windows.Forms.GroupBox(); - this.libationFilesDescLbl = new System.Windows.Forms.Label(); - this.libationFilesCustomBtn = new System.Windows.Forms.Button(); - this.libationFilesCustomTb = new System.Windows.Forms.TextBox(); - this.libationFilesCustomRb = new System.Windows.Forms.RadioButton(); - this.libationFilesMyDocsRb = new System.Windows.Forms.RadioButton(); - this.libationFilesRootRb = new System.Windows.Forms.RadioButton(); - this.downloadsInProgressGb = new System.Windows.Forms.GroupBox(); - this.downloadsInProgressLibationFilesRb = new System.Windows.Forms.RadioButton(); - this.downloadsInProgressWinTempRb = new System.Windows.Forms.RadioButton(); - this.downloadsInProgressDescLbl = new System.Windows.Forms.Label(); - this.decryptInProgressGb = new System.Windows.Forms.GroupBox(); - this.decryptInProgressLibationFilesRb = new System.Windows.Forms.RadioButton(); - this.decryptInProgressWinTempRb = new System.Windows.Forms.RadioButton(); - this.decryptInProgressDescLbl = new System.Windows.Forms.Label(); - this.saveBtn = new System.Windows.Forms.Button(); - this.cancelBtn = new System.Windows.Forms.Button(); - this.libationFilesGb.SuspendLayout(); - this.downloadsInProgressGb.SuspendLayout(); - this.decryptInProgressGb.SuspendLayout(); - this.SuspendLayout(); - // - // settingsFileLbl - // - this.settingsFileLbl.AutoSize = true; - this.settingsFileLbl.Location = new System.Drawing.Point(7, 15); - this.settingsFileLbl.Name = "settingsFileLbl"; - this.settingsFileLbl.Size = new System.Drawing.Size(61, 13); - this.settingsFileLbl.TabIndex = 0; - this.settingsFileLbl.Text = "Settings file"; - // - // settingsFileTb - // - this.settingsFileTb.Location = new System.Drawing.Point(90, 12); - this.settingsFileTb.Name = "settingsFileTb"; - this.settingsFileTb.ReadOnly = true; - this.settingsFileTb.Size = new System.Drawing.Size(698, 20); - this.settingsFileTb.TabIndex = 1; - // - // decryptKeyLbl - // - this.decryptKeyLbl.AutoSize = true; - this.decryptKeyLbl.Location = new System.Drawing.Point(7, 59); - this.decryptKeyLbl.Name = "decryptKeyLbl"; - this.decryptKeyLbl.Size = new System.Drawing.Size(64, 13); - this.decryptKeyLbl.TabIndex = 3; - this.decryptKeyLbl.Text = "Decrypt key"; - // - // decryptKeyTb - // - this.decryptKeyTb.Location = new System.Drawing.Point(90, 56); - this.decryptKeyTb.Name = "decryptKeyTb"; - this.decryptKeyTb.Size = new System.Drawing.Size(100, 20); - this.decryptKeyTb.TabIndex = 4; - // - // booksLocationLbl - // - this.booksLocationLbl.AutoSize = true; - this.booksLocationLbl.Location = new System.Drawing.Point(7, 103); - this.booksLocationLbl.Name = "booksLocationLbl"; - this.booksLocationLbl.Size = new System.Drawing.Size(77, 13); - this.booksLocationLbl.TabIndex = 6; - this.booksLocationLbl.Text = "Books location"; - // - // booksLocationTb - // - this.booksLocationTb.Location = new System.Drawing.Point(90, 100); - this.booksLocationTb.Name = "booksLocationTb"; - this.booksLocationTb.Size = new System.Drawing.Size(657, 20); - this.booksLocationTb.TabIndex = 7; - // - // booksLocationSearchBtn - // - this.booksLocationSearchBtn.Location = new System.Drawing.Point(753, 98); - this.booksLocationSearchBtn.Name = "booksLocationSearchBtn"; - this.booksLocationSearchBtn.Size = new System.Drawing.Size(35, 23); - this.booksLocationSearchBtn.TabIndex = 8; - this.booksLocationSearchBtn.Text = "..."; - this.booksLocationSearchBtn.UseVisualStyleBackColor = true; - // - // settingsFileDescLbl - // - this.settingsFileDescLbl.AutoSize = true; - this.settingsFileDescLbl.Location = new System.Drawing.Point(87, 35); - this.settingsFileDescLbl.Name = "settingsFileDescLbl"; - this.settingsFileDescLbl.Size = new System.Drawing.Size(36, 13); - this.settingsFileDescLbl.TabIndex = 2; - this.settingsFileDescLbl.Text = "[desc]"; - // - // decryptKeyDescLbl - // - this.decryptKeyDescLbl.AutoSize = true; - this.decryptKeyDescLbl.Location = new System.Drawing.Point(87, 79); - this.decryptKeyDescLbl.Name = "decryptKeyDescLbl"; - this.decryptKeyDescLbl.Size = new System.Drawing.Size(36, 13); - this.decryptKeyDescLbl.TabIndex = 5; - this.decryptKeyDescLbl.Text = "[desc]"; - // - // booksLocationDescLbl - // - this.booksLocationDescLbl.AutoSize = true; - this.booksLocationDescLbl.Location = new System.Drawing.Point(87, 123); - this.booksLocationDescLbl.Name = "booksLocationDescLbl"; - this.booksLocationDescLbl.Size = new System.Drawing.Size(36, 13); - this.booksLocationDescLbl.TabIndex = 9; - this.booksLocationDescLbl.Text = "[desc]"; - // - // libationFilesGb - // - this.libationFilesGb.Controls.Add(this.libationFilesDescLbl); - this.libationFilesGb.Controls.Add(this.libationFilesCustomBtn); - this.libationFilesGb.Controls.Add(this.libationFilesCustomTb); - this.libationFilesGb.Controls.Add(this.libationFilesCustomRb); - this.libationFilesGb.Controls.Add(this.libationFilesMyDocsRb); - this.libationFilesGb.Controls.Add(this.libationFilesRootRb); - this.libationFilesGb.Location = new System.Drawing.Point(12, 139); - this.libationFilesGb.Name = "libationFilesGb"; - this.libationFilesGb.Size = new System.Drawing.Size(776, 131); - this.libationFilesGb.TabIndex = 10; - this.libationFilesGb.TabStop = false; - this.libationFilesGb.Text = "Libation files"; - // - // libationFilesDescLbl - // - this.libationFilesDescLbl.AutoSize = true; - this.libationFilesDescLbl.Location = new System.Drawing.Point(6, 16); - this.libationFilesDescLbl.Name = "libationFilesDescLbl"; - this.libationFilesDescLbl.Size = new System.Drawing.Size(36, 13); - this.libationFilesDescLbl.TabIndex = 0; - this.libationFilesDescLbl.Text = "[desc]"; - // - // libationFilesCustomBtn - // - this.libationFilesCustomBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.libationFilesCustomBtn.Location = new System.Drawing.Point(741, 102); - this.libationFilesCustomBtn.Name = "libationFilesCustomBtn"; - this.libationFilesCustomBtn.Size = new System.Drawing.Size(35, 23); - this.libationFilesCustomBtn.TabIndex = 5; - this.libationFilesCustomBtn.Text = "..."; - this.libationFilesCustomBtn.UseVisualStyleBackColor = true; - // - // libationFilesCustomTb - // - this.libationFilesCustomTb.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + this.settingsFileLbl = new System.Windows.Forms.Label(); + this.settingsFileTb = new System.Windows.Forms.TextBox(); + this.decryptKeyLbl = new System.Windows.Forms.Label(); + this.decryptKeyTb = new System.Windows.Forms.TextBox(); + this.booksLocationLbl = new System.Windows.Forms.Label(); + this.booksLocationTb = new System.Windows.Forms.TextBox(); + this.booksLocationSearchBtn = new System.Windows.Forms.Button(); + this.settingsFileDescLbl = new System.Windows.Forms.Label(); + this.decryptKeyDescLbl = new System.Windows.Forms.Label(); + this.booksLocationDescLbl = new System.Windows.Forms.Label(); + this.libationFilesGb = new System.Windows.Forms.GroupBox(); + this.libationFilesDescLbl = new System.Windows.Forms.Label(); + this.libationFilesCustomBtn = new System.Windows.Forms.Button(); + this.libationFilesCustomTb = new System.Windows.Forms.TextBox(); + this.libationFilesCustomRb = new System.Windows.Forms.RadioButton(); + this.libationFilesMyDocsRb = new System.Windows.Forms.RadioButton(); + this.libationFilesRootRb = new System.Windows.Forms.RadioButton(); + this.downloadsInProgressGb = new System.Windows.Forms.GroupBox(); + this.downloadsInProgressLibationFilesRb = new System.Windows.Forms.RadioButton(); + this.downloadsInProgressWinTempRb = new System.Windows.Forms.RadioButton(); + this.downloadsInProgressDescLbl = new System.Windows.Forms.Label(); + this.decryptInProgressGb = new System.Windows.Forms.GroupBox(); + this.decryptInProgressLibationFilesRb = new System.Windows.Forms.RadioButton(); + this.decryptInProgressWinTempRb = new System.Windows.Forms.RadioButton(); + this.decryptInProgressDescLbl = new System.Windows.Forms.Label(); + this.saveBtn = new System.Windows.Forms.Button(); + this.cancelBtn = new System.Windows.Forms.Button(); + this.audibleLocaleLbl = new System.Windows.Forms.Label(); + this.audibleLocaleCb = new System.Windows.Forms.ComboBox(); + this.libationFilesGb.SuspendLayout(); + this.downloadsInProgressGb.SuspendLayout(); + this.decryptInProgressGb.SuspendLayout(); + this.SuspendLayout(); + // + // settingsFileLbl + // + this.settingsFileLbl.AutoSize = true; + this.settingsFileLbl.Location = new System.Drawing.Point(7, 15); + this.settingsFileLbl.Name = "settingsFileLbl"; + this.settingsFileLbl.Size = new System.Drawing.Size(61, 13); + this.settingsFileLbl.TabIndex = 0; + this.settingsFileLbl.Text = "Settings file"; + // + // settingsFileTb + // + this.settingsFileTb.Location = new System.Drawing.Point(90, 12); + this.settingsFileTb.Name = "settingsFileTb"; + this.settingsFileTb.ReadOnly = true; + this.settingsFileTb.Size = new System.Drawing.Size(698, 20); + this.settingsFileTb.TabIndex = 1; + // + // decryptKeyLbl + // + this.decryptKeyLbl.AutoSize = true; + this.decryptKeyLbl.Location = new System.Drawing.Point(7, 59); + this.decryptKeyLbl.Name = "decryptKeyLbl"; + this.decryptKeyLbl.Size = new System.Drawing.Size(64, 13); + this.decryptKeyLbl.TabIndex = 3; + this.decryptKeyLbl.Text = "Decrypt key"; + // + // decryptKeyTb + // + this.decryptKeyTb.Location = new System.Drawing.Point(90, 56); + this.decryptKeyTb.Name = "decryptKeyTb"; + this.decryptKeyTb.Size = new System.Drawing.Size(100, 20); + this.decryptKeyTb.TabIndex = 4; + // + // booksLocationLbl + // + this.booksLocationLbl.AutoSize = true; + this.booksLocationLbl.Location = new System.Drawing.Point(7, 103); + this.booksLocationLbl.Name = "booksLocationLbl"; + this.booksLocationLbl.Size = new System.Drawing.Size(77, 13); + this.booksLocationLbl.TabIndex = 8; + this.booksLocationLbl.Text = "Books location"; + // + // booksLocationTb + // + this.booksLocationTb.Location = new System.Drawing.Point(90, 100); + this.booksLocationTb.Name = "booksLocationTb"; + this.booksLocationTb.Size = new System.Drawing.Size(657, 20); + this.booksLocationTb.TabIndex = 9; + // + // booksLocationSearchBtn + // + this.booksLocationSearchBtn.Location = new System.Drawing.Point(753, 98); + this.booksLocationSearchBtn.Name = "booksLocationSearchBtn"; + this.booksLocationSearchBtn.Size = new System.Drawing.Size(35, 23); + this.booksLocationSearchBtn.TabIndex = 10; + this.booksLocationSearchBtn.Text = "..."; + this.booksLocationSearchBtn.UseVisualStyleBackColor = true; + // + // settingsFileDescLbl + // + this.settingsFileDescLbl.AutoSize = true; + this.settingsFileDescLbl.Location = new System.Drawing.Point(87, 35); + this.settingsFileDescLbl.Name = "settingsFileDescLbl"; + this.settingsFileDescLbl.Size = new System.Drawing.Size(36, 13); + this.settingsFileDescLbl.TabIndex = 2; + this.settingsFileDescLbl.Text = "[desc]"; + // + // decryptKeyDescLbl + // + this.decryptKeyDescLbl.AutoSize = true; + this.decryptKeyDescLbl.Location = new System.Drawing.Point(87, 79); + this.decryptKeyDescLbl.Name = "decryptKeyDescLbl"; + this.decryptKeyDescLbl.Size = new System.Drawing.Size(36, 13); + this.decryptKeyDescLbl.TabIndex = 5; + this.decryptKeyDescLbl.Text = "[desc]"; + // + // booksLocationDescLbl + // + this.booksLocationDescLbl.AutoSize = true; + this.booksLocationDescLbl.Location = new System.Drawing.Point(87, 123); + this.booksLocationDescLbl.Name = "booksLocationDescLbl"; + this.booksLocationDescLbl.Size = new System.Drawing.Size(36, 13); + this.booksLocationDescLbl.TabIndex = 11; + this.booksLocationDescLbl.Text = "[desc]"; + // + // libationFilesGb + // + this.libationFilesGb.Controls.Add(this.libationFilesDescLbl); + this.libationFilesGb.Controls.Add(this.libationFilesCustomBtn); + this.libationFilesGb.Controls.Add(this.libationFilesCustomTb); + this.libationFilesGb.Controls.Add(this.libationFilesCustomRb); + this.libationFilesGb.Controls.Add(this.libationFilesMyDocsRb); + this.libationFilesGb.Controls.Add(this.libationFilesRootRb); + this.libationFilesGb.Location = new System.Drawing.Point(12, 139); + this.libationFilesGb.Name = "libationFilesGb"; + this.libationFilesGb.Size = new System.Drawing.Size(776, 131); + this.libationFilesGb.TabIndex = 12; + this.libationFilesGb.TabStop = false; + this.libationFilesGb.Text = "Libation files"; + // + // libationFilesDescLbl + // + this.libationFilesDescLbl.AutoSize = true; + this.libationFilesDescLbl.Location = new System.Drawing.Point(6, 16); + this.libationFilesDescLbl.Name = "libationFilesDescLbl"; + this.libationFilesDescLbl.Size = new System.Drawing.Size(36, 13); + this.libationFilesDescLbl.TabIndex = 0; + this.libationFilesDescLbl.Text = "[desc]"; + // + // libationFilesCustomBtn + // + this.libationFilesCustomBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.libationFilesCustomBtn.Location = new System.Drawing.Point(741, 102); + this.libationFilesCustomBtn.Name = "libationFilesCustomBtn"; + this.libationFilesCustomBtn.Size = new System.Drawing.Size(35, 23); + this.libationFilesCustomBtn.TabIndex = 5; + this.libationFilesCustomBtn.Text = "..."; + this.libationFilesCustomBtn.UseVisualStyleBackColor = true; + // + // libationFilesCustomTb + // + this.libationFilesCustomTb.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.libationFilesCustomTb.Location = new System.Drawing.Point(29, 104); - this.libationFilesCustomTb.Name = "libationFilesCustomTb"; - this.libationFilesCustomTb.Size = new System.Drawing.Size(706, 20); - this.libationFilesCustomTb.TabIndex = 4; - // - // libationFilesCustomRb - // - this.libationFilesCustomRb.AutoSize = true; - this.libationFilesCustomRb.Location = new System.Drawing.Point(9, 107); - this.libationFilesCustomRb.Name = "libationFilesCustomRb"; - this.libationFilesCustomRb.Size = new System.Drawing.Size(14, 13); - this.libationFilesCustomRb.TabIndex = 3; - this.libationFilesCustomRb.TabStop = true; - this.libationFilesCustomRb.UseVisualStyleBackColor = true; - // - // libationFilesMyDocsRb - // - this.libationFilesMyDocsRb.AutoSize = true; - this.libationFilesMyDocsRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; - this.libationFilesMyDocsRb.Location = new System.Drawing.Point(9, 68); - this.libationFilesMyDocsRb.Name = "libationFilesMyDocsRb"; - this.libationFilesMyDocsRb.Size = new System.Drawing.Size(111, 30); - this.libationFilesMyDocsRb.TabIndex = 2; - this.libationFilesMyDocsRb.TabStop = true; - this.libationFilesMyDocsRb.Text = "[desc]\r\n[myDocs\\Libation]"; - this.libationFilesMyDocsRb.UseVisualStyleBackColor = true; - // - // libationFilesRootRb - // - this.libationFilesRootRb.AutoSize = true; - this.libationFilesRootRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; - this.libationFilesRootRb.Location = new System.Drawing.Point(9, 32); - this.libationFilesRootRb.Name = "libationFilesRootRb"; - this.libationFilesRootRb.Size = new System.Drawing.Size(113, 30); - this.libationFilesRootRb.TabIndex = 1; - this.libationFilesRootRb.TabStop = true; - this.libationFilesRootRb.Text = "[desc]\r\n[exeRoot\\Libation]"; - this.libationFilesRootRb.UseVisualStyleBackColor = true; - // - // downloadsInProgressGb - // - this.downloadsInProgressGb.Controls.Add(this.downloadsInProgressLibationFilesRb); - this.downloadsInProgressGb.Controls.Add(this.downloadsInProgressWinTempRb); - this.downloadsInProgressGb.Controls.Add(this.downloadsInProgressDescLbl); - this.downloadsInProgressGb.Location = new System.Drawing.Point(12, 276); - this.downloadsInProgressGb.Name = "downloadsInProgressGb"; - this.downloadsInProgressGb.Size = new System.Drawing.Size(776, 117); - this.downloadsInProgressGb.TabIndex = 11; - this.downloadsInProgressGb.TabStop = false; - this.downloadsInProgressGb.Text = "Downloads in progress"; - // - // downloadsInProgressLibationFilesRb - // - this.downloadsInProgressLibationFilesRb.AutoSize = true; - this.downloadsInProgressLibationFilesRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; - this.downloadsInProgressLibationFilesRb.Location = new System.Drawing.Point(9, 81); - this.downloadsInProgressLibationFilesRb.Name = "downloadsInProgressLibationFilesRb"; - this.downloadsInProgressLibationFilesRb.Size = new System.Drawing.Size(193, 30); - this.downloadsInProgressLibationFilesRb.TabIndex = 2; - this.downloadsInProgressLibationFilesRb.TabStop = true; - this.downloadsInProgressLibationFilesRb.Text = "[desc]\r\n[libationFiles\\DownloadsInProgress]"; - this.downloadsInProgressLibationFilesRb.UseVisualStyleBackColor = true; - // - // downloadsInProgressWinTempRb - // - this.downloadsInProgressWinTempRb.AutoSize = true; - this.downloadsInProgressWinTempRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; - this.downloadsInProgressWinTempRb.Location = new System.Drawing.Point(9, 45); - this.downloadsInProgressWinTempRb.Name = "downloadsInProgressWinTempRb"; - this.downloadsInProgressWinTempRb.Size = new System.Drawing.Size(182, 30); - this.downloadsInProgressWinTempRb.TabIndex = 1; - this.downloadsInProgressWinTempRb.TabStop = true; - this.downloadsInProgressWinTempRb.Text = "[desc]\r\n[winTemp\\DownloadsInProgress]"; - this.downloadsInProgressWinTempRb.UseVisualStyleBackColor = true; - // - // downloadsInProgressDescLbl - // - this.downloadsInProgressDescLbl.AutoSize = true; - this.downloadsInProgressDescLbl.Location = new System.Drawing.Point(6, 16); - this.downloadsInProgressDescLbl.Name = "downloadsInProgressDescLbl"; - this.downloadsInProgressDescLbl.Size = new System.Drawing.Size(38, 26); - this.downloadsInProgressDescLbl.TabIndex = 0; - this.downloadsInProgressDescLbl.Text = "[desc]\r\n[line 2]"; - // - // decryptInProgressGb - // - this.decryptInProgressGb.Controls.Add(this.decryptInProgressLibationFilesRb); - this.decryptInProgressGb.Controls.Add(this.decryptInProgressWinTempRb); - this.decryptInProgressGb.Controls.Add(this.decryptInProgressDescLbl); - this.decryptInProgressGb.Location = new System.Drawing.Point(12, 399); - this.decryptInProgressGb.Name = "decryptInProgressGb"; - this.decryptInProgressGb.Size = new System.Drawing.Size(776, 117); - this.decryptInProgressGb.TabIndex = 12; - this.decryptInProgressGb.TabStop = false; - this.decryptInProgressGb.Text = "Decrypt in progress"; - // - // decryptInProgressLibationFilesRb - // - this.decryptInProgressLibationFilesRb.AutoSize = true; - this.decryptInProgressLibationFilesRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; - this.decryptInProgressLibationFilesRb.Location = new System.Drawing.Point(6, 81); - this.decryptInProgressLibationFilesRb.Name = "decryptInProgressLibationFilesRb"; - this.decryptInProgressLibationFilesRb.Size = new System.Drawing.Size(177, 30); - this.decryptInProgressLibationFilesRb.TabIndex = 3; - this.decryptInProgressLibationFilesRb.TabStop = true; - this.decryptInProgressLibationFilesRb.Text = "[desc]\r\n[libationFiles\\DecryptInProgress]"; - this.decryptInProgressLibationFilesRb.UseVisualStyleBackColor = true; - // - // decryptInProgressWinTempRb - // - this.decryptInProgressWinTempRb.AutoSize = true; - this.decryptInProgressWinTempRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; - this.decryptInProgressWinTempRb.Location = new System.Drawing.Point(6, 45); - this.decryptInProgressWinTempRb.Name = "decryptInProgressWinTempRb"; - this.decryptInProgressWinTempRb.Size = new System.Drawing.Size(166, 30); - this.decryptInProgressWinTempRb.TabIndex = 2; - this.decryptInProgressWinTempRb.TabStop = true; - this.decryptInProgressWinTempRb.Text = "[desc]\r\n[winTemp\\DecryptInProgress]"; - this.decryptInProgressWinTempRb.UseVisualStyleBackColor = true; - // - // decryptInProgressDescLbl - // - this.decryptInProgressDescLbl.AutoSize = true; - this.decryptInProgressDescLbl.Location = new System.Drawing.Point(6, 16); - this.decryptInProgressDescLbl.Name = "decryptInProgressDescLbl"; - this.decryptInProgressDescLbl.Size = new System.Drawing.Size(38, 26); - this.decryptInProgressDescLbl.TabIndex = 1; - this.decryptInProgressDescLbl.Text = "[desc]\r\n[line 2]"; - // - // saveBtn - // - this.saveBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); - this.saveBtn.Location = new System.Drawing.Point(612, 522); - this.saveBtn.Name = "saveBtn"; - this.saveBtn.Size = new System.Drawing.Size(75, 23); - this.saveBtn.TabIndex = 13; - this.saveBtn.Text = "Save"; - this.saveBtn.UseVisualStyleBackColor = true; - // - // cancelBtn - // - 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.Location = new System.Drawing.Point(713, 522); - this.cancelBtn.Name = "cancelBtn"; - this.cancelBtn.Size = new System.Drawing.Size(75, 23); - this.cancelBtn.TabIndex = 14; - this.cancelBtn.Text = "Cancel"; - this.cancelBtn.UseVisualStyleBackColor = true; - // - // SettingsDialog - // - this.AcceptButton = this.saveBtn; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.CancelButton = this.cancelBtn; - this.ClientSize = new System.Drawing.Size(800, 557); - this.Controls.Add(this.cancelBtn); - this.Controls.Add(this.saveBtn); - this.Controls.Add(this.decryptInProgressGb); - this.Controls.Add(this.downloadsInProgressGb); - this.Controls.Add(this.libationFilesGb); - this.Controls.Add(this.booksLocationDescLbl); - this.Controls.Add(this.decryptKeyDescLbl); - this.Controls.Add(this.settingsFileDescLbl); - this.Controls.Add(this.booksLocationSearchBtn); - this.Controls.Add(this.booksLocationTb); - this.Controls.Add(this.booksLocationLbl); - this.Controls.Add(this.decryptKeyTb); - this.Controls.Add(this.decryptKeyLbl); - this.Controls.Add(this.settingsFileTb); - this.Controls.Add(this.settingsFileLbl); - this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; - this.Name = "SettingsDialog"; - this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; - this.Text = "Edit Settings"; - this.libationFilesGb.ResumeLayout(false); - this.libationFilesGb.PerformLayout(); - this.downloadsInProgressGb.ResumeLayout(false); - this.downloadsInProgressGb.PerformLayout(); - this.decryptInProgressGb.ResumeLayout(false); - this.decryptInProgressGb.PerformLayout(); - this.ResumeLayout(false); - this.PerformLayout(); + this.libationFilesCustomTb.Location = new System.Drawing.Point(29, 104); + this.libationFilesCustomTb.Name = "libationFilesCustomTb"; + this.libationFilesCustomTb.Size = new System.Drawing.Size(706, 20); + this.libationFilesCustomTb.TabIndex = 4; + // + // libationFilesCustomRb + // + this.libationFilesCustomRb.AutoSize = true; + this.libationFilesCustomRb.Location = new System.Drawing.Point(9, 107); + this.libationFilesCustomRb.Name = "libationFilesCustomRb"; + this.libationFilesCustomRb.Size = new System.Drawing.Size(14, 13); + this.libationFilesCustomRb.TabIndex = 3; + this.libationFilesCustomRb.TabStop = true; + this.libationFilesCustomRb.UseVisualStyleBackColor = true; + // + // libationFilesMyDocsRb + // + this.libationFilesMyDocsRb.AutoSize = true; + this.libationFilesMyDocsRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.libationFilesMyDocsRb.Location = new System.Drawing.Point(9, 68); + this.libationFilesMyDocsRb.Name = "libationFilesMyDocsRb"; + this.libationFilesMyDocsRb.Size = new System.Drawing.Size(111, 30); + this.libationFilesMyDocsRb.TabIndex = 2; + this.libationFilesMyDocsRb.TabStop = true; + this.libationFilesMyDocsRb.Text = "[desc]\r\n[myDocs\\Libation]"; + this.libationFilesMyDocsRb.UseVisualStyleBackColor = true; + // + // libationFilesRootRb + // + this.libationFilesRootRb.AutoSize = true; + this.libationFilesRootRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.libationFilesRootRb.Location = new System.Drawing.Point(9, 32); + this.libationFilesRootRb.Name = "libationFilesRootRb"; + this.libationFilesRootRb.Size = new System.Drawing.Size(113, 30); + this.libationFilesRootRb.TabIndex = 1; + this.libationFilesRootRb.TabStop = true; + this.libationFilesRootRb.Text = "[desc]\r\n[exeRoot\\Libation]"; + this.libationFilesRootRb.UseVisualStyleBackColor = true; + // + // downloadsInProgressGb + // + this.downloadsInProgressGb.Controls.Add(this.downloadsInProgressLibationFilesRb); + this.downloadsInProgressGb.Controls.Add(this.downloadsInProgressWinTempRb); + this.downloadsInProgressGb.Controls.Add(this.downloadsInProgressDescLbl); + this.downloadsInProgressGb.Location = new System.Drawing.Point(12, 276); + this.downloadsInProgressGb.Name = "downloadsInProgressGb"; + this.downloadsInProgressGb.Size = new System.Drawing.Size(776, 117); + this.downloadsInProgressGb.TabIndex = 13; + this.downloadsInProgressGb.TabStop = false; + this.downloadsInProgressGb.Text = "Downloads in progress"; + // + // downloadsInProgressLibationFilesRb + // + this.downloadsInProgressLibationFilesRb.AutoSize = true; + this.downloadsInProgressLibationFilesRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.downloadsInProgressLibationFilesRb.Location = new System.Drawing.Point(9, 81); + this.downloadsInProgressLibationFilesRb.Name = "downloadsInProgressLibationFilesRb"; + this.downloadsInProgressLibationFilesRb.Size = new System.Drawing.Size(193, 30); + this.downloadsInProgressLibationFilesRb.TabIndex = 2; + this.downloadsInProgressLibationFilesRb.TabStop = true; + this.downloadsInProgressLibationFilesRb.Text = "[desc]\r\n[libationFiles\\DownloadsInProgress]"; + this.downloadsInProgressLibationFilesRb.UseVisualStyleBackColor = true; + // + // downloadsInProgressWinTempRb + // + this.downloadsInProgressWinTempRb.AutoSize = true; + this.downloadsInProgressWinTempRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.downloadsInProgressWinTempRb.Location = new System.Drawing.Point(9, 45); + this.downloadsInProgressWinTempRb.Name = "downloadsInProgressWinTempRb"; + this.downloadsInProgressWinTempRb.Size = new System.Drawing.Size(182, 30); + this.downloadsInProgressWinTempRb.TabIndex = 1; + this.downloadsInProgressWinTempRb.TabStop = true; + this.downloadsInProgressWinTempRb.Text = "[desc]\r\n[winTemp\\DownloadsInProgress]"; + this.downloadsInProgressWinTempRb.UseVisualStyleBackColor = true; + // + // downloadsInProgressDescLbl + // + this.downloadsInProgressDescLbl.AutoSize = true; + this.downloadsInProgressDescLbl.Location = new System.Drawing.Point(6, 16); + this.downloadsInProgressDescLbl.Name = "downloadsInProgressDescLbl"; + this.downloadsInProgressDescLbl.Size = new System.Drawing.Size(38, 26); + this.downloadsInProgressDescLbl.TabIndex = 0; + this.downloadsInProgressDescLbl.Text = "[desc]\r\n[line 2]"; + // + // decryptInProgressGb + // + this.decryptInProgressGb.Controls.Add(this.decryptInProgressLibationFilesRb); + this.decryptInProgressGb.Controls.Add(this.decryptInProgressWinTempRb); + this.decryptInProgressGb.Controls.Add(this.decryptInProgressDescLbl); + this.decryptInProgressGb.Location = new System.Drawing.Point(12, 399); + this.decryptInProgressGb.Name = "decryptInProgressGb"; + this.decryptInProgressGb.Size = new System.Drawing.Size(776, 117); + this.decryptInProgressGb.TabIndex = 14; + this.decryptInProgressGb.TabStop = false; + this.decryptInProgressGb.Text = "Decrypt in progress"; + // + // decryptInProgressLibationFilesRb + // + this.decryptInProgressLibationFilesRb.AutoSize = true; + this.decryptInProgressLibationFilesRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.decryptInProgressLibationFilesRb.Location = new System.Drawing.Point(6, 81); + this.decryptInProgressLibationFilesRb.Name = "decryptInProgressLibationFilesRb"; + this.decryptInProgressLibationFilesRb.Size = new System.Drawing.Size(177, 30); + this.decryptInProgressLibationFilesRb.TabIndex = 2; + this.decryptInProgressLibationFilesRb.TabStop = true; + this.decryptInProgressLibationFilesRb.Text = "[desc]\r\n[libationFiles\\DecryptInProgress]"; + this.decryptInProgressLibationFilesRb.UseVisualStyleBackColor = true; + // + // decryptInProgressWinTempRb + // + this.decryptInProgressWinTempRb.AutoSize = true; + this.decryptInProgressWinTempRb.CheckAlign = System.Drawing.ContentAlignment.TopLeft; + this.decryptInProgressWinTempRb.Location = new System.Drawing.Point(6, 45); + this.decryptInProgressWinTempRb.Name = "decryptInProgressWinTempRb"; + this.decryptInProgressWinTempRb.Size = new System.Drawing.Size(166, 30); + this.decryptInProgressWinTempRb.TabIndex = 1; + this.decryptInProgressWinTempRb.TabStop = true; + this.decryptInProgressWinTempRb.Text = "[desc]\r\n[winTemp\\DecryptInProgress]"; + this.decryptInProgressWinTempRb.UseVisualStyleBackColor = true; + // + // decryptInProgressDescLbl + // + this.decryptInProgressDescLbl.AutoSize = true; + this.decryptInProgressDescLbl.Location = new System.Drawing.Point(6, 16); + this.decryptInProgressDescLbl.Name = "decryptInProgressDescLbl"; + this.decryptInProgressDescLbl.Size = new System.Drawing.Size(38, 26); + this.decryptInProgressDescLbl.TabIndex = 0; + this.decryptInProgressDescLbl.Text = "[desc]\r\n[line 2]"; + // + // saveBtn + // + this.saveBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right))); + this.saveBtn.Location = new System.Drawing.Point(612, 522); + this.saveBtn.Name = "saveBtn"; + this.saveBtn.Size = new System.Drawing.Size(75, 23); + this.saveBtn.TabIndex = 15; + this.saveBtn.Text = "Save"; + this.saveBtn.UseVisualStyleBackColor = true; + // + // cancelBtn + // + 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.Location = new System.Drawing.Point(713, 522); + this.cancelBtn.Name = "cancelBtn"; + this.cancelBtn.Size = new System.Drawing.Size(75, 23); + this.cancelBtn.TabIndex = 16; + this.cancelBtn.Text = "Cancel"; + this.cancelBtn.UseVisualStyleBackColor = true; + // + // audibleLocaleLbl + // + this.audibleLocaleLbl.AutoSize = true; + this.audibleLocaleLbl.Location = new System.Drawing.Point(273, 59); + this.audibleLocaleLbl.Name = "audibleLocaleLbl"; + this.audibleLocaleLbl.Size = new System.Drawing.Size(77, 13); + this.audibleLocaleLbl.TabIndex = 6; + this.audibleLocaleLbl.Text = "Audible Locale"; + // + // audibleLocaleCb + // + this.audibleLocaleCb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.audibleLocaleCb.FormattingEnabled = true; + this.audibleLocaleCb.Items.AddRange(new object[] { + "us", + "uk", + "germany", + "france", + "canada"}); + this.audibleLocaleCb.Location = new System.Drawing.Point(356, 56); + this.audibleLocaleCb.Name = "audibleLocaleCb"; + this.audibleLocaleCb.Size = new System.Drawing.Size(121, 21); + this.audibleLocaleCb.TabIndex = 7; + // + // SettingsDialog + // + this.AcceptButton = this.saveBtn; + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.CancelButton = this.cancelBtn; + this.ClientSize = new System.Drawing.Size(800, 557); + this.Controls.Add(this.audibleLocaleCb); + this.Controls.Add(this.audibleLocaleLbl); + this.Controls.Add(this.cancelBtn); + this.Controls.Add(this.saveBtn); + this.Controls.Add(this.decryptInProgressGb); + this.Controls.Add(this.downloadsInProgressGb); + this.Controls.Add(this.libationFilesGb); + this.Controls.Add(this.booksLocationDescLbl); + this.Controls.Add(this.decryptKeyDescLbl); + this.Controls.Add(this.settingsFileDescLbl); + this.Controls.Add(this.booksLocationSearchBtn); + this.Controls.Add(this.booksLocationTb); + this.Controls.Add(this.booksLocationLbl); + this.Controls.Add(this.decryptKeyTb); + this.Controls.Add(this.decryptKeyLbl); + this.Controls.Add(this.settingsFileTb); + this.Controls.Add(this.settingsFileLbl); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow; + this.Name = "SettingsDialog"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Edit Settings"; + this.libationFilesGb.ResumeLayout(false); + this.libationFilesGb.PerformLayout(); + this.downloadsInProgressGb.ResumeLayout(false); + this.downloadsInProgressGb.PerformLayout(); + this.decryptInProgressGb.ResumeLayout(false); + this.decryptInProgressGb.PerformLayout(); + this.ResumeLayout(false); + this.PerformLayout(); } @@ -399,5 +427,7 @@ private System.Windows.Forms.RadioButton decryptInProgressWinTempRb; private System.Windows.Forms.Button saveBtn; private System.Windows.Forms.Button cancelBtn; - } + private System.Windows.Forms.Label audibleLocaleLbl; + private System.Windows.Forms.ComboBox audibleLocaleCb; + } } \ No newline at end of file diff --git a/WinFormsDesigner/Dialogs/SettingsDialog.cs b/WinFormsDesigner/Dialogs/SettingsDialog.cs index 485a3f12..54b428ac 100644 --- a/WinFormsDesigner/Dialogs/SettingsDialog.cs +++ b/WinFormsDesigner/Dialogs/SettingsDialog.cs @@ -8,6 +8,7 @@ namespace WinFormsDesigner public SettingsDialog() { InitializeComponent(); + audibleLocaleCb.SelectedIndex = 0; } } }