diff --git a/resources/texts/_contentManager.html b/resources/texts/_contentManager.html index 03bfb42..16b987a 100644 --- a/resources/texts/_contentManager.html +++ b/resources/texts/_contentManager.html @@ -48,6 +48,8 @@ function getDownloadInfo(id) { d = createDict(DOWNLOAD_KEYS, values); if (d.status == "completed") { clearInterval(downloadUpdaters[id]); + Vue.delete(app.downloads, id); + return; } Vue.set(app.downloads, id, createDict(DOWNLOAD_KEYS, values)); }); @@ -87,6 +89,12 @@ function init() { eraseBook : function(book) { contentManager.eraseBook(book.id); }, + pauseBook : function(book) { + contentManager.pauseBook(book.id); + }, + resumeBook : function(book) { + contentManager.resumeBook(book.id); + }, displayedBooks : function(books, nb) { var a = books.slice(0, nb); return a; @@ -364,8 +372,10 @@ details:hover { {{ niceBytes(downloads[book.id].completedLength) }} / {{ niceBytes(downloads[book.id].totalLength) }} - - + + + +

diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp index ab11cb5..e3f7a2a 100644 --- a/src/contentmanager.cpp +++ b/src/contentmanager.cpp @@ -203,6 +203,22 @@ void ContentManager::eraseBook(const QString& id) emit(mp_library->booksChanged()); } +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) + download->pauseDownload(); +} + +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) + download->resumeDownload(); +} + QStringList ContentManager::getDownloadIds() { QStringList list; diff --git a/src/contentmanager.h b/src/contentmanager.h index a4f8944..ad047a1 100644 --- a/src/contentmanager.h +++ b/src/contentmanager.h @@ -56,6 +56,8 @@ public slots: void setSearch(const QString& search); void eraseBook(const QString& id); void updateRemoteLibrary(const QString& content); + void pauseBook(const QString& id); + void resumeBook(const QString& id); }; #endif // CONTENTMANAGER_H