From 426f13a9152adf86fd0ca116c756cc0e425200ae Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Wed, 26 Jun 2024 11:35:38 +0400 Subject: [PATCH] Extracted ContentManager::startDownload() Extracted from ContentManager::downloadBook() the part that should be executed asynchronously into a new function `ContentManager::startDownload()`. --- src/contentmanager.cpp | 16 +++++++++++++++- src/contentmanager.h | 1 + 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp index 065a8b1..c00b9f4 100644 --- a/src/contentmanager.cpp +++ b/src/contentmanager.cpp @@ -511,9 +511,23 @@ void ContentManager::downloadBook(const QString &id) kiwix::Book book = getRemoteOrLocalBook(id); const auto downloadPath = getSettingsManager()->getDownloadDir(); - std::string downloadId; try { DownloadManager::checkThatBookCanBeDownloaded(book, downloadPath); + } catch ( const KiwixAppError& err ) { + showErrorBox(err, mp_view); + return; + } + + startDownload(id); +} + +void ContentManager::startDownload(QString id) +{ + kiwix::Book book = getRemoteOrLocalBook(id); + const auto downloadPath = getSettingsManager()->getDownloadDir(); + + std::string downloadId; + try { downloadId = DownloadManager::startDownload(book, downloadPath); } catch ( const KiwixAppError& err ) { showErrorBox(err, mp_view); diff --git a/src/contentmanager.h b/src/contentmanager.h index d214c8d..73b98a5 100644 --- a/src/contentmanager.h +++ b/src/contentmanager.h @@ -118,6 +118,7 @@ private: // functions const kiwix::Book& getRemoteOrLocalBook(const QString &id); QString getRemoteLibraryUrl() const; + void startDownload(QString bookId); void removeDownload(QString bookId); void downloadDisappeared(QString bookId); void downloadCompleted(QString bookId, QString path);