rrenkert@566: /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik rrenkert@566: * Software engineering by Intevation GmbH rrenkert@566: * rrenkert@566: * This file is Free Software under the GNU GPL (v>=2) rrenkert@566: * and comes with ABSOLUTELY NO WARRANTY! rrenkert@566: * See LICENSE.txt for details. rrenkert@566: */ rrenkert@566: #include "certificatediffdialog.h" rrenkert@566: #include "administratorwindow.h" rrenkert@566: rrenkert@566: #include rrenkert@566: #include rrenkert@566: #include rrenkert@566: #include rrenkert@566: #include rrenkert@566: #include rrenkert@566: rrenkert@566: CertificateDiffDialog::CertificateDiffDialog(AdministratorWindow *parent) : rrenkert@566: QDialog(parent), rrenkert@566: mAdminWindow(parent) rrenkert@566: { rrenkert@566: setWindowTitle(tr("TrustBridge - List changes")); rrenkert@566: setupGUI(); rrenkert@566: resize(560, 200); rrenkert@566: } rrenkert@566: rrenkert@566: void CertificateDiffDialog::setupGUI() rrenkert@566: { rrenkert@566: /* Top level layout / widgets */ rrenkert@566: QVBoxLayout *topLayout = new QVBoxLayout; rrenkert@566: QHBoxLayout *buttonLayout = new QHBoxLayout; rrenkert@566: rrenkert@566: QLabel *header = new QLabel(tr("The following certificates are changed:")); rrenkert@566: rrenkert@566: QScrollArea *content = new QScrollArea; rrenkert@566: QList changes = mAdminWindow->currentChanges(); rrenkert@566: QLabel *certLabel = new QLabel; rrenkert@566: certLabel->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::TextSelectableByKeyboard); rrenkert@566: QString certString; rrenkert@566: foreach(const Certificate& cert, changes) { rrenkert@566: QString status = cert.isInstallCert() ? tr("New") : tr("Remove"); rrenkert@566: certString += status + ": " + rrenkert@566: cert.subjectCN() + " " + rrenkert@566: cert.fingerprint() + "\n"; rrenkert@566: } rrenkert@566: certLabel->setText(certString); rrenkert@566: rrenkert@566: content->setWidget(certLabel); rrenkert@566: rrenkert@566: QPushButton *accept = new QPushButton(tr("Ok")); rrenkert@566: QPushButton *reject = new QPushButton(tr("Cancel")); rrenkert@566: connect(accept, SIGNAL(clicked()), this, SLOT(accept())); rrenkert@566: connect(reject, SIGNAL(clicked()), this, SLOT(reject())); rrenkert@566: rrenkert@566: buttonLayout->insertStretch(0, 10); rrenkert@566: buttonLayout->addWidget(accept); rrenkert@566: buttonLayout->addWidget(reject); rrenkert@566: rrenkert@566: QFrame *bottomSeparator = new QFrame(); rrenkert@566: bottomSeparator->setFrameShape(QFrame::HLine); rrenkert@566: bottomSeparator->setFrameShadow(QFrame::Sunken); rrenkert@566: rrenkert@566: topLayout->addWidget(header); rrenkert@566: topLayout->addWidget(content); rrenkert@566: topLayout->addWidget(bottomSeparator); rrenkert@566: topLayout->addLayout(buttonLayout); rrenkert@566: rrenkert@566: setLayout(topLayout); rrenkert@566: }