From 25d89207bba6701cb1e0e6e6a3c081cf4a01b246 Mon Sep 17 00:00:00 2001 From: Michael Bucari-Tovo Date: Thu, 1 Jul 2021 07:48:20 -0600 Subject: [PATCH] Better ecapsulate requestCoverArt event handler --- .../ProcessorAutomationController.cs | 34 ++++++++----------- 1 file changed, 15 insertions(+), 19 deletions(-) diff --git a/LibationWinForms/BookLiberation/ProcessorAutomationController.cs b/LibationWinForms/BookLiberation/ProcessorAutomationController.cs index c25f7e6a..1b6455e2 100644 --- a/LibationWinForms/BookLiberation/ProcessorAutomationController.cs +++ b/LibationWinForms/BookLiberation/ProcessorAutomationController.cs @@ -265,25 +265,32 @@ namespace LibationWinForms.BookLiberation void coverImageFilepathDiscovered(object _, byte[] coverBytes) => decryptDialog.SetCoverImage(Dinah.Core.Drawing.ImageReader.ToImage(coverBytes)); void updateProgress(object _, int percentage) => decryptDialog.UpdateProgress(percentage); void updateRemainingTime(object _, TimeSpan remaining) => decryptDialog.UpdateRemainingTime(remaining); - void decryptCompleted(object _, string __) => decryptDialog.Close(); - void requestCoverArt(object _, Action setArt) + void requestCoverArt(object _, Action setCoverArtDelegate) { var picDef = new FileManager.PictureDefinition(libraryBook.Book.PictureId, FileManager.PictureSize._500x500); (bool isDefault, byte[] picture) = FileManager.PictureStorage.GetPicture(picDef); if (isDefault) { - void pictureCached(object _, string pictureId) => onPictureCached(libraryBook, pictureId, setArt, pictureCached); + void pictureCached(object _, string pictureId) + { + if (pictureId == libraryBook.Book.PictureId) + { + FileManager.PictureStorage.PictureCached -= pictureCached; + + var picDef = new FileManager.PictureDefinition(libraryBook.Book.PictureId, FileManager.PictureSize._500x500); + (_, picture) = FileManager.PictureStorage.GetPicture(picDef); + + setCoverArtDelegate(picture); + } + }; FileManager.PictureStorage.PictureCached += pictureCached; } else - setArt(picture); + setCoverArtDelegate(picture); } - - - #endregion #region subscribe new form to model's events @@ -319,18 +326,7 @@ namespace LibationWinForms.BookLiberation }; #endregion } - private static void onPictureCached(LibraryBook libraryBook, string picId, Action setArt, EventHandler pictureCacheDelegate) - { - if (picId == libraryBook.Book.PictureId) - { - FileManager.PictureStorage.PictureCached -= pictureCacheDelegate; - - var picDef = new FileManager.PictureDefinition(libraryBook.Book.PictureId, FileManager.PictureSize._500x500); - (_, byte[] picture) = FileManager.PictureStorage.GetPicture(picDef); - - setArt(picture); - } - } + private static (AutomatedBackupsForm, LogMe) attachToBackupsForm(IDownloadableProcessable downloadable) { #region create form and logger