Add scan and remove books tomain view, remove separate dialog.
This commit is contained in:
parent
7bcabdda38
commit
52193933b2
17 changed files with 289 additions and 485 deletions
|
|
@ -13,10 +13,27 @@ namespace LibationWinForms
|
|||
// this is for manual scan/import. Unrelated to auto-scan
|
||||
public partial class Form1
|
||||
{
|
||||
|
||||
private ToolStripButton removeCheckedBtn = new();
|
||||
private void Configure_ScanManual()
|
||||
{
|
||||
this.Load += refreshImportMenu;
|
||||
AccountsSettingsPersister.Saved += refreshImportMenu;
|
||||
|
||||
#region Create and Add Tool Strip Button
|
||||
removeCheckedBtn.DisplayStyle = ToolStripItemDisplayStyle.Text;
|
||||
removeCheckedBtn.Name = "removeSelectedBtn";
|
||||
removeCheckedBtn.Text = "Remove 0 Books";
|
||||
removeCheckedBtn.AutoToolTip = false;
|
||||
removeCheckedBtn.ToolTipText = "Remove checked books and series\r\nfrom Libation's database.\r\n\r\nThey will remain in your Audible account.";
|
||||
removeCheckedBtn.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
|
||||
removeCheckedBtn.Alignment = ToolStripItemAlignment.Left;
|
||||
removeCheckedBtn.Anchor = AnchorStyles.Bottom | AnchorStyles.Left;
|
||||
removeCheckedBtn.Font = new System.Drawing.Font(removeCheckedBtn.Font, System.Drawing.FontStyle.Bold);
|
||||
removeCheckedBtn.Click += (_, _) => productsDisplay.RemoveCheckedBooksAsync();
|
||||
removeCheckedBtn.Visible = false;
|
||||
statusStrip1.Items.Insert(1, removeCheckedBtn);
|
||||
#endregion
|
||||
}
|
||||
|
||||
private void refreshImportMenu(object _, EventArgs __)
|
||||
|
|
@ -106,10 +123,37 @@ namespace LibationWinForms
|
|||
scanLibrariesRemovedBooks(scanAccountsDialog.CheckedAccounts.ToArray());
|
||||
}
|
||||
|
||||
private void scanLibrariesRemovedBooks(params Account[] accounts)
|
||||
private async void scanLibrariesRemovedBooks(params Account[] accounts)
|
||||
{
|
||||
using var dialog = new RemoveBooksDialog(accounts);
|
||||
dialog.ShowDialog();
|
||||
//This action is meant to operate on the entire library.
|
||||
//For removing books within a filter set, use
|
||||
//Visible Books > Remove from library
|
||||
filterSearchTb.Enabled = false;
|
||||
productsDisplay.Filter(null);
|
||||
|
||||
removeCheckedBtn.Visible = true;
|
||||
closeRemoveBooksColumnToolStripMenuItem.Visible = true;
|
||||
await productsDisplay.ScanAndRemoveBooksAsync(accounts);
|
||||
}
|
||||
|
||||
private void closeRemoveBooksColumnToolStripMenuItem_Click(object sender, EventArgs e)
|
||||
{
|
||||
removeCheckedBtn.Visible = false;
|
||||
closeRemoveBooksColumnToolStripMenuItem.Visible = false;
|
||||
productsDisplay.CloseRemoveBooksColumn();
|
||||
|
||||
//Restore the filter
|
||||
filterSearchTb.Enabled = true;
|
||||
performFilter(filterSearchTb.Text);
|
||||
}
|
||||
|
||||
private void productsDisplay_RemovableCountChanged(object sender, int removeCount)
|
||||
{
|
||||
removeCheckedBtn.Text = removeCount switch
|
||||
{
|
||||
1 => "Remove 1 Book",
|
||||
_ => $"Remove {removeCount} Books"
|
||||
};
|
||||
}
|
||||
|
||||
private async Task scanLibrariesAsync(IEnumerable<Account> accounts) => await scanLibrariesAsync(accounts.ToArray());
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue