diff ui/aboutdialog.cpp @ 427:d08e39b913ee

Added about dialog content and open the dialog via administration app.
author Raimund Renkert <rrenkert@intevation.de>
date Thu, 17 Apr 2014 12:56:23 +0200
parents 17e1c8f37d72
children d1819cd56dee
line wrap: on
line diff
--- a/ui/aboutdialog.cpp	Thu Apr 17 12:06:57 2014 +0200
+++ b/ui/aboutdialog.cpp	Thu Apr 17 12:56:23 2014 +0200
@@ -6,30 +6,79 @@
  * See LICENSE.txt for details.
  */
 #include "aboutdialog.h"
+#include <QApplication>
 #include <QDebug>
 #include <QVBoxLayout>
-#include <QTextEdit>
+#include <QHBoxLayout>
 #include <QPushButton>
+#include <QLabel>
 
 AboutDialog::AboutDialog(QMainWindow *parent) :
     QDialog(parent)
 {
+    setWindowTitle("About TrustBridge");
     setupGUI();
 }
 
 void AboutDialog::setupGUI()
 {
     QVBoxLayout *mainLayout = new QVBoxLayout(this);
-    QTextEdit *helpText = new QTextEdit;
-    helpText->setReadOnly(true);
-    helpText->setPlainText(tr("This dialog contains some text about the application"));
+    QHBoxLayout *headerLayout = new QHBoxLayout;
+    QVBoxLayout *headerTextLayout = new QVBoxLayout;
+    QVBoxLayout *centerLayout = new QVBoxLayout;
+    QHBoxLayout *bottomLayout = new QHBoxLayout;
 
-    QHBoxLayout *buttonLayout = new QHBoxLayout;
+    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("TrustBridge") + "</h2>");
+    QString version = tr("Version: ");
+    version.append(QApplication::applicationVersion());
+    QLabel *appVersion = new QLabel(version);
+
+    QFrame *headerSeparator = new QFrame();
+    headerSeparator->setFrameShape(QFrame::HLine);
+    headerSeparator->setFrameShadow(QFrame::Sunken);
+
+    headerTextLayout->addWidget(title);
+    headerTextLayout->addWidget(appVersion);
+    headerLayout->addWidget(logo);
+    headerLayout->addLayout(headerTextLayout);
+    headerLayout->insertStretch(2, 10);
+
+    QLabel *textDesc = new QLabel(tr("TrustBridge is a secure root certificate"
+        " installer for Windows and Linux."));
+    QLabel *textManage = new QLabel(tr("The root certificate lists are managed"
+        " by the German <a href=\"https://www.bsi.bund.de\">"
+        "Federal Office for Information Security (BSI)</a>.\n\n"));
+    QLabel *textDevel = new QLabel(tr("The software was developed by the companies"
+        " <a href=\"http://www.intevation.de\">Intevation GmbH</a> and "
+        " <a href=\"http://www.dn-systems.de\">DN-Systems GmbH</a>, <br>"
+        " contracted by the German Federal Office for Information Security (BSI).\n\n"));
+    QLabel *textLicense = new QLabel(tr("TrustBridge is Free Software licensed"
+        " under GNU GPL v2+.\n\nCopyright (C) 2014 by Bundesamt für Sicherheit"
+        " in der Informationstechnik"));
+
+    centerLayout->addWidget(headerSeparator);
+    centerLayout->addWidget(textDesc);
+    centerLayout->addWidget(textManage);
+    centerLayout->addWidget(textDevel);
+    centerLayout->addWidget(textLicense);
+    centerLayout->insertSpacing(2, 10);
+    centerLayout->insertSpacing(4, 10);
+    centerLayout->insertSpacing(6, 10);
+
     QPushButton *closeButton = new QPushButton(tr("Close"));
     connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
-    buttonLayout->insertStretch(0, 10);
-    buttonLayout->addWidget(closeButton);
+    bottomLayout->insertStretch(0, 10);
+    bottomLayout->addWidget(closeButton);
 
-    mainLayout->addWidget(helpText);
-    mainLayout->addLayout(buttonLayout);
+    QFrame *bottomSeparator = new QFrame();
+    bottomSeparator->setFrameShape(QFrame::HLine);
+    bottomSeparator->setFrameShadow(QFrame::Sunken);
+    mainLayout->addLayout(headerLayout);
+    mainLayout->addLayout(centerLayout);
+    mainLayout->addWidget(bottomSeparator);
+    mainLayout->addLayout(bottomLayout);
 }

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