Mercurial > trustbridge
annotate ui/mainwindow.h @ 1242:e4aff35ef8fd
(issue143) Make uninstallation of nss-installer conditional on Windows
author | Andre Heinecke <andre.heinecke@intevation.de> |
---|---|
date | Wed, 24 Sep 2014 17:55:14 +0200 |
parents | dc1941e04373 |
children | 9a482182f80f |
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 */ | |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
8 #ifndef MAINWINDOW_H |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
9 #define MAINWINDOW_H |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
10 |
71
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
11 /** |
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
12 * @file mainwindow.h |
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
13 * @brief Main UI controller |
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
14 */ |
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
15 |
153
252ffe6e27fd
Changed type of MainWindow from QDialog to QMainWindow.
Raimund Renkert <rrenkert@intevation.de>
parents:
71
diff
changeset
|
16 #include <QMainWindow> |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
17 #include <QSettings> |
155
c0fdb8d336cf
Added menubar/menu and method stubs to mainwindow.
Raimund Renkert <rrenkert@intevation.de>
parents:
153
diff
changeset
|
18 #include <QMenuBar> |
189
5f0d45ca9de4
Show certificates in the list view and details in the textfield.
Raimund Renkert <rrenkert@intevation.de>
parents:
187
diff
changeset
|
19 #include <QListWidget> |
5f0d45ca9de4
Show certificates in the list view and details in the textfield.
Raimund Renkert <rrenkert@intevation.de>
parents:
187
diff
changeset
|
20 #include <QTextEdit> |
271
1ae15ea73850
Some GUI desing and layout changes.
Raimund Renkert <rrenkert@intevation.de>
parents:
212
diff
changeset
|
21 #include <QPushButton> |
432
16b5cd858571
Updated layout and certificate details in trustbridge installer.
Raimund Renkert <rrenkert@intevation.de>
parents:
404
diff
changeset
|
22 #include <QLabel> |
16b5cd858571
Updated layout and certificate details in trustbridge installer.
Raimund Renkert <rrenkert@intevation.de>
parents:
404
diff
changeset
|
23 #include <QCheckBox> |
584
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
24 #include <QScrollArea> |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
25 |
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
26 #include "downloader.h" |
71
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
27 #include "certificatelist.h" |
584
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
28 #include "certificatelistwidget.h" |
722
b0929968562a
(Issue31) Add textoverlaybutton to show a text in the button.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
718
diff
changeset
|
29 #include "textoverlaybutton.h" |
871
4efd6378c001
(issue51) Add fallback in case systemtray is unavailable.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
754
diff
changeset
|
30 #include "trayicon.h" |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
31 class QMenu; |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
32 class QAction; |
19
9af6198deb8e
Add timed trigger for the message
Andre Heinecke <aheinecke@intevation.de>
parents:
17
diff
changeset
|
33 class QTimer; |
693
0fc1a20adaff
(Issue 27) Change Quit button text depending on changes or no changes.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
690
diff
changeset
|
34 class QPushButton; |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
35 |
432
16b5cd858571
Updated layout and certificate details in trustbridge installer.
Raimund Renkert <rrenkert@intevation.de>
parents:
404
diff
changeset
|
36 |
153
252ffe6e27fd
Changed type of MainWindow from QDialog to QMainWindow.
Raimund Renkert <rrenkert@intevation.de>
parents:
71
diff
changeset
|
37 class MainWindow : public QMainWindow |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
38 { |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
39 Q_OBJECT |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
40 |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
41 public: |
365
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
42 /**@brief create a new Main Window object |
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
43 * |
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
44 * In tray mode this window is not shown and only shows |
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
45 * notification messages if there is some actionable state |
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
46 * reached. If tray mode is true it also exits after |
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
47 * an update check. |
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
48 * |
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
49 * @param[in] trayMode set the tray mode |
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
50 * */ |
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
51 MainWindow(bool trayMode); |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
52 |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
53 /**@brief set the current message to be shown |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
54 * |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
55 * The message will be shown at intervals in the system tray |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
56 * or as a messagebox if no stystemtray is available. |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
57 * |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
58 * @param [in] message The message to show. |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
59 */ |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
60 void setMessage(const QString message) {mCurMessage = message;} |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
61 /**@brief accessor for the current message. |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
62 * |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
63 * @returns the currently shown message.*/ |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
64 QString getMessage() {return mCurMessage;} |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
65 |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
66 /** |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
67 * @enum CurrentState |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
68 * @brief The internal state of the application |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
69 */ |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
70 enum CurrentState { |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
71 NewListAvailable, /*! A new certificate list is available. */ |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
72 NewSoftwareAvailable, /*! A new Software is avaialable. */ |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
73 DownloadingSW, /*! Download in progress. */ |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
74 TransferError, /*! An error happened on the last connection. */ |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
75 NothingChanged /*! Update was susccessfull but nothing new is available. */ |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
76 }; |
1227
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
77 |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
78 /** |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
79 * @enum LongTimeErrors |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
80 * @brief Errors that should be stored and only shown after some time has elapsed. |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
81 */ |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
82 enum LongTimeErrors { |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
83 lteInvalidSoftware, /*! The downloaded Software was invalid. */ |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
84 lteInvalidCertificate, /*! The SSL certificate of the download server was wrong. */ |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
85 lteInvalidList, /*! The downloaded Certificate List was invalid. */ |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
86 lteNoConnection |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
87 }; |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
88 |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
89 /** @brief accessor for the current state. */ |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
90 CurrentState getState() {return mCurState;} |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
91 /** @brief set the current state. */ |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
92 void setState(CurrentState state) {mCurState = state;} |
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
93 |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
94 private slots: |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
95 /** @brief Shows the current message to the user. */ |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
96 void showMessage(); |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
97 /** @brief User has clicked on the message notification. */ |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
98 void iconActivated(QSystemTrayIcon::ActivationReason reason); |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
99 /** @brief Check if new updates are available. |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
100 * |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
101 * @param[in] downloadSW wether or not new software should be downloaded. |
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
102 */ |
461
1ce835c40eb7
Ask the user if software updates should be installed.
Raimund Renkert <rrenkert@intevation.de>
parents:
456
diff
changeset
|
103 void checkUpdates(bool downloadSW = false); |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
104 /**@brief parse a new certificate list and update the UI*/ |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
105 void handleNewList(const QString& fileName, const QDateTime& modDate); |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
106 /**@brief handle a Software update, update state and inform the user */ |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
107 void handleNewSW(const QString& fileName, const QDateTime& modDate); |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
108 /**@brief an error occured while downloading.*/ |
45
c6125d73faf4
Move SSLConnection into it's own class
Andre Heinecke <aheinecke@intevation.de>
parents:
19
diff
changeset
|
109 void downloaderError(const QString &message, SSLConnection::ErrorCode error); |
71
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
110 /** @brief Trigger the appropiate action depending on the state */ |
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
111 void messageClicked(); |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
112 /** @brief An error occured during certificate installation .*/ |
365
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
113 void installerError(const QString& errMsg); |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
114 /** @brief Certificate installation was successful. */ |
389
3be838c3e4d8
Handle installation success. Save / load last installed list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
375
diff
changeset
|
115 void installerSuccess(); |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
116 /** @brief Install the currently selected certificates */ |
365
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
117 void installCerts(); |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
118 /** @brief Handle a toggle action in the manual certificate list */ |
640
626507197360
Updated mainwindow and handle certificate lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
628
diff
changeset
|
119 void toggleInManual(bool state, const Certificate &cert); |
1228
206eb5006c56
Improve mainwindow documentation
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1227
diff
changeset
|
120 /** @brief Remove a certificate from the manual list. */ |
640
626507197360
Updated mainwindow and handle certificate lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
628
diff
changeset
|
121 void removeFromManual(bool state, const Certificate &cert); |
551
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
122 |
584
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
123 void togglePages(int button); |
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
124 void toggleUpdatesNew(); |
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
125 void toggleUpdatesRemove(); |
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
126 void toggleUpdatesManual(); |
716
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
127 |
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
128 /** Reflect change list states in the UI |
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
129 * |
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
130 * This slot should be called each time the contents or selection |
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
131 * state of one of the certificate lists change to update the |
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
132 * UI elements accordingly. |
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
133 * |
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
134 * @param[in] selected unused. */ |
628
3a9c0f38bbad
Made certificate lists member of mainwindow and added some temporary debug msgs.
Raimund Renkert <rrenkert@intevation.de>
parents:
584
diff
changeset
|
135 void listChanged(int selected); |
584
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
136 |
609
292c590ba9cb
Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents:
594
diff
changeset
|
137 /** @brief check for running software that needs to close before installing |
292c590ba9cb
Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents:
594
diff
changeset
|
138 * |
292c590ba9cb
Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents:
594
diff
changeset
|
139 * This function calls installCerts if no software is running otherwise |
292c590ba9cb
Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents:
594
diff
changeset
|
140 * it informs the user about the software that still needs to be closed. |
292c590ba9cb
Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents:
594
diff
changeset
|
141 */ |
292c590ba9cb
Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents:
594
diff
changeset
|
142 void checkAndInstallCerts(); |
292c590ba9cb
Add warning dialog for running firefox and tunderbird processes
Andre Heinecke <andre.heinecke@intevation.de>
parents:
594
diff
changeset
|
143 |
551
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
144 /** @brief get the last modified date on the download server for |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
145 * the current version. |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
146 * |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
147 * After the initial installation this function can be used to |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
148 * determine the DateTime that corresponds to the currently installed |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
149 * version on the download server. |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
150 * |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
151 * Calls setLastModifiedSWDate on success. Otherwise downloaderError |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
152 * is triggered. */ |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
153 void getLastModForCurrentVersion(); |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
154 |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
155 /** @brief set the last modified software date/time |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
156 * |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
157 * The last modifiedSWDate is the corresponding last modified |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
158 * timestamp from the download server vor the currently installed version. |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
159 */ |
15121735805e
Start implementation of software update installation
Andre Heinecke <aheinecke@intevation.de>
parents:
531
diff
changeset
|
160 void setLastModifiedSWDate(const QDateTime &date); |
486
fa56a9403939
Lookup the last modified date for software installer after first installation.
Raimund Renkert <rrenkert@intevation.de>
parents:
481
diff
changeset
|
161 |
372
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
162 /** @brief saves the currently unselected certificates |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
163 * |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
164 * This creates / updates a qsettings section that |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
165 * [unselected] that contains the certificates that |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
166 * were unselected previously. |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
167 * |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
168 * Unselected are certificates that are unchecked |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
169 * in the certListWidget |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
170 * |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
171 * Returns false on error. |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
172 */ |
640
626507197360
Updated mainwindow and handle certificate lists.
Raimund Renkert <rrenkert@intevation.de>
parents:
628
diff
changeset
|
173 bool saveUnselectedCertificates(QStringList unselected); |
372
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
174 |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
175 /** @brief loads previously unselected certificates from settings |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
176 * |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
177 * The certificates are strored in the list mPreviouslyUnselected. |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
178 * |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
179 * On error mPreviouslyUnselected is empty after this call. |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
180 */ |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
181 void loadUnselectedCertificates(); |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
182 |
708
bd48fae793b6
(Issue25) Log update check success, change header labels.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
693
diff
changeset
|
183 /** @brief log / store a successful downloader run |
bd48fae793b6
(Issue25) Log update check success, change header labels.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
693
diff
changeset
|
184 * |
bd48fae793b6
(Issue25) Log update check success, change header labels.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
693
diff
changeset
|
185 * A downloader run is successful if the finished signal |
bd48fae793b6
(Issue25) Log update check success, change header labels.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
693
diff
changeset
|
186 * is emited and the state is not TransferError |
bd48fae793b6
(Issue25) Log update check success, change header labels.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
693
diff
changeset
|
187 */ |
bd48fae793b6
(Issue25) Log update check success, change header labels.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
693
diff
changeset
|
188 void updateCheckSuccess(); |
bd48fae793b6
(Issue25) Log update check success, change header labels.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
693
diff
changeset
|
189 |
940
7c89c5dc2200
(issue89) Add ui to open help in browser
Andre Heinecke <andre.heinecke@intevation.de>
parents:
871
diff
changeset
|
190 /** @brief open the manual in an external browser window |
7c89c5dc2200
(issue89) Add ui to open help in browser
Andre Heinecke <andre.heinecke@intevation.de>
parents:
871
diff
changeset
|
191 */ |
7c89c5dc2200
(issue89) Add ui to open help in browser
Andre Heinecke <andre.heinecke@intevation.de>
parents:
871
diff
changeset
|
192 void showHelp(); |
7c89c5dc2200
(issue89) Add ui to open help in browser
Andre Heinecke <andre.heinecke@intevation.de>
parents:
871
diff
changeset
|
193 |
956
879a634d0a40
(issue41) Add proxy support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
940
diff
changeset
|
194 /** @brief open the proxy settings dialog */ |
879a634d0a40
(issue41) Add proxy support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
940
diff
changeset
|
195 void showProxySettings(); |
879a634d0a40
(issue41) Add proxy support
Andre Heinecke <andre.heinecke@intevation.de>
parents:
940
diff
changeset
|
196 |
686
a2e94e88d304
(Issue27) Close the app on close event.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
654
diff
changeset
|
197 protected: |
690
e4abb41484a0
(issue 27)Only close if no new list is available
Andre Heinecke <andre.heinecke@intevation.de>
parents:
686
diff
changeset
|
198 virtual void closeEvent(QCloseEvent *event); |
686
a2e94e88d304
(Issue27) Close the app on close event.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
654
diff
changeset
|
199 |
559
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
200 protected slots: |
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
201 /** @brief cleanup and close the main window |
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
202 * |
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
203 * Perform a clean exit (saving state etc.) and close |
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
204 * the application */ |
563
aee3eb10bbba
Add unit test for sw update execution and fix shell execute params
Andre Heinecke <aheinecke@intevation.de>
parents:
559
diff
changeset
|
205 virtual void closeApp(); |
447
b1b14daf2116
Save the select state of certificate items when closing the app.
Raimund Renkert <rrenkert@intevation.de>
parents:
445
diff
changeset
|
206 |
559
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
207 /* @brief Execute the file fileName to install the softwareupdate. |
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
208 * |
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
209 * Once the installer process is started this function terminates |
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
210 * the application. */ |
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
211 void installNewSW(const QString& fileName, const QDateTime& modDate); |
dd8a295d5b4d
Add framework for mainwindow testing
Andre Heinecke <aheinecke@intevation.de>
parents:
551
diff
changeset
|
212 |
1061
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
213 /** @brief show an error message |
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
214 * |
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
215 * This is a wrapper around QMessageBox to allow for central |
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
216 * styling of error messages. |
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
217 */ |
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
218 void showErrorMessage(const QString &msg); |
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
219 |
722
b0929968562a
(Issue31) Add textoverlaybutton to show a text in the button.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
718
diff
changeset
|
220 signals: |
b0929968562a
(Issue31) Add textoverlaybutton to show a text in the button.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
718
diff
changeset
|
221 /** @brief emits the changecount as a string when it changes */ |
b0929968562a
(Issue31) Add textoverlaybutton to show a text in the button.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
718
diff
changeset
|
222 void changesChanged(const QString& cnt); |
b0929968562a
(Issue31) Add textoverlaybutton to show a text in the button.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
718
diff
changeset
|
223 |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
224 private: |
1227
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
225 /** @brief Get a installer file name that can be shown to a user. |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
226 * |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
227 * This copys the real file to a temporary location with a user |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
228 * visible localized file name. Does error Handling. |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
229 * |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
230 * @param [in] realFileName The original file name. |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
231 * |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
232 * @returns a null string in case on errors. The new filename |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
233 * otherwise. |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
234 */ |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
235 QString getPrettyInstallerName(QString realFileName); |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
236 |
716
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
237 /** @brief the combined number of changes made in all lists */ |
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
238 int changeCount(); |
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
239 |
722
b0929968562a
(Issue31) Add textoverlaybutton to show a text in the button.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
718
diff
changeset
|
240 /** @brief use this to set the change count */ |
b0929968562a
(Issue31) Add textoverlaybutton to show a text in the button.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
718
diff
changeset
|
241 void setChangeCount(int cnt); |
b0929968562a
(Issue31) Add textoverlaybutton to show a text in the button.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
718
diff
changeset
|
242 |
587
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
243 /** @brief check the integrity of available certificate lists. |
71
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
244 * |
594
c944de9900de
Add installation parameters with correct quoting
Andre Heinecke <aheinecke@intevation.de>
parents:
587
diff
changeset
|
245 * Note: Do not use this as a local trust check as this only works on |
71
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
246 * FileNames where the underlying files can change. This |
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
247 * is just meant to check if the downloaded data was somehow |
389
3be838c3e4d8
Handle installation success. Save / load last installed list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
375
diff
changeset
|
248 * removed or corrupted. It also initializes mListToInstall |
3be838c3e4d8
Handle installation success. Save / load last installed list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
375
diff
changeset
|
249 * and mInstalledList. |
71
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
250 */ |
587
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
251 void verifyListData(); |
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
252 |
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
253 /** @brief check the integrity of available software updates. |
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
254 * |
594
c944de9900de
Add installation parameters with correct quoting
Andre Heinecke <aheinecke@intevation.de>
parents:
587
diff
changeset
|
255 * Note: Do not use this as a local trust check as this only works on |
587
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
256 * FileNames where the underlying files can change. This |
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
257 * is just meant to check if the downloaded data was somehow |
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
258 * removed or corrupted. |
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
259 */ |
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
260 void verifySWData(); |
02a89710a7cd
Split up list and software verification and use it
Andre Heinecke <aheinecke@intevation.de>
parents:
563
diff
changeset
|
261 |
1227
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
262 /** @brief note an long time error in the settings and show a message. |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
263 * |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
264 * Saves a software verify error in the settings and notifies the |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
265 * user if necessary. |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
266 * |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
267 * @param [in] lte The error to handle. |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
268 * @param [in] reset weather or not the error count should be reset. |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
269 * |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
270 **/ |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
271 void handleLTE(LongTimeErrors lte, bool reset = false); |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
272 |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
273 /** @brief note a verify error in the settings and show a message |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
274 * |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
275 * Saves a software verify error in the settings and notifies the |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
276 * user if necessary.*/ |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
277 void swVerifyError(); |
a1e990947172
(issue38) Add long time error handling.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1109
diff
changeset
|
278 |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
279 void createTrayIcon(); |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
280 void createActions(); |
743
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
281 void loadCertificateList(); |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
282 |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
283 /** @brief UI setup */ |
739
5f0fca113ff4
Factor out Info Panel creation.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
722
diff
changeset
|
284 void setupGUI(); |
743
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
285 |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
286 /** @brief create and set up the info widget (accessible via button panel) */ |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
287 QWidget *createInfoWidget(); |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
288 /** @brief create and set up the updates widget (accessible via button panel) */ |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
289 QWidget *createUpdatesWidget(); |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
290 /** @brief create and set up the certifcates to install widget |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
291 * (accessible via button panel) */ |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
292 QWidget *createInstallWidget(); |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
293 /** @brief create and set up the certifcates to remove widget |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
294 * (accessible via button panel) */ |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
295 QWidget *createRemoveWidget(); |
2 | 296 |
1061
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
297 /** @brief true if the software is running in tray mode*/ |
365
75f7288ad67b
Switch from listupdatedialog to installwrapper. Minor UI improvements
Andre Heinecke <aheinecke@intevation.de>
parents:
271
diff
changeset
|
298 const bool mTrayMode; |
1061
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
299 |
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
300 /** @brief The currently shown message */ |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
301 QString mCurMessage; |
1061
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
302 /** @brief The version the Software thinks is installed */ |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
303 QString mInstalledSWVersion; |
1061
db831a204a6b
(issue38) Show error message as messagebox if the window is visible
Andre Heinecke <andre.heinecke@intevation.de>
parents:
956
diff
changeset
|
304 /** @brief The certificate list the Software thinks is installed */ |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
305 QString mInstalledListVersion; |
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
306 |
17
c12825a651ed
Read out content-length and use this to skip existing files
Andre Heinecke <aheinecke@intevation.de>
parents:
16
diff
changeset
|
307 QSettings mSettings; |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
308 |
871
4efd6378c001
(issue51) Add fallback in case systemtray is unavailable.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
754
diff
changeset
|
309 TrayIcon *mTrayIcon; |
19
9af6198deb8e
Add timed trigger for the message
Andre Heinecke <aheinecke@intevation.de>
parents:
17
diff
changeset
|
310 QTimer *mMessageTimer; |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
311 QMenu *mTrayMenu; |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
312 QAction *mCheckUpdates; |
2 | 313 QAction *mQuitAction; |
16
225a5ec20dad
Use QSettings and manage downloader from mainwindow.
Andre Heinecke <aheinecke@intevation.de>
parents:
2
diff
changeset
|
314 CurrentState mCurState; |
155
c0fdb8d336cf
Added menubar/menu and method stubs to mainwindow.
Raimund Renkert <rrenkert@intevation.de>
parents:
153
diff
changeset
|
315 QMenuBar *mMenuBar; |
693
0fc1a20adaff
(Issue 27) Change Quit button text depending on changes or no changes.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
690
diff
changeset
|
316 QPushButton *mQuitButton; |
71
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
317 |
372
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
318 /* The current list that should be installed */ |
71
f22a99f7cb69
Add certificatelist to install as member. Look for updates on startup
Andre Heinecke <aheinecke@intevation.de>
parents:
45
diff
changeset
|
319 CertificateList mListToInstall; |
389
3be838c3e4d8
Handle installation success. Save / load last installed list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
375
diff
changeset
|
320 /* The last list that we installed */ |
3be838c3e4d8
Handle installation success. Save / load last installed list.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
375
diff
changeset
|
321 CertificateList mInstalledList; |
372
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
322 /* Previously made "unselect" choices in the form of |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
323 * base64lines with I:/R: prefix */ |
6cc124e79066
Add save/load unselected and add role enumerator
Andre Heinecke <andre.heinecke@intevation.de>
parents:
365
diff
changeset
|
324 QStringList mPreviouslyUnselected; |
189
5f0d45ca9de4
Show certificates in the list view and details in the textfield.
Raimund Renkert <rrenkert@intevation.de>
parents:
187
diff
changeset
|
325 |
456
37a97621b466
Added label for current and updated list date.
Raimund Renkert <rrenkert@intevation.de>
parents:
447
diff
changeset
|
326 QLabel *mCurrentListDate; |
37a97621b466
Added label for current and updated list date.
Raimund Renkert <rrenkert@intevation.de>
parents:
447
diff
changeset
|
327 QLabel *mNewListDate; |
37a97621b466
Added label for current and updated list date.
Raimund Renkert <rrenkert@intevation.de>
parents:
447
diff
changeset
|
328 |
584
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
329 QButtonGroup *mButtonGroup; |
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
330 QWidget *mUpdatesWidget; |
743
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
331 QWidget *mInstallWidget; |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
332 QWidget *mRemoveWidget; |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
333 QWidget *mInfoWidget; |
584
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
334 |
628
3a9c0f38bbad
Made certificate lists member of mainwindow and added some temporary debug msgs.
Raimund Renkert <rrenkert@intevation.de>
parents:
584
diff
changeset
|
335 QLabel *mUpdatesHeader; |
1098
75a5bfe0525e
(issue111) Rework Updates ui
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1061
diff
changeset
|
336 QLabel *mUpdatesDetailsHeader; |
75a5bfe0525e
(issue111) Rework Updates ui
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1061
diff
changeset
|
337 QLabel *mCertListVersion; |
75a5bfe0525e
(issue111) Rework Updates ui
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1061
diff
changeset
|
338 QLabel *mCertListVersionContents; |
708
bd48fae793b6
(Issue25) Log update check success, change header labels.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
693
diff
changeset
|
339 QLabel *mLastUpdateCheck; |
754
27043d74dc90
(Issue25) Align header contents in their own column.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
743
diff
changeset
|
340 QLabel *mLastUpdateCheckContents; |
628
3a9c0f38bbad
Made certificate lists member of mainwindow and added some temporary debug msgs.
Raimund Renkert <rrenkert@intevation.de>
parents:
584
diff
changeset
|
341 QLabel *mUpdatesNewCertificates; |
3a9c0f38bbad
Made certificate lists member of mainwindow and added some temporary debug msgs.
Raimund Renkert <rrenkert@intevation.de>
parents:
584
diff
changeset
|
342 QLabel *mUpdatesRemoveCertificates; |
3a9c0f38bbad
Made certificate lists member of mainwindow and added some temporary debug msgs.
Raimund Renkert <rrenkert@intevation.de>
parents:
584
diff
changeset
|
343 QLabel *mUpdatesManualCertificates; |
718
e7a070e64b80
(Issue26) Make updates tip and install button depend on changes
Andre Heinecke <andre.heinecke@intevation.de>
parents:
716
diff
changeset
|
344 QLabel *mUpdatesTip; |
628
3a9c0f38bbad
Made certificate lists member of mainwindow and added some temporary debug msgs.
Raimund Renkert <rrenkert@intevation.de>
parents:
584
diff
changeset
|
345 |
743
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
346 /* These are a bit of a pattern break, they should |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
347 * be accessed over the according page widgets. |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
348 * |
a467204a35f5
Rework User Interface.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
739
diff
changeset
|
349 * They are initialized in the create*widget functions.*/ |
584
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
350 CertificateListWidget *mUpdatesNew; |
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
351 CertificateListWidget *mUpdatesRemove; |
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
352 CertificateListWidget *mUpdatesManual; |
ebfe1128ee97
Started trustbridge mainwindow refactoring.
Raimund Renkert <rrenkert@intevation.de>
parents:
563
diff
changeset
|
353 CertificateListWidget *mInstallList; |
628
3a9c0f38bbad
Made certificate lists member of mainwindow and added some temporary debug msgs.
Raimund Renkert <rrenkert@intevation.de>
parents:
584
diff
changeset
|
354 CertificateListWidget *mRemoveList; |
652
f65503c1833b
Updated mainwindow layout and removed obsolete code.
Raimund Renkert <rrenkert@intevation.de>
parents:
641
diff
changeset
|
355 |
f65503c1833b
Updated mainwindow layout and removed obsolete code.
Raimund Renkert <rrenkert@intevation.de>
parents:
641
diff
changeset
|
356 QPushButton *mUpdatesDetailsNew; |
f65503c1833b
Updated mainwindow layout and removed obsolete code.
Raimund Renkert <rrenkert@intevation.de>
parents:
641
diff
changeset
|
357 QPushButton *mUpdatesDetailsRemove; |
f65503c1833b
Updated mainwindow layout and removed obsolete code.
Raimund Renkert <rrenkert@intevation.de>
parents:
641
diff
changeset
|
358 QPushButton *mUpdatesDetailsManual; |
716
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
359 |
718
e7a070e64b80
(Issue26) Make updates tip and install button depend on changes
Andre Heinecke <andre.heinecke@intevation.de>
parents:
716
diff
changeset
|
360 QPushButton *mInstallButton; |
716
929c3db85eb7
Add central place to obtain current change count.
Andre Heinecke <andre.heinecke@intevation.de>
parents:
708
diff
changeset
|
361 int mChangeCount; |
1109
6594e8e63a25
(issue115) Add tooltips and fix manual changes handling
Andre Heinecke <andre.heinecke@intevation.de>
parents:
1098
diff
changeset
|
362 bool mManualDetailsShown; |
0
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
363 }; |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
364 |
cb0cde2c5eb9
Initial commit. Basically a Hello World with a Tray Icon.
Andre Heinecke <aheinecke@intevation.de>
parents:
diff
changeset
|
365 #endif // MAINWINDOW_H |