Mercurial > trustbridge
annotate ui/createinstallerdialog.h @ 542:421b69eeffe3 0.6
Actually write the installer to the output folder
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 29 Apr 2014 18:28:13 +0000 |
parents | f6371e9c959a |
children | 6c4fff146999 |
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 */ | |
361
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
8 #ifndef CREATEINSTALLERDIALOG_H |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
9 #define CREATEINSTALLERDIALOG_H |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
10 |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
11 #include <QDialog> |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
12 #include <QMainWindow> |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
13 #include <QLineEdit> |
516
3332db04c77d
Call makensis in create installer dialog
Andre Heinecke <aheinecke@intevation.de>
parents:
515
diff
changeset
|
14 #include <QProcess> |
3332db04c77d
Call makensis in create installer dialog
Andre Heinecke <aheinecke@intevation.de>
parents:
515
diff
changeset
|
15 #include <QProgressDialog> |
361
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
16 /** |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
17 * @file createinstallerdialog.h |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
18 * @brief The dialog to show settings and create an installer. |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
19 */ |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
20 |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
21 class QListWidget; |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
22 |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
23 class CreateInstallerDialog : public QDialog |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
24 { |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
25 Q_OBJECT |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
26 public: |
526
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
27 /** @brief Create a dialog showing settings for the create installer |
361
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
28 * process |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
29 * */ |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
30 CreateInstallerDialog(QMainWindow *parent); |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
31 |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
32 private: |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
33 void setupGUI(); |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
34 |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
35 QLineEdit *mCertFile; |
515
9d3880db6ba7
Improve error handlig and persist user decisions
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
36 QLineEdit *mBinaryFolder; |
361
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
37 QLineEdit *mSaveFile; |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
38 |
516
3332db04c77d
Call makensis in create installer dialog
Andre Heinecke <aheinecke@intevation.de>
parents:
515
diff
changeset
|
39 QProcess mNSISProc; |
3332db04c77d
Call makensis in create installer dialog
Andre Heinecke <aheinecke@intevation.de>
parents:
515
diff
changeset
|
40 QProgressDialog mProgress; |
3332db04c77d
Call makensis in create installer dialog
Andre Heinecke <aheinecke@intevation.de>
parents:
515
diff
changeset
|
41 |
515
9d3880db6ba7
Improve error handlig and persist user decisions
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
42 /** @brief show an error message with QMessageBox |
9d3880db6ba7
Improve error handlig and persist user decisions
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
43 * |
9d3880db6ba7
Improve error handlig and persist user decisions
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
44 * @param [in] msg The message to show |
9d3880db6ba7
Improve error handlig and persist user decisions
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
45 */ |
9d3880db6ba7
Improve error handlig and persist user decisions
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
46 void showErrorMessage(const QString &msg); |
9d3880db6ba7
Improve error handlig and persist user decisions
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
47 |
361
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
48 private slots: |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
49 void openCertificateSelect(); |
515
9d3880db6ba7
Improve error handlig and persist user decisions
Andre Heinecke <aheinecke@intevation.de>
parents:
404
diff
changeset
|
50 void openFolderSelect(); |
361
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
51 void openSaveLocation(); |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
52 void createInstaller(); |
516
3332db04c77d
Call makensis in create installer dialog
Andre Heinecke <aheinecke@intevation.de>
parents:
515
diff
changeset
|
53 |
3332db04c77d
Call makensis in create installer dialog
Andre Heinecke <aheinecke@intevation.de>
parents:
515
diff
changeset
|
54 /* Slots for the creator process */ |
3332db04c77d
Call makensis in create installer dialog
Andre Heinecke <aheinecke@intevation.de>
parents:
515
diff
changeset
|
55 void processError(QProcess::ProcessError error); |
3332db04c77d
Call makensis in create installer dialog
Andre Heinecke <aheinecke@intevation.de>
parents:
515
diff
changeset
|
56 void processFinished(int exitCode, QProcess::ExitStatus exitStatus); |
361
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
57 }; |
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
58 |
526
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
59 /** @brief The dialog shown after the installer was created. */ |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
60 class FinishedDialog : public QDialog |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
61 { |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
62 Q_OBJECT |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
63 |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
64 public: |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
65 /** @brief constructor for the dialog |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
66 * |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
67 * @param [in] parent the parent window |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
68 * @param [in] msg the message to show |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
69 * @param [in] details verbose information |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
70 * @param [in] isErr if the dialog should be shown as an error*/ |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
71 FinishedDialog(QDialog *parent, |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
72 QString msg, |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
73 QString details, |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
74 bool isErr); |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
75 |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
76 }; |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
77 |
f6371e9c959a
Add a dialog when installer creation is done
Andre Heinecke <aheinecke@intevation.de>
parents:
516
diff
changeset
|
78 |
361
b67dd46cd4a9
Added dialog to create a new, signed installer binary.
Raimund Renkert <rrenkert@intevation.de>
parents:
diff
changeset
|
79 #endif // CREATEINSTALLERDIALOG_H |