A simple Qt based browser with no bullshit that supports PKCS#11 tokens (such as the SuisseID).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.9 KiB

/*! @file
@id $Id$
*/
// 1 2 3 4 5 6 7 8
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
#ifndef __PINDIALOG_HXX__
#define __PINDIALOG_HXX__
#include <ui_pinentry.h>
#include <QtGui/QDialog>
#include <QtCore/QDateTime>
#include <QtNetwork/QSslCertificate>
#include <QtCore/QDebug>
class PinEntry: public QDialog, public Ui::PinEntry {
Q_OBJECT;
public:
PinEntry(const QSslCertificate& cert, QWidget *parent=0): QDialog(parent) {
setupUi(this);
_commonName->setText(cert.subjectInfo(QSslCertificate::CommonName));
_organization->setText(cert.subjectInfo(QSslCertificate::Organization));
_email->setText(cert.alternateSubjectNames()
.find(QSsl::EmailEntry).value());
_serial->setText(cert.serialNumber());
_expiry->setText(cert.expiryDate().toString());
_issuerCa->setText(cert.issuerInfo(QSslCertificate::CommonName));
_commonName->setVisible(_commonName->text().size());
_commonNameLabel->setVisible(_commonName->text().size());
_organization->setVisible(_organization->text().size());
_organizationLabel->setVisible(_organization->text().size());
_email->setVisible(_email->text().size());
_emailLabel->setVisible(_email->text().size());
_serial->setVisible(_serial->text().size());
_serialLabel->setVisible(_serial->text().size());
_expiry->setVisible(_expiry->text().size());
_expiryLabel->setVisible(_expiry->text().size());
_issuerCa->setVisible(_issuerCa->text().size());
_issuerCaLabel->setVisible(_issuerCa->text().size());
}
PinEntry& retries(int num) {
_pinstatus->setCurrentIndex(num==-1?1:(num==-2?2:0));
_retries->setText(tr("there are %1 PIN attempts left").arg(num));
return *this;
}
QString pin() const {
return _pin->text();
}
};
#endif