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
return DbFile::constructFilterById(id);
}
-QList<MediaImageContainer*> DbMediaImageContainer::getMediaImageContainers(int platformId, int mediaTypeId) const
-{
-
-}
-
QString DbMediaImageContainer::constructSelectById(int id) const
{
return DbFile::constructSelectById(id);
}
}
}
+
+void DbMediaImageContainer::filter(int mediaTypeId, int platformId) const
+{
+ /*
+ WHERE setup.platformid = :platformid
+ AND setup.mediatypeid = :mediatypeid
+ */
+}
virtual int countDataObjectRefs(int id) const;
void storeContainers(QList<MediaImageContainer*>, FilePathObject*);
int getMediaImageContainer(QString checksum) const;
- QList<MediaImageContainer*> getMediaImageContainers(int platformId, int mediaTypeId) const;
+ void filter(int mediaTypeId, int platformId) const;
protected:
virtual QString constructSelect(QString whereClause) const;
virtual QString constructSelectById(int id) const;
#include "emulauncher.h"
#include "db/dbmediatype.h"
#include "db/dbplatform.h"
+#include "db/dbmediaimagecontainer.h"
#include "widgets/effileobjectcombobox.h"
EmuLauncher::EmuLauncher(QWidget *parent) :
void EmuLauncher::initWidgets()
{
micTable = new QTableView(this);
+ micTable->setSelectionMode(QAbstractItemView::SingleSelection);
mediaTypeSelectBox = new EFFileObjectComboBox(dbMediaType, this);
platformSelectBox = new EFFileObjectComboBox(dbPlatform, this);
selectButton = new QPushButton(tr("&Update"));
void EmuLauncher::updateMediaImageContainers()
{
qDebug() << "updateMediaImageContainers slot";
+ int mtid = mediaTypeSelectBox->getSelected()
+ ? mediaTypeSelectBox->getSelected()->getId()
+ : -1;
+ int plfid = platformSelectBox->getSelected()
+ ? platformSelectBox->getSelected()->getId()
+ : -1;
+
+ dbMic->filter(mtid, plfid);
+ micTable->setModel(dbMic->getDataModel());
+ micTable->resizeColumnsToContents();
}
class QPushButton;
class DbMediaType;
class DbPlatform;
+class DbMediaImageContainer;
class EFFileObjectComboBox;
class EmuLauncher : public QWidget
QPushButton *selectButton;
DbPlatform *dbPlatform;
DbMediaType *dbMediaType;
+ DbMediaImageContainer *dbMic;
void initWidgets();
void layout();
void connectSignals();