Imported needed functionality from (soon) deprecated database
[emufront] / src / emulauncher.h
index 3120f70..c657267 100644 (file)
@@ -1,72 +1,69 @@
-// EmuFront
-// Copyright 2010 Mikko Keinänen
-//
-// This file is part of EmuFront.
-//
-//
-// EmuFront is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License version 2 as published by
-// the Free Software Foundation and appearing in the file gpl.txt included in the
-// packaging of this file.
-//
-// EmuFront is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with EmuFront.  If not, see <http://www.gnu.org/licenses/>.
-
-#ifndef EMULAUNCHER_H
+/*
+** EmuFront
+** Copyright 2010 Mikko Keinänen
+**
+** This file is part of EmuFront.
+**
+**
+** EmuFront is free software: you can redistribute it and/or modify
+** it under the terms of the GNU General Public License version 2 as published by
+** the Free Software Foundation and appearing in the file gpl.txt included in the
+** packaging of this file.
+**
+** EmuFront is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+** GNU General Public License for more details.
+**
+** You should have received a copy of the GNU General Public License
+** along with EmuFront.  If not, see <http://www.gnu.org/licenses/>.
+*/#ifndef EMULAUNCHER_H
 #define EMULAUNCHER_H
 
 #include <QWidget>
+#include <QProcess>
 
 class QTableView;
 class QPushButton;
-class DbMediaType;
-class DbPlatform;
+class QComboBox;
+class QErrorMessage;
 class DbMediaImageContainer;
-class DbExecutable;
-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;
-    EFFileObjectComboBox *platformSelectBox;
-    EFFileObjectComboBox *mediaTypeSelectBox;
-    ExecutableComboBox *execSelectBox;
+    QComboBox *setupSelectBox;
+    QComboBox *execSelectBox;
     QPushButton *selectButton;
     QPushButton *launchButton;
-    DbPlatform *dbPlatform;
-    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