annotate ui/aboutdialog.cpp @ 844:fa68e5aeeaac

Make links clickable and also change the about info in mainwindow.
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 30 Jul 2014 10:44:52 +0200
parents c27a9b2b096e
children 1171a4778562
rev   line source
404
17e1c8f37d72 Add License
Andre Heinecke <aheinecke@intevation.de>
parents: 199
diff changeset
1 /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
17e1c8f37d72 Add License
Andre Heinecke <aheinecke@intevation.de>
parents: 199
diff changeset
2 * Software engineering by Intevation GmbH
17e1c8f37d72 Add License
Andre Heinecke <aheinecke@intevation.de>
parents: 199
diff changeset
3 *
17e1c8f37d72 Add License
Andre Heinecke <aheinecke@intevation.de>
parents: 199
diff changeset
4 * This file is Free Software under the GNU GPL (v>=2)
17e1c8f37d72 Add License
Andre Heinecke <aheinecke@intevation.de>
parents: 199
diff changeset
5 * and comes with ABSOLUTELY NO WARRANTY!
17e1c8f37d72 Add License
Andre Heinecke <aheinecke@intevation.de>
parents: 199
diff changeset
6 * See LICENSE.txt for details.
17e1c8f37d72 Add License
Andre Heinecke <aheinecke@intevation.de>
parents: 199
diff changeset
7 */
199
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
8 #include "aboutdialog.h"
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
9 #include <QApplication>
199
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
10 #include <QDebug>
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
11 #include <QVBoxLayout>
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
12 #include <QHBoxLayout>
199
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
13 #include <QPushButton>
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
14 #include <QLabel>
199
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
15
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
16 AboutDialog::AboutDialog(QMainWindow *parent) :
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
17 QDialog(parent)
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
18 {
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
19 setWindowTitle("About TrustBridge");
199
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
20 setupGUI();
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
21 }
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
22
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
23 void AboutDialog::setupGUI()
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
24 {
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
25 QVBoxLayout *mainLayout = new QVBoxLayout(this);
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
26 QHBoxLayout *headerLayout = new QHBoxLayout;
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
27 QVBoxLayout *headerTextLayout = new QVBoxLayout;
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
28 QVBoxLayout *centerLayout = new QVBoxLayout;
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
29 QHBoxLayout *bottomLayout = new QHBoxLayout;
199
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
30
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
31 QLabel *title = new QLabel("<h2>" + tr("TrustBridge") + "</h2>");
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
32 QString version = tr("Version: ");
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
33 version.append(QApplication::applicationVersion());
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
34 QLabel *appVersion = new QLabel(version);
568
8dbfd0cb534b Made text selectable in about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents: 531
diff changeset
35 appVersion->setTextInteractionFlags(
8dbfd0cb534b Made text selectable in about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents: 531
diff changeset
36 Qt::TextSelectableByMouse |
8dbfd0cb534b Made text selectable in about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents: 531
diff changeset
37 Qt::TextSelectableByKeyboard);
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
38
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
39 headerTextLayout->addWidget(title);
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
40 headerTextLayout->addWidget(appVersion);
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
41 headerLayout->addLayout(headerTextLayout);
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
42 headerLayout->insertStretch(2, 10);
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
43
531
dec797c7230c Fix usage of OU / O
Andre Heinecke <aheinecke@intevation.de>
parents: 428
diff changeset
44 QLabel *textDesc = new QLabel(tr("TrustBridge is a root certificate"
807
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
45 " installer for Windows and GNU/Linux.<br/>") +
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
46 tr("The root certificate lists are managed"
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
47 " by the German <a href=\"https://www.bsi.bund.de\">"
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
48 "Federal Office for Information Security (BSI)</a>.<br/><br/>") +
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
49 tr("The software was developed by the companies"
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
50 " <a href=\"http://www.intevation.de\">Intevation GmbH</a> and "
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
51 " <a href=\"http://www.dn-systems.de\">DN-Systems GmbH</a>, <br>"
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
52 " contracted by the German Federal Office for Information Security (BSI).<br/><br/>") +
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
53 tr("TrustBridge is Free Software licensed"
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
54 " under GNU GPL v2+.<br/><br/>Copyright (C) 2014 by Bundesamt für Sicherheit"
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
55 " in der Informationstechnik"));
1e18d4c1932a Unify about dialog labels and Remove Trustbridge header
Andre Heinecke <andre.heinecke@intevation.de>
parents: 568
diff changeset
56 textDesc->setTextFormat(Qt::RichText);
568
8dbfd0cb534b Made text selectable in about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents: 531
diff changeset
57 textDesc->setTextInteractionFlags(
8dbfd0cb534b Made text selectable in about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents: 531
diff changeset
58 Qt::TextSelectableByMouse |
844
fa68e5aeeaac Make links clickable and also change the about info in mainwindow.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 843
diff changeset
59 Qt::TextSelectableByKeyboard |
fa68e5aeeaac Make links clickable and also change the about info in mainwindow.
Andre Heinecke <andre.heinecke@intevation.de>
parents: 843
diff changeset
60 Qt::LinksAccessibleByMouse);
843
c27a9b2b096e Allow to open external links from aboutdialog label.
Emanuel Schuetze <emanuel@intevation.de>
parents: 807
diff changeset
61 textDesc->setOpenExternalLinks(true);
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
62
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
63 centerLayout->addWidget(textDesc);
428
d1819cd56dee Updated dialog layout.
Raimund Renkert <rrenkert@intevation.de>
parents: 427
diff changeset
64 centerLayout->insertStretch(8, 10);
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
65
199
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
66 QPushButton *closeButton = new QPushButton(tr("Close"));
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
67 connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
68 bottomLayout->insertStretch(0, 10);
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
69 bottomLayout->addWidget(closeButton);
199
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
70
427
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
71 QFrame *bottomSeparator = new QFrame();
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
72 bottomSeparator->setFrameShape(QFrame::HLine);
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
73 bottomSeparator->setFrameShadow(QFrame::Sunken);
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
74 mainLayout->addLayout(headerLayout);
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
75 mainLayout->addLayout(centerLayout);
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
76 mainLayout->addWidget(bottomSeparator);
d08e39b913ee Added about dialog content and open the dialog via administration app.
Raimund Renkert <rrenkert@intevation.de>
parents: 404
diff changeset
77 mainLayout->addLayout(bottomLayout);
199
4790a26c2e8b Added about dialog.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff changeset
78 }

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