view ui/createinstallerdialog.h @ 526:f6371e9c959a

Add a dialog when installer creation is done
author Andre Heinecke <aheinecke@intevation.de>
date Tue, 29 Apr 2014 13:29:57 +0000
parents 3332db04c77d
children 6c4fff146999
line wrap: on
line source
/* Copyright (C) 2014 by Bundesamt für Sicherheit in der Informationstechnik
 * Software engineering by Intevation GmbH
 *
 * This file is Free Software under the GNU GPL (v>=2)
 * and comes with ABSOLUTELY NO WARRANTY!
 * See LICENSE.txt for details.
 */
#ifndef CREATEINSTALLERDIALOG_H
#define CREATEINSTALLERDIALOG_H

#include <QDialog>
#include <QMainWindow>
#include <QLineEdit>
#include <QProcess>
#include <QProgressDialog>
/**
 * @file createinstallerdialog.h
 * @brief The dialog to show settings and create an installer.
 */

class QListWidget;

class CreateInstallerDialog : public QDialog
{
    Q_OBJECT
public:
    /** @brief Create a dialog showing settings for the create installer
     * process
     * */
    CreateInstallerDialog(QMainWindow *parent);

private:
    void setupGUI();

    QLineEdit *mCertFile;
    QLineEdit *mBinaryFolder;
    QLineEdit *mSaveFile;

    QProcess mNSISProc;
    QProgressDialog mProgress;

    /** @brief show an error message with QMessageBox
     *
     * @param [in] msg The message to show
     */
    void showErrorMessage(const QString &msg);

private slots:
    void openCertificateSelect();
    void openFolderSelect();
    void openSaveLocation();
    void createInstaller();

    /* Slots for the creator process */
    void processError(QProcess::ProcessError error);
    void processFinished(int exitCode, QProcess::ExitStatus exitStatus);
};

/** @brief The dialog shown after the installer was created. */
class FinishedDialog : public QDialog
{
    Q_OBJECT

    public:
        /** @brief constructor for the dialog
         *
         * @param [in] parent the parent window
         * @param [in] msg the message to show
         * @param [in] details verbose information
         * @param [in] isErr if the dialog should be shown as an error*/
        FinishedDialog(QDialog *parent,
                       QString msg,
                       QString details,
                       bool isErr);

};


#endif // CREATEINSTALLERDIALOG_H

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