aheinecke@404: /* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik aheinecke@404: * Software engineering by Intevation GmbH aheinecke@404: * aheinecke@404: * This file is Free Software under the GNU GPL (v>=2) aheinecke@404: * and comes with ABSOLUTELY NO WARRANTY! aheinecke@404: * See LICENSE.txt for details. aheinecke@404: */ rrenkert@361: #ifndef CREATEINSTALLERDIALOG_H rrenkert@361: #define CREATEINSTALLERDIALOG_H rrenkert@361: rrenkert@361: #include rrenkert@361: #include rrenkert@361: #include aheinecke@516: #include aheinecke@516: #include rrenkert@361: /** rrenkert@361: * @file createinstallerdialog.h rrenkert@361: * @brief The dialog to show settings and create an installer. rrenkert@361: */ rrenkert@361: rrenkert@361: class QListWidget; rrenkert@361: rrenkert@361: class CreateInstallerDialog : public QDialog rrenkert@361: { rrenkert@361: Q_OBJECT rrenkert@361: public: aheinecke@526: /** @brief Create a dialog showing settings for the create installer rrenkert@361: * process rrenkert@361: * */ rrenkert@361: CreateInstallerDialog(QMainWindow *parent); rrenkert@361: rrenkert@361: private: rrenkert@361: void setupGUI(); rrenkert@361: rrenkert@361: QLineEdit *mCertFile; aheinecke@515: QLineEdit *mBinaryFolder; rrenkert@361: QLineEdit *mSaveFile; rrenkert@361: aheinecke@516: QProcess mNSISProc; aheinecke@516: QProgressDialog mProgress; aheinecke@516: aheinecke@515: /** @brief show an error message with QMessageBox aheinecke@515: * aheinecke@515: * @param [in] msg The message to show aheinecke@515: */ aheinecke@515: void showErrorMessage(const QString &msg); aheinecke@515: rrenkert@361: private slots: rrenkert@361: void openCertificateSelect(); aheinecke@515: void openFolderSelect(); rrenkert@361: void openSaveLocation(); rrenkert@361: void createInstaller(); aheinecke@516: aheinecke@516: /* Slots for the creator process */ aheinecke@516: void processError(QProcess::ProcessError error); aheinecke@516: void processFinished(int exitCode, QProcess::ExitStatus exitStatus); rrenkert@361: }; rrenkert@361: aheinecke@526: /** @brief The dialog shown after the installer was created. */ aheinecke@526: class FinishedDialog : public QDialog aheinecke@526: { aheinecke@526: Q_OBJECT aheinecke@526: aheinecke@526: public: aheinecke@526: /** @brief constructor for the dialog aheinecke@526: * aheinecke@526: * @param [in] parent the parent window aheinecke@526: * @param [in] msg the message to show aheinecke@526: * @param [in] details verbose information aheinecke@526: * @param [in] isErr if the dialog should be shown as an error*/ aheinecke@526: FinishedDialog(QDialog *parent, aheinecke@526: QString msg, aheinecke@526: QString details, aheinecke@526: bool isErr); aheinecke@526: aheinecke@526: }; aheinecke@526: aheinecke@526: rrenkert@361: #endif // CREATEINSTALLERDIALOG_H