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
+}

http://wald.intevation.org/projects/trustbridge/