diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp index 59b63f4..85575f4 100644 --- a/src/contentmanager.cpp +++ b/src/contentmanager.cpp @@ -574,8 +574,10 @@ void ContentManager::pauseBook(const QString& id) } auto& b = mp_library->getBookById(id); auto download = mp_downloader->getDownload(b.getDownloadId()); - if (download->getStatus() == kiwix::Download::K_ACTIVE) + if (download->getStatus() == kiwix::Download::K_ACTIVE) { download->pauseDownload(); + m_downloads[id]->pause(); + } } void ContentManager::resumeBook(const QString& id, QModelIndex index) @@ -591,8 +593,10 @@ void ContentManager::resumeBook(const QString& id) } auto& b = mp_library->getBookById(id); auto download = mp_downloader->getDownload(b.getDownloadId()); - if (download->getStatus() == kiwix::Download::K_PAUSED) + if (download->getStatus() == kiwix::Download::K_PAUSED) { download->resumeDownload(); + m_downloads[id]->resume(); + } } void ContentManager::cancelBook(const QString& id, QModelIndex index) diff --git a/src/contentmanagermodel.cpp b/src/contentmanagermodel.cpp index 3aaa81c..15f655d 100644 --- a/src/contentmanagermodel.cpp +++ b/src/contentmanagermodel.cpp @@ -298,15 +298,11 @@ void ContentManagerModel::updateDownload(QString bookId) void ContentManagerModel::pauseDownload(QModelIndex index) { - auto node = static_cast(index.internalPointer()); - node->getDownloadState()->pause(); emit dataChanged(index, index); } void ContentManagerModel::resumeDownload(QModelIndex index) { - auto node = static_cast(index.internalPointer()); - node->getDownloadState()->resume(); emit dataChanged(index, index); }