Mercurial > trustbridge
annotate ui/administratorwindow.h @ 1012:a80abef948fa
(issue86) Initialize NSS db with empty pin in case it needs it.
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Tue, 02 Sep 2014 15:20:24 +0200 |
parents | 0b7bb4f68f5a |
children | 78798d3af8f0 |
rev | line source |
---|---|
404 | 1 /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik |
2 * Software engineering by Intevation GmbH | |
3 * | |
4 * This file is Free Software under the GNU GPL (v>=2) | |
5 * and comes with ABSOLUTELY NO WARRANTY! | |
6 * See LICENSE.txt for details. | |
7 */ | |
333
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
8 #ifndef ADMINSTRATORWINDOW_H |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
9 #define ADMINSTRATORWINDOW_H |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 /** |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 * @file administratorwindow.h |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 * @brief Administrator UI controller |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
14 */ |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
15 |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 #include <QMainWindow> |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 #include <QSettings> |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
18 #include <QMenuBar> |
335
811eec4e1b99
Use a table view with the new certificate table model in administrator app.
Raimund Renkert <rrenkert@intevation.de>
parents:
333
diff
changeset
|
19 #include <QTableView> |
333
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
20 #include <QPushButton> |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 |
343
e3d6de930c90
Updated the table ui in administrator app.
Raimund Renkert <rrenkert@intevation.de>
parents:
335
diff
changeset
|
22 #include "certificatelist.h" |
e3d6de930c90
Updated the table ui in administrator app.
Raimund Renkert <rrenkert@intevation.de>
parents:
335
diff
changeset
|
23 #include "certificatetablemodel.h" |
e3d6de930c90
Updated the table ui in administrator app.
Raimund Renkert <rrenkert@intevation.de>
parents:
335
diff
changeset
|
24 |
333
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 class QMenu; |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 class QAction; |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
27 |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 class AdministratorWindow : public QMainWindow |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
29 { |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
30 Q_OBJECT |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 public: |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 AdministratorWindow(); |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 |
463
5200b8e9b2ae
Rename tablemodel certificates and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
453
diff
changeset
|
35 /** @brief obtain a reference to the certificates currently in the model |
5200b8e9b2ae
Rename tablemodel certificates and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
453
diff
changeset
|
36 * @returns the currently shown certificates |
453
6dec8101793c
Rename settings and certlist and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
427
diff
changeset
|
37 */ |
463
5200b8e9b2ae
Rename tablemodel certificates and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
453
diff
changeset
|
38 const QList<Certificate>& certificates() const { |
5200b8e9b2ae
Rename tablemodel certificates and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
453
diff
changeset
|
39 return certificateModel->certificates(); |
5200b8e9b2ae
Rename tablemodel certificates and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
453
diff
changeset
|
40 } |
453
6dec8101793c
Rename settings and certlist and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
427
diff
changeset
|
41 |
6dec8101793c
Rename settings and certlist and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
427
diff
changeset
|
42 /** @brief get the settings for this application |
6dec8101793c
Rename settings and certlist and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
427
diff
changeset
|
43 * @returns a reference the applications settings object |
6dec8101793c
Rename settings and certlist and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
427
diff
changeset
|
44 */ |
6dec8101793c
Rename settings and certlist and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
427
diff
changeset
|
45 QSettings* settings() {return &mSettings;} |
6dec8101793c
Rename settings and certlist and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
427
diff
changeset
|
46 |
562
ccdc4c6b97ce
Log diff between initial certificate list and saved list to a logfile.
Raimund Renkert <rrenkert@intevation.de>
parents:
463
diff
changeset
|
47 /** @brief log the diff between the initial certificate list and the list |
ccdc4c6b97ce
Log diff between initial certificate list and saved list to a logfile.
Raimund Renkert <rrenkert@intevation.de>
parents:
463
diff
changeset
|
48 * saved as current. |
ccdc4c6b97ce
Log diff between initial certificate list and saved list to a logfile.
Raimund Renkert <rrenkert@intevation.de>
parents:
463
diff
changeset
|
49 * |
ccdc4c6b97ce
Log diff between initial certificate list and saved list to a logfile.
Raimund Renkert <rrenkert@intevation.de>
parents:
463
diff
changeset
|
50 * @param currentCerts Path to the current certificate list file. |
679
75cd2fbf9ac6
(Issue 9) Log key's sha256 fingerprint
Andre Heinecke <andre.heinecke@intevation.de>
parents:
565
diff
changeset
|
51 * @param certFingerprint The fingerprint of the signing key used. |
562
ccdc4c6b97ce
Log diff between initial certificate list and saved list to a logfile.
Raimund Renkert <rrenkert@intevation.de>
parents:
463
diff
changeset
|
52 */ |
679
75cd2fbf9ac6
(Issue 9) Log key's sha256 fingerprint
Andre Heinecke <andre.heinecke@intevation.de>
parents:
565
diff
changeset
|
53 void logChanges(const QString ¤tCerts, const QString &keyFingerprint); |
562
ccdc4c6b97ce
Log diff between initial certificate list and saved list to a logfile.
Raimund Renkert <rrenkert@intevation.de>
parents:
463
diff
changeset
|
54 |
565
9db7034b2d6c
Added method to get the current certificate list changes.
Raimund Renkert <rrenkert@intevation.de>
parents:
562
diff
changeset
|
55 /** @brief get the currently changed certificates. |
9db7034b2d6c
Added method to get the current certificate list changes.
Raimund Renkert <rrenkert@intevation.de>
parents:
562
diff
changeset
|
56 * @return a list of certificates. |
9db7034b2d6c
Added method to get the current certificate list changes.
Raimund Renkert <rrenkert@intevation.de>
parents:
562
diff
changeset
|
57 */ |
9db7034b2d6c
Added method to get the current certificate list changes.
Raimund Renkert <rrenkert@intevation.de>
parents:
562
diff
changeset
|
58 QList<Certificate> currentChanges(); |
9db7034b2d6c
Added method to get the current certificate list changes.
Raimund Renkert <rrenkert@intevation.de>
parents:
562
diff
changeset
|
59 |
333
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
60 private slots: |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
61 void createInstaller(); |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
62 void showAbout(); |
1001
0b7bb4f68f5a
(issue89) Add Help button
Andre Heinecke <andre.heinecke@intevation.de>
parents:
679
diff
changeset
|
63 void showHelp(); |
344
4454a4dc73a3
Added file dialog to load a certificate list from file.
Raimund Renkert <rrenkert@intevation.de>
parents:
343
diff
changeset
|
64 void loadCertificateFile(); |
368
f9c98f9e9f76
Show the new dialog on save button click.
Raimund Renkert <rrenkert@intevation.de>
parents:
358
diff
changeset
|
65 void saveCertificateFile(); |
358
9ba7b4b4c1de
Implemented the load from certificate file and set the edit state of certificates.
Raimund Renkert <rrenkert@intevation.de>
parents:
344
diff
changeset
|
66 void addCertificates(); |
376
9731d28b95af
Implemented 'remove certificate' in administrator app.
Raimund Renkert <rrenkert@intevation.de>
parents:
368
diff
changeset
|
67 void removeCertificates(); |
9731d28b95af
Implemented 'remove certificate' in administrator app.
Raimund Renkert <rrenkert@intevation.de>
parents:
368
diff
changeset
|
68 void clickedCertificate(const QModelIndex&); |
333
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
69 |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
70 private: |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
71 void createActions(); |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
72 void createMenuBar(); |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
73 void createContent(); |
344
4454a4dc73a3
Added file dialog to load a certificate list from file.
Raimund Renkert <rrenkert@intevation.de>
parents:
343
diff
changeset
|
74 void loadCertificateTable(); |
358
9ba7b4b4c1de
Implemented the load from certificate file and set the edit state of certificates.
Raimund Renkert <rrenkert@intevation.de>
parents:
344
diff
changeset
|
75 void addToCertificateTable(const QList<Certificate> &certs); |
679
75cd2fbf9ac6
(Issue 9) Log key's sha256 fingerprint
Andre Heinecke <andre.heinecke@intevation.de>
parents:
565
diff
changeset
|
76 QByteArray createLogEntries(const CertificateList &list, const QString &keyFingerprint); |
333
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
77 |
453
6dec8101793c
Rename settings and certlist and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
427
diff
changeset
|
78 QSettings mSettings; |
333
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
79 |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
80 QMenuBar *menuBar; |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
81 |
335
811eec4e1b99
Use a table view with the new certificate table model in administrator app.
Raimund Renkert <rrenkert@intevation.de>
parents:
333
diff
changeset
|
82 QTableView *certificateView; |
453
6dec8101793c
Rename settings and certlist and add accessors
Andre Heinecke <aheinecke@intevation.de>
parents:
427
diff
changeset
|
83 CertificateList mCertList; |
343
e3d6de930c90
Updated the table ui in administrator app.
Raimund Renkert <rrenkert@intevation.de>
parents:
335
diff
changeset
|
84 CertificateTabelModel *certificateModel; |
333
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
85 QPushButton *saveButton; |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
86 QPushButton *loadButton; |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
87 QPushButton *addButton; |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
88 QPushButton *removeButton; |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
89 }; |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
90 |
de94c4ec22b1
Renamed management to administrator application.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
91 #endif // ADMINSTRATORWINDOW_H |