view ui/createinstallerdialog.h @ 516:3332db04c77d

Call makensis in create installer dialog
author Andre Heinecke <aheinecke@intevation.de>
date Mon, 28 Apr 2014 17:15:31 +0000
parents 9d3880db6ba7
children f6371e9c959a
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);
};

#endif // CREATEINSTALLERDIALOG_H

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