bool UINewVMWzdPage2::createMachineFolder() { /* Cleanup old folder if present: */ bool fMachineFolderDeleted = cleanupMachineFolder(); if (!fMachineFolderDeleted) { msgCenter().warnAboutCannotCreateMachineFolder(this, m_strMachineFolder); return false; } /* Get VBox: */ CVirtualBox vbox = vboxGlobal().virtualBox(); /* Get default machines directory: */ QString strDefaultMachinesFolder = vbox.GetSystemProperties().GetDefaultMachineFolder(); /* Compose machine filename name: */ QString strMachineFilename = vbox.ComposeMachineFilename(field("name").toString(), strDefaultMachinesFolder); QFileInfo fileInfo(strMachineFilename); /* Get machine directory: */ QString strMachineFolder = fileInfo.absolutePath(); /* Try to create this machine directory (and it's predecessors): */ bool fMachineFolderCreated = QDir().mkpath(strMachineFolder); if (!fMachineFolderCreated) { msgCenter().warnAboutCannotCreateMachineFolder(this, strMachineFolder); return false; } /* Initialize machine dir value: */ m_strMachineFolder = strMachineFolder; return true; }
QList<QPair<QString, QString> > UIMediumDefs::MediumBackends(const CVirtualBox &comVBox, KDeviceType enmType) { /* Prepare a list of pairs with the form <tt>{"Backend Name", "*.suffix1 .suffix2 ..."}</tt>. */ const CSystemProperties comSystemProperties = comVBox.GetSystemProperties(); QVector<CMediumFormat> mediumFormats = comSystemProperties.GetMediumFormats(); QList<QPair<QString, QString> > backendPropList; for (int i = 0; i < mediumFormats.size(); ++i) { /* Acquire file extensions & device types: */ QVector<QString> fileExtensions; QVector<KDeviceType> deviceTypes; mediumFormats[i].DescribeFileExtensions(fileExtensions, deviceTypes); /* Compose filters list: */ QStringList filters; for (int iExtensionIndex = 0; iExtensionIndex < fileExtensions.size(); ++iExtensionIndex) if (deviceTypes[iExtensionIndex] == enmType) filters << QString("*.%1").arg(fileExtensions[iExtensionIndex]); /* Create a pair out of the backend description and all suffix's. */ if (!filters.isEmpty()) backendPropList << QPair<QString, QString>(mediumFormats[i].GetName(), filters.join(" ")); } return backendPropList; }