Mercurial > trustbridge
diff ui/createcertlistdialog.cpp @ 367:9491782a8f5a
Added dialog to create a signed certificate list file.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 15 Apr 2014 09:43:53 +0200 |
parents | |
children | 17e1c8f37d72 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/createcertlistdialog.cpp Tue Apr 15 09:43:53 2014 +0200 @@ -0,0 +1,91 @@ +#include "createcertlistdialog.h" +#include <QDebug> +#include <QDir> +#include <QPushButton> +#include <QGroupBox> +#include <QHBoxLayout> +#include <QVBoxLayout> +#include <QLabel> +#include <QFileDialog> + +CreateCertListDialog::CreateCertListDialog(QMainWindow *parent) : + QDialog(parent) +{ + setWindowTitle(tr("adminstrator - Create signed certificate list")); + setupGUI(); +} + +void CreateCertListDialog::setupGUI() +{ + /* Top level layout / widgets */ + QVBoxLayout *topLayout = new QVBoxLayout; + QHBoxLayout *headerLayout = new QHBoxLayout; + QVBoxLayout *centerLayout = new QVBoxLayout; + QHBoxLayout *bottomLayout = new QHBoxLayout; + QHBoxLayout *certLayout = new QHBoxLayout; + QHBoxLayout *saveLayout = new QHBoxLayout; + + QString descString = tr("Create a new, signed certificate list.\n"); + descString.append("Select the certificate and destination directory."); + QLabel *description = new QLabel(descString); + headerLayout->addWidget(description); + + QLabel *certLabel = new QLabel("Select certificate:"); + certLabel->setFixedWidth(140); + mCertFile = new QLineEdit(); + QPushButton *certSelect = new QPushButton("..."); + connect(certSelect, SIGNAL(clicked()), this, SLOT(openCertificateSelect())); + certSelect->setFixedWidth(30); + certLayout->addWidget(certLabel); + certLayout->addWidget(mCertFile); + certLayout->addWidget(certSelect); + + QLabel *saveLabel = new QLabel("Select target location:"); + saveLabel->setFixedWidth(140); + mSaveFile = new QLineEdit(); + QPushButton *saveSelect = new QPushButton("..."); + connect(saveSelect, SIGNAL(clicked()), this, SLOT(openSaveLocation())); + saveSelect->setFixedWidth(30); + saveLayout->addWidget(saveLabel); + saveLayout->addWidget(mSaveFile); + saveLayout->addWidget(saveSelect); + + centerLayout->addLayout(certLayout); + centerLayout->addLayout(saveLayout); + + QPushButton *create = new QPushButton(tr("Create List")); + connect(create, SIGNAL(clicked()), this, SLOT(createList())); + bottomLayout->insertStretch(0, 10); + bottomLayout->addWidget(create); + + topLayout->addLayout(headerLayout); + topLayout->addLayout(centerLayout); + topLayout->insertStretch(2, 10); + topLayout->addLayout(bottomLayout); + + setLayout(topLayout); + + return; +} + +void CreateCertListDialog::openCertificateSelect() +{ + QString certFile = QFileDialog::getOpenFileName( + this, tr("Select certificate"), QDir::homePath(), "*.pem *.der *.crt"); + mCertFile->setText(certFile); +} + +void CreateCertListDialog::openSaveLocation() +{ + QString saveFile = QFileDialog::getExistingDirectory( + this, tr("Select target location"), QDir::homePath()); + mSaveFile->setText(saveFile); +} + +void CreateCertListDialog::createList() +{ + qDebug() << "and now create the certificate list using:"; + qDebug() << "certificate: " << mCertFile->text(); + qDebug() << "target" << mSaveFile->text(); + // TODO +}