mirror of
https://github.com/rmcrackan/Libation.git
synced 2026-06-25 07:59:41 -04:00
56 lines
1.7 KiB
C#
56 lines
1.7 KiB
C#
#if DEBUG
|
|
using DataLayer;
|
|
using System.Linq;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
|
|
namespace LibationWinForms;
|
|
|
|
public partial class Form1
|
|
{
|
|
private void Configure_DebugMenu()
|
|
{
|
|
var simulateItem = new ToolStripMenuItem("Simulate bad book failures (test dialog)...");
|
|
simulateItem.Click += async (_, _) => await SimulateBadBookFailuresAsync();
|
|
|
|
// Insert before Tour; toolStripSeparator2 above Tour already provides the divider.
|
|
var insertIndex = settingsToolStripMenuItem.DropDownItems.IndexOf(tourToolStripMenuItem);
|
|
if (insertIndex < 0)
|
|
insertIndex = settingsToolStripMenuItem.DropDownItems.Count;
|
|
|
|
settingsToolStripMenuItem.DropDownItems.Insert(insertIndex, simulateItem);
|
|
}
|
|
|
|
private async Task SimulateBadBookFailuresAsync()
|
|
{
|
|
var books = productsDisplay.GetVisible().Take(5).ToArray();
|
|
if (books.Length == 0)
|
|
{
|
|
MessageBox.Show(
|
|
this,
|
|
"No books are visible in the grid.\n\nClear your filter or widen it, then try again.",
|
|
"Test bad book dialog",
|
|
MessageBoxButtons.OK,
|
|
MessageBoxIcon.Information);
|
|
return;
|
|
}
|
|
|
|
var confirm = MessageBox.Show(
|
|
this,
|
|
$"Queue {books.Length} visible book(s) with simulated failures?\n\n"
|
|
+ "No files will be downloaded. Each book will immediately show the bad-book error dialog.\n\n"
|
|
+ "Set error handling to \"Ask each time\" in Settings > Download/Decrypt before testing.",
|
|
"Test bad book dialog",
|
|
MessageBoxButtons.YesNo,
|
|
MessageBoxIcon.Question,
|
|
MessageBoxDefaultButton.Button1);
|
|
|
|
if (confirm != System.Windows.Forms.DialogResult.Yes)
|
|
return;
|
|
|
|
processBookQueue1.ViewModel.QueueSimulatedBadBookFailures(books);
|
|
SetQueueCollapseState(false);
|
|
}
|
|
}
|
|
#endif
|