Cleanup.
[emufront] / src / emulauncher.h
index 3120f70..4998240 100644 (file)
 #define EMULAUNCHER_H
 
 #include <QWidget>
+#include <QProcess>
 
 class QTableView;
 class QPushButton;
+class QErrorMessage;
 class DbMediaType;
 class DbPlatform;
 class DbMediaImageContainer;
@@ -32,22 +34,24 @@ class EFFileObjectComboBox;
 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();
+    void processError(QProcess::ProcessError);
+    void processFinished(int);
 
 private:
     QTableView *micTable;
@@ -60,13 +64,16 @@ private:
     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