dbSetup = new DbSetup(this);
}
+/* Throws EmuFrontException */
EmuFrontObject* DbFilePath::recordToDataObject(const QSqlRecord *rec)
{
int id = rec->value(FilePath_Id).toInt();
QString fpath = rec->value(FilePath_Name).toString();
int setupId = rec->value(FilePath_SetupId).toInt();
- //int fileType = rec->value(FilePath_FileTypeId).toInt();
- Setup *sup = dynamic_cast<Setup*>(dbSetup->getDataObject(setupId));
+ int fileType = rec->value(FilePath_FileTypeId).toInt();
+ Setup *sup = dynamic_cast<Setup*>(dbSetup->getDataObject(setupId)); /* Throws EmuFrontException */
// TODO
//int lastScanned = 0;
- return new FilePathObject(id, fpath, /* TODO */ 0, sup);
+ return new FilePathObject(id, fpath, fileType, sup);
}
bool DbFilePath::updateDataObjectToModel(const EmuFrontObject *ob)
return ret;
}
+bool DbFilePath::setScanned(const EmuFrontObject *ob)
+{
+ QSqlQuery q;
+ q.prepare("UPDATE filepath SET lastscanned=:lastscanned WHERE id=:id");
+ q.bindValue(":lastscanned", getCurrentTimeStamp());
+ q.bindValue(":id", ob->getId());
+ bool ret = q.exec();
+ if (ret) resetModel();
+ return ret;
+}
+
+/* Returns id of inserted data item after succesful insert, -1 if insert failed */
int DbFilePath::insertDataObjectToModel(const EmuFrontObject *ob)
{
const FilePathObject *fpo = dynamic_cast<const FilePathObject*>(ob);
"filepath.name AS Name, "
"filepath.lastscanned AS LastScanned, "
"setup.id AS SetupId, "
- "platform.name || ' ' || mediatype.name AS SetupName "
+ "platform.name || ' ' || mediatype.name AS SetupName, "
+ "filepath.filetypeid "
"FROM filepath "
"INNER JOIN setup ON filepath.setupid=setup.id "
"INNER JOIN platform ON setup.platformid=platform.id "