{Content->Download}Manager::restoreDownloads()

This commit is contained in:
Veloman Yunkan 2024-05-23 12:48:35 +04:00 committed by Kelson
parent ff48029f01
commit 7d36f046d8
4 changed files with 16 additions and 16 deletions

View File

@ -100,8 +100,6 @@ ContentManager::ContentManager(Library* library, kiwix::Downloader* downloader,
mp_remoteLibrary(kiwix::Library::create()), mp_remoteLibrary(kiwix::Library::create()),
m_remoteLibraryManager() m_remoteLibraryManager()
{ {
restoreDownloads();
// mp_view will be passed to the tab who will take ownership, // mp_view will be passed to the tab who will take ownership,
// so, we don't need to delete it. // so, we don't need to delete it.
mp_view = new ContentManagerView(); 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<DownloadState>();
newDownload->paused = true;
m_downloads.set(bookId, newDownload);
}
}
}
void ContentManager::startDownloadUpdaterThread() void ContentManager::startDownloadUpdaterThread()
{ {
// so that DownloadInfo can be copied across threads // so that DownloadInfo can be copied across threads

View File

@ -130,7 +130,6 @@ private: // functions
void downloadStarted(const kiwix::Book& book, const std::string& downloadId); void downloadStarted(const kiwix::Book& book, const std::string& downloadId);
void downloadDisappeared(QString bookId); void downloadDisappeared(QString bookId);
void downloadCompleted(QString bookId, QString path); void downloadCompleted(QString bookId, QString path);
void restoreDownloads();
private: // data private: // data
Library* mp_library; Library* mp_library;

View File

@ -40,7 +40,21 @@ void DownloadState::update(const DownloadInfo& downloadInfos)
DownloadManager::DownloadManager(const Library* lib, kiwix::Downloader *downloader) DownloadManager::DownloadManager(const Library* lib, kiwix::Downloader *downloader)
: mp_library(lib) : mp_library(lib)
, mp_downloader(downloader) , 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<DownloadState>();
newDownload->paused = true;
m_downloads.set(bookId, newDownload);
}
}
}
namespace namespace
{ {

View File

@ -68,6 +68,7 @@ public: // functions
DownloadManager(const Library* lib, kiwix::Downloader *downloader); DownloadManager(const Library* lib, kiwix::Downloader *downloader);
DownloadInfo getDownloadInfo(QString bookId) const; DownloadInfo getDownloadInfo(QString bookId) const;
void restoreDownloads();
protected: // data protected: // data
const Library* const mp_library; const Library* const mp_library;