CAppliance* UIApplianceExportEditorWidget::init() { if (m_pAppliance) delete m_pAppliance; CVirtualBox vbox = vboxGlobal().virtualBox(); /* Create a appliance object */ m_pAppliance = new CAppliance(vbox.CreateAppliance()); // bool fResult = m_pAppliance->isOk(); return m_pAppliance; }
bool UIApplianceImportEditorWidget::setFile(const QString& strFile) { bool fResult = false; if (!strFile.isEmpty()) { CProgress progress; CVirtualBox vbox = vboxGlobal().virtualBox(); /* Create a appliance object */ m_pAppliance = new CAppliance(vbox.CreateAppliance()); fResult = m_pAppliance->isOk(); if (fResult) { /* Read the appliance */ progress = m_pAppliance->Read(strFile); fResult = m_pAppliance->isOk(); if (fResult) { /* Show some progress, so the user know whats going on */ msgCenter().showModalProgressDialog(progress, tr("Reading Appliance ..."), "", this); if (!progress.isOk() || progress.GetResultCode() != 0) fResult = false; else { /* Now we have to interpret that stuff */ m_pAppliance->Interpret(); fResult = m_pAppliance->isOk(); if (fResult) { if (m_pModel) delete m_pModel; QVector<CVirtualSystemDescription> vsds = m_pAppliance->GetVirtualSystemDescriptions(); m_pModel = new VirtualSystemModel(vsds, this); ImportSortProxyModel *pProxy = new ImportSortProxyModel(this); pProxy->setSourceModel(m_pModel); pProxy->sort(DescriptionSection, Qt::DescendingOrder); VirtualSystemDelegate *pDelegate = new VirtualSystemDelegate(pProxy, this); /* Set our own model */ m_pTvSettings->setModel(pProxy); /* Set our own delegate */ m_pTvSettings->setItemDelegate(pDelegate); /* For now we hide the original column. This data is displayed as tooltip also. */ m_pTvSettings->setColumnHidden(OriginalValueSection, true); m_pTvSettings->expandAll(); /* Check for warnings & if there are one display them. */ bool fWarningsEnabled = false; QVector<QString> warnings = m_pAppliance->GetWarnings(); if (warnings.size() > 0) { foreach (const QString& text, warnings) mWarningTextEdit->append("- " + text); fWarningsEnabled = true; } m_pWarningWidget->setShown(fWarningsEnabled); } } } }