void BuildingComponentDialogCentralWidget::measureDownloadComplete(const std::string& uid, const boost::optional<BCLMeasure>& measure) { QObject* sender = this->sender(); if (sender){ sender->deleteLater(); } if (measure){ // good // remove old measure boost::optional<BCLMeasure> oldMeasure = LocalBCL::instance().getMeasure(measure->uid()); if (oldMeasure && oldMeasure->versionId() != measure->versionId()){ LocalBCL::instance().removeMeasure(*oldMeasure); } }else{ // error downloading measure // find measure in list by uid and re-enable for (Component* component : m_collapsibleComponentList->components()) { if (component->uid() == uid){ component->checkBox()->setEnabled(true); break; } } } m_pendingDownloads.erase(uid); if (m_pendingDownloads.empty()){ // show not busy m_progressBar->setValue(0); m_progressBar->setMinimum(0); m_progressBar->setMaximum(0); m_progressBar->setVisible(false); m_showNewComponents = true; } }