# HG changeset patch # User Andre Heinecke # Date 1395246994 0 # Node ID 01286d0872ca09c66030112cd29bbd6b5603c3f1 # Parent 1dd8e91972a8ef6215bf14c4ef574e827871c6c0 Add some UI in listupdatedialog diff -r 1dd8e91972a8 -r 01286d0872ca ui/listupdatedialog.cpp --- 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 +#include +#include +#include +#include +#include +#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; }