Mercurial > trustbridge
diff ui/listupdatedialog.cpp @ 80:01286d0872ca
Add some UI in listupdatedialog
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 19 Mar 2014 16:36:34 +0000 |
parents | f22a99f7cb69 |
children | 1f27d6db5ee3 |
line wrap: on
line diff
--- a/ui/listupdatedialog.cpp Wed Mar 19 16:35:49 2014 +0000 +++ b/ui/listupdatedialog.cpp Wed Mar 19 16:36:34 2014 +0000 @@ -1,5 +1,11 @@ #include "listupdatedialog.h" #include <QDebug> +#include <QPushButton> +#include <QGroupBox> +#include <QHBoxLayout> +#include <QListWidget> +#include <QVBoxLayout> +#include "certificate.h" ListUpdateDialog::ListUpdateDialog(QDialog *parent, const CertificateList &listToInstall) : @@ -12,5 +18,45 @@ void ListUpdateDialog::setupGUI() { + /* Top level layout / widgets */ + QVBoxLayout *topLayout = new QVBoxLayout; + QHBoxLayout *listLayout = new QHBoxLayout; + QPushButton *executeUpdate = new QPushButton(tr("Update Stores")); + + /* The remove groups */ + QVBoxLayout *removeGroupLayout = new QVBoxLayout; + QListWidget *removeListWidget = new QListWidget; + removeGroupLayout->addWidget(removeListWidget); + QGroupBox *removeGroup = new QGroupBox(tr("Select certificates to be removed")); + removeGroup->setLayout(removeGroupLayout); + + /* The install group */ + QVBoxLayout *installGroupLayout = new QVBoxLayout; + QListWidget *installListWidget = new QListWidget; + QGroupBox *installGroup = new QGroupBox(tr("Select certificates to install")); + installGroupLayout->addWidget(installListWidget); + installGroup->setLayout(installGroupLayout); + + foreach (const Certificate& cert, mCertificateList.getInstallCertificates()) { + if (!cert.isValid()) { + qWarning() << "Invalid certificate in list"; + continue; + } + QListWidgetItem* item = new QListWidgetItem(cert.shortDescription()); + item->setFlags(item->flags() | Qt::ItemIsUserCheckable); + item->setCheckState(Qt::Checked); + installListWidget->addItem(item); + } + + /* Add groups to layout */ + listLayout->addWidget(installGroup); + listLayout->addWidget(removeGroup); + + /* Fill top level layout */ + topLayout->addLayout(listLayout); + topLayout->addWidget(executeUpdate); + + setLayout(topLayout); + return; }