Mercurial > trustbridge
diff ui/managementwindow.cpp @ 327:3261b2a9cab7
Added a first version of the management application gui.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Tue, 08 Apr 2014 16:28:07 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/managementwindow.cpp Tue Apr 08 16:28:07 2014 +0200 @@ -0,0 +1,120 @@ +#include "managementwindow.h" + +#include <QDebug> +#include <QMessageBox> +#include <QAction> +#include <QMenu> +#include <QApplication> +#include <QHBoxLayout> +#include <QVBoxLayout> +#include <QGroupBox> +#include <QSplitter> +#include <QLabel> +#include <QImage> +#include <QCheckBox> + +ManagementWindow::ManagementWindow() { + createActions(); + createMenuBar(); + createContent(); +} + +void ManagementWindow::createActions() +{ +} + +void ManagementWindow::createMenuBar() +{ + menuBar = new QMenuBar(this); + QMenu *menu = new QMenu(tr("Menu"), menuBar); + menuBar->addMenu(menu); + QAction *createInstaller = menu->addAction(tr("Create Installer")); + QAction *settings = menu->addAction(tr("Settings")); + menu->addSeparator(); + QAction *help = menu->addAction(tr("Help")); + QAction *about = menu->addAction(tr("About")); + menu->addSeparator(); + QAction *quit = menu->addAction(tr("Quit")); + connect(createInstaller, SIGNAL(triggered()), this, SLOT(createInstaller())); + connect(settings, SIGNAL(triggered()), this, SLOT(showSettings())); + connect(help, SIGNAL(triggered()), this, SLOT(showHelp())); + connect(about, SIGNAL(triggered()), this, SLOT(showAbout())); + connect(quit, SIGNAL(triggered()), qApp, SLOT(quit())); + setMenuBar(menuBar); +} + +void ManagementWindow::createContent() +{ + // Create a central widget containing the main layout. + QWidget *base = new QWidget; + + // Layouts and Container + QVBoxLayout *mainLayout = new QVBoxLayout; + QVBoxLayout *certLayout = new QVBoxLayout; + QHBoxLayout *headerLayout = new QHBoxLayout; + QVBoxLayout *headerTextLayout = new QVBoxLayout; + QHBoxLayout *bottomLayout = new QHBoxLayout; + + // The certificate list + QGroupBox *certBox = new QGroupBox(tr("Managed Certificates")); + certificateList = new QListWidget; + certLayout->addWidget(certificateList); + certBox->setLayout(certLayout); + + // The header (icon, about text) + QImage *logoImage = new QImage(":/img/logo.png"); + QLabel *logo = new QLabel; + logo->setBackgroundRole(QPalette::Base); + logo->setPixmap(QPixmap::fromImage(*logoImage)); + QLabel *title = new QLabel("<h2>" + tr("Management Application") + "</h2>"); + QLabel *subTitle = new QLabel("This Software creates a signed file containing certificates"); + headerTextLayout->addWidget(title); + headerTextLayout->addWidget(subTitle); + headerLayout->addWidget(logo); + headerLayout->addLayout(headerTextLayout); + headerLayout->setStretch(0, 0); + headerLayout->setStretch(1, 10); + + // The buttons. + bottomLayout->setAlignment(Qt::AlignBottom); + saveButton = new QPushButton(tr("Save")); + loadButton = new QPushButton(tr("Load")); + addButton = new QPushButton(tr("Add")); + removeButton = new QPushButton(tr("Remove")); + bottomLayout->addWidget(saveButton); + bottomLayout->addWidget(loadButton); + bottomLayout->addWidget(addButton); + bottomLayout->addWidget(removeButton); + bottomLayout->insertStretch(4, 10); + + mainLayout->addLayout(headerLayout); + mainLayout->addWidget(certBox); + mainLayout->addLayout(bottomLayout); + + + // QMainWindow allready has a layout. All child layouts and widgets are + // managed in the central widget. + base->setLayout(mainLayout); + setCentralWidget(base); +} + +void ManagementWindow::showSettings() +{ + qDebug() << "show settingsdialog"; +} + +void ManagementWindow::showHelp() +{ + qDebug() << "show helpdialog"; +} + +void ManagementWindow::showAbout() +{ + qDebug() << "show aboutdialog"; +} + +void ManagementWindow::createInstaller() +{ + qDebug() << "create Installer"; +} +