X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=src%2Fmodels%2Ffilepathmodel.cpp;h=bd5972907db0d3a8b47ad139741a693fd8ad0f36;hb=6bd5521ba6eedac17d194df82eda4e36de2ccb20;hp=6462527534e3f61288080b6797f79acc9dff8507;hpb=e19eaf49bd199c59cfd9d9d5ad2c12f6ebd4addd;p=emufront diff --git a/src/models/filepathmodel.cpp b/src/models/filepathmodel.cpp index 6462527..bd59729 100644 --- a/src/models/filepathmodel.cpp +++ b/src/models/filepathmodel.cpp @@ -22,6 +22,9 @@ #include "filepathmodel.h" #include "emufrontfile.h" #include "emufrontexception.h" +#include "filepathobject.h" +#include "setup.h" +#include "setupmodel.h" #include FilePathModel::FilePathModel(QObject *parent) : @@ -180,3 +183,36 @@ bool FilePathModel::setFilePath(int id, QString filePath) q.bindValue(":id", id); return q.exec(); } + +bool FilePathModel::setScanned(int id) +{ + QSqlQuery q; + q.prepare(QString("UPDATE filepath SET lastscanned = :timestamp WHERE id = :id")); + q.bindValue(":timestamp", getCurrentTimeStamp()); + q.bindValue(":id", id); + return q.exec(); +} + +FilePathObject* FilePathModel::getFilePathObject(const QModelIndex &index) +{ + if (!index.isValid()) return 0; + EmuFrontObject *efo = getDataObject(index); + return dynamic_cast(efo); +} + +EmuFrontObject* FilePathModel::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(); + SetupModel supModel; + EmuFrontObject *efo = supModel.getDataObject(setupId); + Setup *sup = dynamic_cast(efo); + return new FilePathObject(id, fpath, fileType, sup); +} + +QString FilePathModel::constructFilterById(int id) const +{ + return QString("filepath.id = %1").arg(id); +}