#define EMULAUNCHER_H
#include <QWidget>
+#include <QProcess>
class QTableView;
class QPushButton;
+class QErrorMessage;
class DbMediaType;
class DbPlatform;
class DbMediaImageContainer;
class ExecutableComboBox;
class Executable;
class MediaImageContainer;
-class QProcess;
+class EmuHelper;
class EmuLauncher : public QWidget
{
Q_OBJECT
public:
- explicit EmuLauncher(QWidget *parent = 0);
+ EmuLauncher(QErrorMessage *, QWidget *parent = 0, QString tmp = ".");
~EmuLauncher();
void updateData();
+ void setTmpDirPath(QString);
signals:
private slots:
void updateMediaImageContainers();
void launchEmu();
+ void processError(QProcess::ProcessError);
+ void processFinished(int);
private:
QTableView *micTable;
DbMediaType *dbMediaType;
DbMediaImageContainer *dbMic;
DbExecutable *dbExec;
- QProcess *proc;
+ EmuHelper *emuHelper;
void initWidgets();
void layout();
void connectSignals();
void populatePlatformSelectBox();
void populateMediaTypeSelectBox();
void launch(const Executable*, const MediaImageContainer*);
+ void cleanTmp();
+ QString tmpDirPath;
+ QErrorMessage *errorMessage;
};
#endif // EMULAUNCHER_H