diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp index 0f6c6bb..d63e172 100644 --- a/src/contentmanager.cpp +++ b/src/contentmanager.cpp @@ -410,6 +410,12 @@ void ContentManager::downloadStarted(const kiwix::Book& book, const std::string& emit(oneBookChanged(QString::fromStdString(book.getId()))); } +void ContentManager::removeDownload(QString bookId) +{ + m_downloads.remove(bookId); + managerModel->removeDownload(bookId); +} + void ContentManager::downloadCancelled(QString bookId) { kiwix::Book bCopy(mp_library->getBookById(bookId)); @@ -478,8 +484,7 @@ void ContentManager::updateDownload(QString bookId) const bool downloadStillValid = downloadState->update(downloadInfo); if ( ! downloadStillValid ) { - m_downloads.remove(bookId); - managerModel->removeDownload(bookId); + removeDownload(bookId); } else { managerModel->updateDownload(bookId); } diff --git a/src/contentmanager.h b/src/contentmanager.h index 585b181..62c063c 100644 --- a/src/contentmanager.h +++ b/src/contentmanager.h @@ -84,6 +84,7 @@ private: // functions std::string startDownload(const kiwix::Book& book); void updateDownload(QString bookId); + void removeDownload(QString bookId); void downloadStarted(const kiwix::Book& book, const std::string& downloadId); void downloadCancelled(QString bookId); void downloadCompleted(QString bookId, QString path);