void DownloadManager::updateRow() { DownloadItem *item = qobject_cast<DownloadItem*>(sender()); int row = m_downloads.indexOf(item); if (-1 == row) return; if (!m_iconProvider) m_iconProvider = new QFileIconProvider(); QIcon icon = m_iconProvider->icon(item->m_output.fileName()); if (icon.isNull()) icon = style()->standardIcon(QStyle::SP_FileIcon); item->fileIcon->setPixmap(icon.pixmap(48, 48)); downloadsView->setRowHeight(row, item->minimumSizeHint().height()); bool remove = false; #if defined(QTWEBENGINE_PRIVATEBROWSING) QWebEngineSettings *globalSettings = QWebEngineSettings::globalSettings(); if (!item->downloading() && globalSettings->testAttribute(QWebEngineSettings::PrivateBrowsingEnabled)) remove = true; #endif if (item->downloadedSuccessfully() && removePolicy() == DownloadManager::SuccessFullDownload) { remove = true; } if (remove) m_model->removeRow(row); cleanupButton->setEnabled(m_downloads.count() - activeDownloads() > 0); }