* search engine: refactoring and improved logging
* bug fix: after book is liberated, filter should immediately honor new "is liberated" status
This commit is contained in:
parent
7b966f6962
commit
abd00ff1df
5 changed files with 146 additions and 77 deletions
|
|
@ -74,6 +74,16 @@ namespace LibationWinForms.BookLiberation
|
|||
backupBook.DecryptBook.Begin += (_, __) => wireUpEvents(backupBook.DecryptBook);
|
||||
backupBook.DownloadPdf.Begin += (_, __) => wireUpEvents(backupBook.DownloadPdf);
|
||||
|
||||
// must occur before completedAction. A common use case is:
|
||||
// - filter by -liberated
|
||||
// - liberate only that book
|
||||
// completedAction is to refresh grid
|
||||
// - want to see that book disappear from grid
|
||||
// also for this to work, updateIsLiberated can NOT be async
|
||||
backupBook.DownloadBook.Completed += updateIsLiberated;
|
||||
backupBook.DecryptBook.Completed += updateIsLiberated;
|
||||
backupBook.DownloadPdf.Completed += updateIsLiberated;
|
||||
|
||||
if (completedAction != null)
|
||||
{
|
||||
backupBook.DownloadBook.Completed += completedAction;
|
||||
|
|
@ -81,16 +91,10 @@ namespace LibationWinForms.BookLiberation
|
|||
backupBook.DownloadPdf.Completed += completedAction;
|
||||
}
|
||||
|
||||
// enables search engine to index for things like "IsLiberated"
|
||||
backupBook.DownloadBook.Completed += reindex;
|
||||
backupBook.DecryptBook.Completed += reindex;
|
||||
backupBook.DownloadPdf.Completed += reindex;
|
||||
|
||||
return backupBook;
|
||||
}
|
||||
|
||||
private static async void reindex(object sender, LibraryBook e)
|
||||
=> await Task.Run(() => ApplicationServices.SearchEngineCommands.FullReIndex());
|
||||
private static void updateIsLiberated(object sender, LibraryBook e) => ApplicationServices.SearchEngineCommands.UpdateIsLiberated(e.Book);
|
||||
|
||||
private static (AutomatedBackupsForm, LogMe) attachToBackupsForm(BackupBook backupBook)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -201,6 +201,9 @@ namespace LibationWinForms
|
|||
// update cells incl Liberate button text
|
||||
dataGridView.InvalidateRow(rowId);
|
||||
|
||||
// needed in case filtering by -IsLiberated and it gets changed to Liberated. want to immediately show the change
|
||||
filter();
|
||||
|
||||
BackupCountsChanged?.Invoke(this, EventArgs.Empty);
|
||||
}
|
||||
|
||||
|
|
@ -396,8 +399,6 @@ namespace LibationWinForms
|
|||
}
|
||||
currencyManager.ResumeBinding();
|
||||
VisibleCountChanged?.Invoke(this, dataGridView.AsEnumerable().Count(r => r.Visible));
|
||||
|
||||
var luceneSearchString_debug = searchResults.SearchString;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue