Data filtering changes.
[emufront] / src / db / dbmediaimagecontainer.cpp
index a5ed727..dab5472 100644 (file)
@@ -124,7 +124,23 @@ int DbMediaImageContainer::countDataObjectRefs(int id) const
 
 QString DbMediaImageContainer::constructSelect(QString whereClause) const
 {
-    return DbFile::constructSelect(whereClause);
+    // TODO, for a usual search we need a "light" version of this select
+    // and MediaImageContainer (only id, name)
+    /*
+        SELECT file.id, file.name, file.checksum, file.size,
+            filepath.id, filepath.name,
+            setup.id,
+            platform.id, platform.name,
+            mediatype.id, mediatype.name
+        FROM mediaimagecontainer
+        INNER JOIN file ON mediaimagecontainer.fileid = file.id
+        INNER JOIN filepath ON mediaimagecontainer.filepathid = filepath.id
+        INNER JOIN setup ON filepath.setupid = setup.id
+        INNER JOIN platform ON setup.platformid = platform.id
+        INNER JOIN mediatype ON setup.mediatypeid = mediatype.id
+        */
+    return "";
+    //return DbFile::constructSelect(whereClause);
 }
 
 QString DbMediaImageContainer::constructFilterById(int id) const
@@ -132,11 +148,6 @@ QString DbMediaImageContainer::constructFilterById(int id) const
     return DbFile::constructFilterById(id);
 }
 
-QList<MediaImageContainer*> DbMediaImageContainer::getMediaImageContainers(int platformId, int mediaTypeId) const
-{
-
-}
-
 QString DbMediaImageContainer::constructSelectById(int id) const
 {
     return DbFile::constructSelectById(id);
@@ -199,3 +210,14 @@ void DbMediaImageContainer::linkMediaImagesWithContainer(int micId, QList<int> m
         }
     }
 }
+
+void DbMediaImageContainer::filter(int mediaTypeId, int platformId)
+{
+    QList<QString> filters;
+    if (mediaTypeId >= 0)
+        filters.append(QString("mediatype.id=%1").arg(mediaTypeId));
+    if (platformId >= 0)
+        filters.append(QString("platform.id=%1").arg(platformId));
+    filterDataObjects(filters);
+}
+