{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()),
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<DownloadState>();
newDownload->paused = true;
m_downloads.set(bookId, newDownload);
}
}
}
void ContentManager::startDownloadUpdaterThread()
{
// 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 downloadDisappeared(QString bookId);
void downloadCompleted(QString bookId, QString path);
void restoreDownloads();
private: // data
Library* mp_library;

View File

@ -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<DownloadState>();
newDownload->paused = true;
m_downloads.set(bookId, newDownload);
}
}
}
namespace
{

View File

@ -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;