Refactoring the project, new folders for view and model classes. Added
[emufront] / src / widgets / executablecombobox.cpp
index 9c63aa3..5177a63 100644 (file)
@@ -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);
 }