void UIWizardImportAppPageBasic2::initializePage() { /* Acquire appliance and certificate: */ CAppliance *pAppliance = m_pApplianceWidget->appliance(); CCertificate certificate = pAppliance->GetCertificate(); if (certificate.isNull()) m_enmCertText = kCertText_Unsigned; else { /* Pick a 'signed-by' name. */ m_strSignedBy = certificate.GetFriendlyName(); /* If trusted, just select the right message: */ if (certificate.GetTrusted()) { if (certificate.GetSelfSigned()) m_enmCertText = !certificate.GetExpired() ? kCertText_SelfSignedTrusted : kCertText_SelfSignedExpired; else m_enmCertText = !certificate.GetExpired() ? kCertText_IssuedTrusted : kCertText_IssuedExpired; } else { /* Not trusted! Must ask the user whether to continue in this case: */ m_enmCertText = certificate.GetSelfSigned() ? kCertText_SelfSignedUnverified : kCertText_IssuedUnverified; /* Translate page early: */ retranslateUi(); /* Instantiate the dialog: */ QPointer<UIApplianceUnverifiedCertificateViewer> pDialog = new UIApplianceUnverifiedCertificateViewer(this, certificate); AssertPtrReturnVoid(pDialog.data()); /* Show viewer in modal mode: */ const int iResultCode = pDialog->exec(); /* Leave if viewer destroyed prematurely: */ if (!pDialog) return; /* Delete viewer finally: */ delete pDialog; pDialog = 0; /* Dismiss the entire import-appliance wizard if user rejects certificate: */ if (iResultCode == QDialog::Rejected) wizard()->reject(); } } /* Translate page: */ retranslateUi(); }
void UIWizardImportAppPageBasic2::initializePage() { /* Update widget visibility: */ updatePageAppearance(); /* Check whether there was cloud source selected: */ const bool fIsSourceCloudOne = field("isSourceCloudOne").toBool(); if (fIsSourceCloudOne) populateFormPropertiesTable(); else { /* Acquire appliance: */ CAppliance *pAppliance = m_pApplianceWidget->appliance(); /* Check if pAppliance is alive. If not just return here. * This prevents crashes when an invalid ova file is supllied: */ if (!pAppliance) { if (wizard()) wizard()->reject(); return; } /* Acquire certificate: */ CCertificate comCertificate = pAppliance->GetCertificate(); if (comCertificate.isNull()) m_enmCertText = kCertText_Unsigned; else { /* Pick a 'signed-by' name: */ m_strSignedBy = comCertificate.GetFriendlyName(); /* If trusted, just select the right message: */ if (comCertificate.GetTrusted()) { if (comCertificate.GetSelfSigned()) m_enmCertText = !comCertificate.GetExpired() ? kCertText_SelfSignedTrusted : kCertText_SelfSignedExpired; else m_enmCertText = !comCertificate.GetExpired() ? kCertText_IssuedTrusted : kCertText_IssuedExpired; } else { /* Not trusted! Must ask the user whether to continue in this case: */ m_enmCertText = comCertificate.GetSelfSigned() ? kCertText_SelfSignedUnverified : kCertText_IssuedUnverified; /* Translate page early: */ retranslateUi(); /* Instantiate the dialog: */ QPointer<UIApplianceUnverifiedCertificateViewer> pDialog = new UIApplianceUnverifiedCertificateViewer(this, comCertificate); AssertPtrReturnVoid(pDialog.data()); /* Show viewer in modal mode: */ const int iResultCode = pDialog->exec(); /* Leave if viewer destroyed prematurely: */ if (!pDialog) return; /* Delete viewer finally: */ delete pDialog; /* Dismiss the entire import-appliance wizard if user rejects certificate: */ if (iResultCode == QDialog::Rejected) wizard()->reject(); } } } /* Translate page: */ retranslateUi(); }