# HG changeset patch # User Raimund Renkert # Date 1397547833 -7200 # Node ID 9491782a8f5a9d90b06e0078e2051756349fc3f8 # Parent 857ae1ffdd6fb33764ea51894db290a526e10859 Added dialog to create a signed certificate list file. diff -r 857ae1ffdd6f -r 9491782a8f5a ui/createcertlistdialog.cpp --- /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 +#include +#include +#include +#include +#include +#include +#include + +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 +} diff -r 857ae1ffdd6f -r 9491782a8f5a ui/createcertlistdialog.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/createcertlistdialog.h Tue Apr 15 09:43:53 2014 +0200 @@ -0,0 +1,35 @@ +#ifndef CREATECERTLISTDIALOG_H +#define CREATECERTLISTDIALOG_H + +#include +#include +#include +/** + * @file createinstallerdialog.h + * @brief The dialog to show settings and create an installer. + */ + +class QListWidget; + +class CreateCertListDialog : public QDialog +{ + Q_OBJECT +public: + /** @brief Create a dialog showing settings for the create certificate list + * process + * */ + CreateCertListDialog(QMainWindow *parent); + +private: + void setupGUI(); + + QLineEdit *mCertFile; + QLineEdit *mSaveFile; + +private slots: + void openCertificateSelect(); + void openSaveLocation(); + void createList(); +}; + +#endif // CREATECERTLISTDIALOG_H