void UIMediumEnumerator::deleteMedium(const QString &strMediumID) { LogRelFlow(("UIMediumEnumerator: Medium with ID={%s} removed.\n", strMediumID.toAscii().constData())); /* Make sure medium still exists: */ AssertReturnVoid(m_mediums.contains(strMediumID)); /* Remove medium: */ m_mediums.remove(strMediumID); /* Notify listener: */ emit sigMediumDeleted(strMediumID); }
void UIMediumEnumerator::deleteMedium(const QString &strMediumID) { /* Do not delete UIMedium(s) with incorrect ID: */ AssertReturnVoid(!strMediumID.isNull()); AssertReturnVoid(strMediumID != UIMedium::nullID()); /* Make sure medium still exists: */ AssertReturnVoid(m_mediums.contains(strMediumID)); /* Remove medium: */ m_mediums.remove(strMediumID); LogRel(("GUI: UIMediumEnumerator: Medium with key={%s} deleted\n", strMediumID.toUtf8().constData())); /* Notify listener: */ emit sigMediumDeleted(strMediumID); }
void UIMediumEnumerator::sltHandleMediumEnumerationTaskComplete(UITask *pTask) { /* Make sure that is one of our tasks: */ if (pTask->type() != UITask::Type_MediumEnumeration) return; AssertReturnVoid(m_tasks.contains(pTask)); /* Get enumerated UIMedium: */ const UIMedium uimedium = pTask->property("medium").value<UIMedium>(); const QString strUIMediumKey = uimedium.key(); LogRel2(("GUI: UIMediumEnumerator: Medium with key={%s} enumerated\n", strUIMediumKey.toUtf8().constData())); /* Remove task from internal set: */ m_tasks.remove(pTask); /* Make sure such UIMedium still exists: */ AssertReturnVoid(m_mediums.contains(strUIMediumKey)); /* Check if UIMedium ID was changed: */ const QString strUIMediumID = uimedium.id(); /* UIMedium ID was changed to nullID: */ if (strUIMediumID == UIMedium::nullID()) { /* Delete this medium: */ m_mediums.remove(strUIMediumKey); LogRel2(("GUI: UIMediumEnumerator: Medium with key={%s} closed and deleted (after enumeration)\n", strUIMediumKey.toUtf8().constData())); /* And notify listener about delete: */ emit sigMediumDeleted(strUIMediumKey); } /* UIMedium ID was changed to something proper: */ else if (strUIMediumID != strUIMediumKey) { /* We have to reinject enumerated medium: */ m_mediums.remove(strUIMediumKey); m_mediums[strUIMediumID] = uimedium; m_mediums[strUIMediumID].setKey(strUIMediumID); LogRel2(("GUI: UIMediumEnumerator: Medium with key={%s} has it changed to {%s}\n", strUIMediumKey.toUtf8().constData(), strUIMediumID.toUtf8().constData())); /* And notify listener about delete/create: */ emit sigMediumDeleted(strUIMediumKey); emit sigMediumCreated(strUIMediumID); } /* UIMedium ID was not changed: */ else { /* Just update enumerated medium: */ m_mediums[strUIMediumID] = uimedium; LogRel2(("GUI: UIMediumEnumerator: Medium with key={%s} updated\n", strUIMediumID.toUtf8().constData())); /* And notify listener about update: */ emit sigMediumEnumerated(strUIMediumID); } /* If there are no more tasks we know about: */ if (m_tasks.isEmpty()) { /* Notify listener: */ LogRel(("GUI: UIMediumEnumerator: Medium-enumeration finished!\n")); m_fMediumEnumerationInProgress = false; emit sigMediumEnumerationFinished(); } }