Refactoring the project, new folders for view and model classes. Added
[emufront] / src / widgets / executablecombobox.cpp
index 2d531c9..5177a63 100644 (file)
@@ -5,9 +5,9 @@
 //
 //
 // EmuFront is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
+// 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
@@ -18,7 +18,7 @@
 // along with EmuFront.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "executablecombobox.h"
-#include "../db/dbexecutable.h"
+#include "dbexecutable.h"
 
 ExecutableComboBox::ExecutableComboBox(DatabaseManager *dbMan, QWidget *parent)
     : EFComboBox(dbMan, parent)
@@ -26,4 +26,20 @@ ExecutableComboBox::ExecutableComboBox(DatabaseManager *dbMan, QWidget *parent)
     dataModelIndex_name = DbExecutable::Executable_Name;
     dataModelIndex_id = DbExecutable::Executable_Id;
     setModelColumn(dataModelIndex_name);
+    currentPlatformId = -1;
+    currentMediaTypeId = -1;
+}
+
+void ExecutableComboBox::updateToSetup(int platformId, int mediaTypeId)
+{
+    currentPlatformId = platformId;
+    currentMediaTypeId = mediaTypeId;
+    reset();
+}
+
+void ExecutableComboBox::reset()
+{
+    DbExecutable *dbExe = dynamic_cast<DbExecutable *>(dbManager);
+    dbExe->filterByPlatformMediaType(currentPlatformId, currentMediaTypeId);
+    EFComboBox::updateDataModel(false);
 }