void UIWizardCloneVDPageExpert::sltMediumFormatChanged() { /* Get medium format: */ CMediumFormat mf = mediumFormat(); if (mf.isNull()) { AssertMsgFailed(("No medium format set!")); return; } /* Enable/disable widgets: */ ULONG uCapabilities = 0; QVector<KMediumFormatCapabilities> capabilities; capabilities = mf.GetCapabilities(); for (int i = 0; i < capabilities.size(); i++) uCapabilities |= capabilities[i]; bool fIsCreateDynamicPossible = uCapabilities & KMediumFormatCapabilities_CreateDynamic; bool fIsCreateFixedPossible = uCapabilities & KMediumFormatCapabilities_CreateFixed; bool fIsCreateSplitPossible = uCapabilities & KMediumFormatCapabilities_CreateSplit2G; m_pDynamicalButton->setEnabled(fIsCreateDynamicPossible); m_pFixedButton->setEnabled(fIsCreateFixedPossible); m_pSplitBox->setEnabled(fIsCreateSplitPossible); /* Compose virtual-disk extension: */ acquireExtensions(mf, static_cast<UIWizardCloneVD*>(wizardImp())->sourceVirtualDiskDeviceType(), m_aAllowedExtensions, m_strDefaultExtension); /* Broadcast complete-change: */ emit completeChanged(); }
bool UIWizardNewVMPage3::getWithNewVirtualDiskWizard() { /* Create New Virtual Hard Drive wizard: */ UISafePointerWizardNewVD pWizard = new UIWizardNewVD(thisImp(), fieldImp("machineBaseName").toString(), fieldImp("machineFolder").toString(), fieldImp("type").value<CGuestOSType>().GetRecommendedHDD(), wizardImp()->mode()); pWizard->prepare(); bool fResult = false; if (pWizard->exec() == QDialog::Accepted) { fResult = true; m_virtualDisk = pWizard->virtualDisk(); m_pDiskSelector->setCurrentItem(m_virtualDisk.GetId()); m_pDiskPresent->click(); } if (pWizard) delete pWizard; return fResult; }