diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp index 82cc1bb..50ef516 100644 --- a/src/contentmanager.cpp +++ b/src/contentmanager.cpp @@ -232,7 +232,7 @@ void ContentManager::onCustomContextMenu(const QPoint &point) openBook(id); }); connect(&menuDownloadBook, &QAction::triggered, [=]() { - downloadBook(id, index); + downloadBook(id); }); connect(&menuPauseBook, &QAction::triggered, [=]() { pauseBook(id, index); @@ -544,11 +544,14 @@ void ContentManager::updateDownload(QString bookId, const DownloadInfo& download } } -void ContentManager::downloadBook(const QString &id, QModelIndex /*index*/) +void ContentManager::downloadBook(const QString &id) { + kiwix::Book book = getRemoteOrLocalBook(id); + const auto downloadPath = getSettingsManager()->getDownloadDir(); + try { - downloadBook(id); + downloadBook(book, downloadPath); const auto downloadState = DownloadManager::getDownloadState(id); managerModel->setDownloadState(id, downloadState); emit(oneBookChanged(id)); @@ -577,11 +580,8 @@ QString ContentManager::getRemoteLibraryUrl() const : "http://" + host + ":" + QString::number(port); } -void ContentManager::downloadBook(const QString &id) +void ContentManager::downloadBook(kiwix::Book book, const QString& downloadPath) { - kiwix::Book book = getRemoteOrLocalBook(id); - - const auto downloadPath = getSettingsManager()->getDownloadDir(); checkThatBookCanBeSaved(book, downloadPath); std::string downloadId; diff --git a/src/contentmanager.h b/src/contentmanager.h index d8c5f15..0a9add1 100644 --- a/src/contentmanager.h +++ b/src/contentmanager.h @@ -88,7 +88,6 @@ public slots: void openBook(const QString& id); void openBookPreview(const QString& id); void downloadBook(const QString& id); - void downloadBook(const QString& id, QModelIndex index); void updateLibrary(); void setSearch(const QString& search); void setSortBy(const QString& sortBy, const bool sortOrderAsc); @@ -124,6 +123,7 @@ private: // functions void removeDownload(QString bookId); void downloadDisappeared(QString bookId); void downloadCompleted(QString bookId, QString path); + void downloadBook(kiwix::Book book, const QString& downloadPath); private: // data Library* mp_library; diff --git a/src/contentmanagerdelegate.cpp b/src/contentmanagerdelegate.cpp index 6fb9428..c520942 100644 --- a/src/contentmanagerdelegate.cpp +++ b/src/contentmanagerdelegate.cpp @@ -262,7 +262,7 @@ void ContentManagerDelegate::handleLastColumnClicked(const QModelIndex& index, Q return contentMgr.openBook(id); case ContentManager::BookState::AVAILABLE_ONLINE: - return contentMgr.downloadBook(id, index); + return contentMgr.downloadBook(id); case ContentManager::BookState::DOWNLOADING: if ( dcl.pauseResumeButtonRect.contains(clickPoint) ) {