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";
+}
+

http://wald.intevation.org/projects/trustbridge/