diff --git a/src/contentmanager.cpp b/src/contentmanager.cpp index 85a20bb..e2adb49 100644 --- a/src/contentmanager.cpp +++ b/src/contentmanager.cpp @@ -640,7 +640,7 @@ void ContentManager::pauseBook(const QString& id, QModelIndex index) download->pauseDownload(); m_downloads[id]->pause(); } - emit managerModel->pauseDownload(index); + managerModel->triggerDataUpdateAt(index); } void ContentManager::resumeBook(const QString& id, QModelIndex index) @@ -651,7 +651,7 @@ void ContentManager::resumeBook(const QString& id, QModelIndex index) download->resumeDownload(); m_downloads[id]->resume(); } - emit managerModel->resumeDownload(index); + managerModel->triggerDataUpdateAt(index); } void ContentManager::cancelBook(const QString& id) diff --git a/src/contentmanagermodel.cpp b/src/contentmanagermodel.cpp index 810cc96..d37ab34 100644 --- a/src/contentmanagermodel.cpp +++ b/src/contentmanagermodel.cpp @@ -211,8 +211,7 @@ void ContentManagerModel::updateImage(QString bookId, QString url, QByteArray im const auto item = getRowNode(row); item->setIconData(imageData); m_iconMap[url] = imageData; - const QModelIndex index = this->index(row, 0); - emit dataChanged(index, index); + triggerDataUpdateAt( this->index(row, 0) ); } void ContentManagerModel::updateDownload(QString bookId) @@ -221,18 +220,11 @@ void ContentManagerModel::updateDownload(QString bookId) if ( it != bookIdToRowMap.constEnd() ) { const size_t row = it.value(); - const QModelIndex newIndex = this->index(row, 5); - emit dataChanged(newIndex, newIndex); + triggerDataUpdateAt( this->index(row, 5) ); } } - -void ContentManagerModel::pauseDownload(QModelIndex index) -{ - emit dataChanged(index, index); -} - -void ContentManagerModel::resumeDownload(QModelIndex index) +void ContentManagerModel::triggerDataUpdateAt(QModelIndex index) { emit dataChanged(index, index); } @@ -245,7 +237,6 @@ void ContentManagerModel::removeDownload(QString bookId) const size_t row = it.value(); getRowNode(row)->setDownloadState(nullptr); - const QModelIndex index = this->index(row, 5); - emit dataChanged(index, index); + triggerDataUpdateAt( this->index(row, 5) ); } diff --git a/src/contentmanagermodel.h b/src/contentmanagermodel.h index 6ffe00c..b1ed927 100644 --- a/src/contentmanagermodel.h +++ b/src/contentmanagermodel.h @@ -45,8 +45,7 @@ public: // functions public slots: void updateImage(QString bookId, QString url, QByteArray imageData); - void pauseDownload(QModelIndex index); - void resumeDownload(QModelIndex index); + void triggerDataUpdateAt(QModelIndex index); void removeDownload(QString bookId); void updateDownload(QString bookId);