Refresh model after update on data (TODO: maybe a common model
authorMikko Keinänen <mikko.keinanen@gmail.com>
Thu, 16 Dec 2010 22:20:18 +0000 (00:20 +0200)
committerMikko Keinänen <mikko.keinanen@gmail.com>
Thu, 16 Dec 2010 22:20:18 +0000 (00:20 +0200)
from MainWindow, so the data would be in sync without
refresh).

src/emulauncher.cpp
src/emulauncher.h
src/mainwindow.cpp
src/models/externalexecutablemodel.h
src/models/mediaimagecontainermodel.h
src/models/setupmodel.h

index 81992e5..327072a 100644 (file)
@@ -57,6 +57,11 @@ EmuLauncher::~EmuLauncher()
 
 void EmuLauncher::updateData()
 {
+    qDebug() << "EmuLauncher::updateData";
+    micModel->refresh();
+    emuModel->refresh();
+    supModel->refresh();
+    //setupSelectBox->update();
 }
 
 void EmuLauncher::initWidgets()
@@ -67,15 +72,15 @@ void EmuLauncher::initWidgets()
     micTable->verticalHeader()->setVisible(false);
     micTable->horizontalHeader()->setClickable(false);
 
-    MediaImageContainerModel *micModel = new MediaImageContainerModel(this);
+    micModel = new MediaImageContainerModel(this);
     micTable->setModel(micModel);
 
-    SetupModel *supModel = new SetupModel(this);
+    supModel = new SetupModel(this);
     setupSelectBox = new QComboBox(this);
     setupSelectBox->setModel(supModel);
     setupSelectBox->setModelColumn(SetupModel::Setup_Name);
 
-    ExternalExecutableModel *emuModel = new ExternalExecutableModel(this);
+    emuModel = new ExternalExecutableModel(this);
     execSelectBox = new QComboBox(this);
     execSelectBox->setModel(emuModel);
     execSelectBox->setModelColumn(ExternalExecutableModel::Executable_Name);
index b974ad2..9c529cc 100644 (file)
@@ -33,6 +33,9 @@ class QErrorMessage;
 class Executable;
 class MediaImageContainer;
 class EmuHelper;
+class SetupModel;
+class ExternalExecutableModel;
+class MediaImageContainerModel;
 
 class EmuLauncher : public QWidget
 {
@@ -66,6 +69,9 @@ private:
     void cleanTmp();
     QString tmpDirPath;
     QErrorMessage *errorMessage;
+    SetupModel *supModel;
+    MediaImageContainerModel *micModel;
+    ExternalExecutableModel *emuModel;
 };
 
 #endif // EMULAUNCHER_H
index 4a72a1a..25da5ad 100644 (file)
@@ -236,6 +236,7 @@ void MainWindow::configureSetupss()
 {
     if (!setupMainView) {
         setupMainView = new SetupEditView(this);
+        connect(setupMainView, SIGNAL(finished(int)), this, SLOT(updateData()));
     }
     activateDialog(setupMainView);
 }
index d69cbfd..b4d0efe 100644 (file)
@@ -46,9 +46,9 @@ public:
         Executable_SetupId,
         Executable_SetupName
     };
+    virtual void refresh();
 
 protected:
-    virtual void refresh();
     virtual QString constructSelect(QString where = "") const;
     virtual bool setSetup(int isd, int setupId);
     virtual bool setExecutableName(int id, QString name);
index 726be17..6aa80e3 100644 (file)
@@ -49,9 +49,9 @@ public:
         MIC_MediaTypeId,
         MIC_MediaTypeName
     };
+    virtual void refresh();
 
 protected:
-    virtual void refresh();
     virtual QString constructSelect(QString where = "") const;
     // Implemented for EmuFrontQueryModel:
     virtual EmuFrontObject* recordToDataObject(const QSqlRecord* );
index aae4be7..3c64344 100644 (file)
@@ -39,9 +39,9 @@ public:
            Setup_FileTypeExtensions,
            Setup_Name };
     static const QString FILE_TYPE_EXTENSION_SEPARATOR;
+    virtual void refresh();
 
 protected:
-    virtual void refresh();
     virtual QString constructSelect(QString where = "") const;
     virtual bool setPlatform(int id, int platformId);
     virtual bool setMediaType(int id, int platformId);