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