diff --git a/LibationLauncher/LibationLauncher.csproj b/LibationLauncher/LibationLauncher.csproj index cb15539f..48abef0e 100644 --- a/LibationLauncher/LibationLauncher.csproj +++ b/LibationLauncher/LibationLauncher.csproj @@ -13,7 +13,7 @@ win-x64 - 3.1.0.52 + 3.1.0.57 diff --git a/LibationWinForms/UNTESTED/ProductsGrid.cs b/LibationWinForms/UNTESTED/ProductsGrid.cs index 248acd97..a487c365 100644 --- a/LibationWinForms/UNTESTED/ProductsGrid.cs +++ b/LibationWinForms/UNTESTED/ProductsGrid.cs @@ -174,15 +174,23 @@ namespace LibationWinForms var productId = getGridEntry(e.RowIndex).GetBook().AudibleProductId; - // not liberated: liberate - if (!FileManager.AudibleFileStorage.Audio.Exists(productId)) - await BookLiberation.ProcessorAutomationController.BackupSingleBookAsync(productId, (_, __) => RefreshRow(productId)); // liberated: open explorer to file - else + if (FileManager.AudibleFileStorage.Audio.Exists(productId)) { var filePath = FileManager.AudibleFileStorage.Audio.GetPath(productId); System.Diagnostics.Process.Start("explorer.exe", $"/select, \"{filePath}\""); + return; } + + // not liberated: liberate + var msg + = "Liberate entire library instead?" + + "\r\n\r\nClick Yes to begin liberating your entire library" + + "\r\n\r\nClick No to liberate this book only"; + if (MessageBox.Show(msg, "Liberate entire library?", MessageBoxButtons.YesNo) == DialogResult.Yes) + await BookLiberation.ProcessorAutomationController.BackupAllBooksAsync((_, libraryBook) => RefreshRow(libraryBook.Book.AudibleProductId)); + else + await BookLiberation.ProcessorAutomationController.BackupSingleBookAsync(productId, (_, __) => RefreshRow(productId)); } #endregion