Mercurial > trustbridge
diff ui/administratorwindow.cpp @ 336:26817025351f
merge
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 09 Apr 2014 13:49:59 +0000 |
parents | 811eec4e1b99 |
children | e3d6de930c90 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/administratorwindow.cpp Wed Apr 09 13:49:59 2014 +0000 @@ -0,0 +1,131 @@ +#include "administratorwindow.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> +#include <QHeaderView> + +#include "certificatetablemodel.h" + +AdministratorWindow::AdministratorWindow() { + createActions(); + createMenuBar(); + createContent(); +} + +void AdministratorWindow::createActions() +{ +} + +void AdministratorWindow::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 AdministratorWindow::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")); + certificateView = new QTableView; + certificateView->setModel(new CertificateTabelModel()); + certificateView->setColumnWidth(0, 30); + certificateView->setColumnWidth(2, 130); + certificateView->setColumnWidth(3, 130); + certificateView->setColumnWidth(4, 200); + + certLayout->addWidget(certificateView); + 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("Administrator 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); + certificateView->horizontalHeader()->setSectionResizeMode(1, + QHeaderView::Stretch); +} + +void AdministratorWindow::showSettings() +{ + qDebug() << "show settingsdialog"; +} + +void AdministratorWindow::showHelp() +{ + qDebug() << "show helpdialog"; +} + +void AdministratorWindow::showAbout() +{ + qDebug() << "show aboutdialog"; +} + +void AdministratorWindow::createInstaller() +{ + qDebug() << "create Installer"; +} +