From: Mikko Keinänen Date: Thu, 16 Dec 2010 22:20:18 +0000 (+0200) Subject: Refresh model after update on data (TODO: maybe a common model X-Git-Url: http://vcs.maemo.org/git/?p=emufront;a=commitdiff_plain;h=175147c0f28d4a7880bcc24dd1a789d33b7c537b Refresh model after update on data (TODO: maybe a common model from MainWindow, so the data would be in sync without refresh). --- diff --git a/src/emulauncher.cpp b/src/emulauncher.cpp index 81992e5..327072a 100644 --- a/src/emulauncher.cpp +++ b/src/emulauncher.cpp @@ -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); diff --git a/src/emulauncher.h b/src/emulauncher.h index b974ad2..9c529cc 100644 --- a/src/emulauncher.h +++ b/src/emulauncher.h @@ -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 diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 4a72a1a..25da5ad 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -236,6 +236,7 @@ void MainWindow::configureSetupss() { if (!setupMainView) { setupMainView = new SetupEditView(this); + connect(setupMainView, SIGNAL(finished(int)), this, SLOT(updateData())); } activateDialog(setupMainView); } diff --git a/src/models/externalexecutablemodel.h b/src/models/externalexecutablemodel.h index d69cbfd..b4d0efe 100644 --- a/src/models/externalexecutablemodel.h +++ b/src/models/externalexecutablemodel.h @@ -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); diff --git a/src/models/mediaimagecontainermodel.h b/src/models/mediaimagecontainermodel.h index 726be17..6aa80e3 100644 --- a/src/models/mediaimagecontainermodel.h +++ b/src/models/mediaimagecontainermodel.h @@ -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* ); diff --git a/src/models/setupmodel.h b/src/models/setupmodel.h index aae4be7..3c64344 100644 --- a/src/models/setupmodel.h +++ b/src/models/setupmodel.h @@ -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);