use QMessageBox::setDetails() to show SSL errors
This commit is contained in:
parent
556adff727
commit
0817010dbf
|
@ -203,26 +203,24 @@ void DownloadInteraction::downloadRequiresAuthentication(Download *download, siz
|
||||||
void DownloadInteraction::downloadHasSslErrors(Download *download, size_t optionIndex, const QList<QSslError> &sslErrors)
|
void DownloadInteraction::downloadHasSslErrors(Download *download, size_t optionIndex, const QList<QSslError> &sslErrors)
|
||||||
{
|
{
|
||||||
QString downloadName = download->downloadUrl().isEmpty() ? download->id() : download->downloadUrl().toString();
|
QString downloadName = download->downloadUrl().isEmpty() ? download->id() : download->downloadUrl().toString();
|
||||||
QString message(QStringLiteral("<p style=\"font-weight: bold;\">"));
|
QString details;
|
||||||
message.append(tr("The download <i>%1</i> has SSL errors:").arg(downloadName));
|
|
||||||
message.append(QStringLiteral("</p><ul>"));
|
|
||||||
foreach(const QSslError &error, sslErrors) {
|
foreach(const QSslError &error, sslErrors) {
|
||||||
message.append(QStringLiteral("<li><span style=\"font-style: italic;\">"));
|
if(!details.isEmpty()) {
|
||||||
message.append(error.errorString());
|
details.append(QStringLiteral("\n\n"));
|
||||||
message.append(QStringLiteral("</span>"));
|
}
|
||||||
if(!error.certificate().isNull()) {
|
details.append(error.errorString());
|
||||||
message.append(QStringLiteral("<br>"));
|
if(!error.certificate().isNull()) {
|
||||||
message.append(error.certificate().toText());
|
details.append(QChar('\n'));
|
||||||
|
details.append(error.certificate().toText());
|
||||||
}
|
}
|
||||||
message.append(QStringLiteral("</li>"));
|
|
||||||
}
|
}
|
||||||
message.append(QStringLiteral("</ul><p>"));
|
|
||||||
message.append(tr("Do you want to ignore the SSL errors for this download?"));
|
|
||||||
message.append(QStringLiteral("</p>"));
|
|
||||||
QMessageBox *dlg = new QMessageBox(m_parentWidget);
|
QMessageBox *dlg = new QMessageBox(m_parentWidget);
|
||||||
dlg->setModal(false);
|
dlg->setModal(false);
|
||||||
|
dlg->setWindowTitle(tr("SSL errors occured") % QStringLiteral(" - ") % QCoreApplication::applicationName());
|
||||||
dlg->setTextFormat(Qt::RichText);
|
dlg->setTextFormat(Qt::RichText);
|
||||||
dlg->setText(message);
|
dlg->setText(tr("The download <i>%1</i> has SSL errors.").arg(downloadName));
|
||||||
|
dlg->setInformativeText(tr("Do you want to ignore the SSL errors for this download?"));
|
||||||
|
dlg->setDetailedText(details);
|
||||||
dlg->setIcon(QMessageBox::Warning);
|
dlg->setIcon(QMessageBox::Warning);
|
||||||
dlg->setStandardButtons(QMessageBox::Yes | QMessageBox::No);
|
dlg->setStandardButtons(QMessageBox::Yes | QMessageBox::No);
|
||||||
connect(dlg, &QMessageBox::finished, [download, optionIndex, dlg] (int result) {
|
connect(dlg, &QMessageBox::finished, [download, optionIndex, dlg] (int result) {
|
||||||
|
|
Loading…
Reference in New Issue