From 7d36f046d89fcd610134e7c6023b62be718d8e51 Mon Sep 17 00:00:00 2001 From: Veloman Yunkan Date: Thu, 23 May 2024 12:48:35 +0400 Subject: [PATCH] {Content->Download}Manager::restoreDownloads() --- src/contentmanager.cpp | 14 -------------- src/contentmanager.h | 1 - src/downloadmanagement.cpp | 16 +++++++++++++++- src/downloadmanagement.h | 1 + 4 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp index a2baf3b..ea5ca59 100644 --- a/src/contentmanager.cpp +++ b/src/contentmanager.cpp @@ -100,8 +100,6 @@ ContentManager::ContentManager(Library* library, kiwix::Downloader* downloader, mp_remoteLibrary(kiwix::Library::create()), m_remoteLibraryManager() { - restoreDownloads(); - // mp_view will be passed to the tab who will take ownership, // so, we don't need to delete it. mp_view = new ContentManagerView(); @@ -154,18 +152,6 @@ ContentManager::ContentManager(Library* library, kiwix::Downloader* downloader, } } -void ContentManager::restoreDownloads() -{ - for ( const auto& bookId : mp_library->getBookIds() ) { - const kiwix::Book& book = mp_library->getBookById(bookId); - if ( ! book.getDownloadId().empty() ) { - const auto newDownload = std::make_shared(); - newDownload->paused = true; - m_downloads.set(bookId, newDownload); - } - } -} - void ContentManager::startDownloadUpdaterThread() { // so that DownloadInfo can be copied across threads diff --git a/src/contentmanager.h b/src/contentmanager.h index 8c0416b..15ef39a 100644 --- a/src/contentmanager.h +++ b/src/contentmanager.h @@ -130,7 +130,6 @@ private: // functions void downloadStarted(const kiwix::Book& book, const std::string& downloadId); void downloadDisappeared(QString bookId); void downloadCompleted(QString bookId, QString path); - void restoreDownloads(); private: // data Library* mp_library; diff --git a/src/downloadmanagement.cpp b/src/downloadmanagement.cpp index 7537c5f..b07719d 100644 --- a/src/downloadmanagement.cpp +++ b/src/downloadmanagement.cpp @@ -40,7 +40,21 @@ void DownloadState::update(const DownloadInfo& downloadInfos) DownloadManager::DownloadManager(const Library* lib, kiwix::Downloader *downloader) : mp_library(lib) , mp_downloader(downloader) -{} +{ + restoreDownloads(); +} + +void DownloadManager::restoreDownloads() +{ + for ( const auto& bookId : mp_library->getBookIds() ) { + const kiwix::Book& book = mp_library->getBookById(bookId); + if ( ! book.getDownloadId().empty() ) { + const auto newDownload = std::make_shared(); + newDownload->paused = true; + m_downloads.set(bookId, newDownload); + } + } +} namespace { diff --git a/src/downloadmanagement.h b/src/downloadmanagement.h index 8990fde..9065013 100644 --- a/src/downloadmanagement.h +++ b/src/downloadmanagement.h @@ -68,6 +68,7 @@ public: // functions DownloadManager(const Library* lib, kiwix::Downloader *downloader); DownloadInfo getDownloadInfo(QString bookId) const; + void restoreDownloads(); protected: // data const Library* const mp_library;