void QgsAuthTrustedCAsDialog::appendCertsToItem( const QList<QSslCertificate> &certs, QgsAuthTrustedCAsDialog::CaType catype, QTreeWidgetItem *parent ) { if ( certs.empty() ) return; if ( !parent ) { parent = treeTrustedCAs->currentItem(); } QBrush redb( QgsAuthGuiUtils::redColor() ); // Columns: Common Name, Serial #, Expiry Date const auto constCerts = certs; for ( const QSslCertificate &cert : constCerts ) { QString id( QgsAuthCertUtils::shaHexForCert( cert ) ); QStringList coltxts; coltxts << QgsAuthCertUtils::resolvedCertName( cert ); coltxts << QString( cert.serialNumber() ); coltxts << cert.expiryDate().toString(); QTreeWidgetItem *item( new QTreeWidgetItem( parent, coltxts, static_cast<int>( catype ) ) ); item->setIcon( 0, QgsApplication::getThemeIcon( QStringLiteral( "/mIconCertificate.svg" ) ) ); if ( !QgsAuthCertUtils::certIsViable( cert ) ) { item->setForeground( 2, redb ); item->setIcon( 0, QgsApplication::getThemeIcon( QStringLiteral( "/mIconCertificateUntrusted.svg" ) ) ); } item->setData( 0, Qt::UserRole, id ); } parent->sortChildren( 0, Qt::AscendingOrder ); }
void QgsAuthAuthoritiesEditor::appendCertsToItem( const QList<QSslCertificate> &certs, QgsAuthAuthoritiesEditor::CaType catype, QTreeWidgetItem *parent ) { if ( certs.empty() ) return; if ( !parent ) { parent = treeWidgetCAs->currentItem(); } QBrush greenb( QgsAuthGuiUtils::greenColor() ); QBrush redb( QgsAuthGuiUtils::redColor() ); QStringList trustedids = mCertTrustCache.value( QgsAuthCertUtils::Trusted ); QStringList untrustedids = mCertTrustCache.value( QgsAuthCertUtils::Untrusted ); // Columns: Common Name, Serial #, Expiry Date const auto constCerts = certs; for ( const QSslCertificate &cert : constCerts ) { QString id( QgsAuthCertUtils::shaHexForCert( cert ) ); QStringList coltxts; coltxts << QgsAuthCertUtils::resolvedCertName( cert ); coltxts << QString( cert.serialNumber() ); coltxts << cert.expiryDate().toString(); // trust policy QString policy( QgsAuthCertUtils::getCertTrustName( mDefaultTrustPolicy ) ); if ( trustedids.contains( id ) ) { policy = QgsAuthCertUtils::getCertTrustName( QgsAuthCertUtils::Trusted ); } else if ( untrustedids.contains( id ) || !cert.isValid() ) { policy = QgsAuthCertUtils::getCertTrustName( QgsAuthCertUtils::Untrusted ); } coltxts << policy; QTreeWidgetItem *item( new QTreeWidgetItem( parent, coltxts, static_cast<int>( catype ) ) ); item->setIcon( 0, QgsApplication::getThemeIcon( QStringLiteral( "/mIconCertificate.svg" ) ) ); if ( !cert.isValid() ) { item->setForeground( 2, redb ); item->setIcon( 0, QgsApplication::getThemeIcon( QStringLiteral( "/mIconCertificateUntrusted.svg" ) ) ); } if ( trustedids.contains( id ) ) { item->setForeground( 3, greenb ); if ( cert.isValid() ) { item->setIcon( 0, QgsApplication::getThemeIcon( QStringLiteral( "/mIconCertificateTrusted.svg" ) ) ); } } else if ( untrustedids.contains( id ) ) { item->setForeground( 3, redb ); item->setIcon( 0, QgsApplication::getThemeIcon( QStringLiteral( "/mIconCertificateUntrusted.svg" ) ) ); } else if ( mDefaultTrustPolicy == QgsAuthCertUtils::Untrusted ) { item->setIcon( 0, QgsApplication::getThemeIcon( QStringLiteral( "/mIconCertificateUntrusted.svg" ) ) ); } item->setData( 0, Qt::UserRole, id ); } parent->sortChildren( 0, Qt::AscendingOrder ); }