Mercurial > trustbridge
view ui/createinstallerdialog.cpp @ 389:3be838c3e4d8
Handle installation success. Save / load last installed list.
This also adds a feature that you can specifiy the download
resource when release build is not set so that you can
update a list without modifying the server data.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Tue, 15 Apr 2014 19:05:49 +0200 |
parents | b67dd46cd4a9 |
children | 17e1c8f37d72 |
line wrap: on
line source
#include "createinstallerdialog.h" #include <QDebug> #include <QDir> #include <QPushButton> #include <QGroupBox> #include <QHBoxLayout> #include <QVBoxLayout> #include <QLabel> #include <QFileDialog> CreateInstallerDialog::CreateInstallerDialog(QMainWindow *parent) : QDialog(parent) { setWindowTitle(tr("adminstrator - Create signed installer binary")); setupGUI(); } void CreateInstallerDialog::setupGUI() { /* Top level layout / widgets */ QVBoxLayout *topLayout = new QVBoxLayout; QHBoxLayout *headerLayout = new QHBoxLayout; QVBoxLayout *centerLayout = new QVBoxLayout; QHBoxLayout *bottomLayout = new QHBoxLayout; QHBoxLayout *archiveLayout = new QHBoxLayout; QHBoxLayout *certLayout = new QHBoxLayout; QHBoxLayout *saveLayout = new QHBoxLayout; QString descString = tr("Create a new signed installer binary.\n"); descString.append("Select the archive, certificate and destination directory."); QLabel *description = new QLabel(descString); headerLayout->addWidget(description); QLabel *archiveLabel = new QLabel("Select source archive:"); archiveLabel->setFixedWidth(140); mArchiveFile = new QLineEdit(); QPushButton *archiveSelect = new QPushButton("..."); connect(archiveSelect, SIGNAL(clicked()), this, SLOT(openArchiveSelect())); archiveSelect->setFixedWidth(30); archiveLayout->addWidget(archiveLabel); archiveLayout->addWidget(mArchiveFile); archiveLayout->addWidget(archiveSelect); 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(archiveLayout); centerLayout->addLayout(certLayout); centerLayout->addLayout(saveLayout); QPushButton *create = new QPushButton(tr("Create Installer")); connect(create, SIGNAL(clicked()), this, SLOT(createInstaller())); bottomLayout->insertStretch(0, 10); bottomLayout->addWidget(create); topLayout->addLayout(headerLayout); topLayout->addLayout(centerLayout); topLayout->insertStretch(2, 10); topLayout->addLayout(bottomLayout); setLayout(topLayout); return; } void CreateInstallerDialog::openCertificateSelect() { QString certFile = QFileDialog::getOpenFileName( this, tr("Select certificate"), QDir::homePath(), "*.pem *.der *.crt"); mCertFile->setText(certFile); } void CreateInstallerDialog::openArchiveSelect() { QString archiveFile = QFileDialog::getOpenFileName( this, tr("Select source archive"), QDir::homePath(), "*.zip *.tar.gz"); mArchiveFile->setText(archiveFile); } void CreateInstallerDialog::openSaveLocation() { QString saveFile = QFileDialog::getExistingDirectory( this, tr("Select target location"), QDir::homePath()); mSaveFile->setText(saveFile); } void CreateInstallerDialog::createInstaller() { qDebug() << "and now create the installer using:"; qDebug() << "source archive: " << mArchiveFile->text(); qDebug() << "certificate: " << mCertFile->text(); qDebug() << "target" << mSaveFile->text(); // TODO }