summaryrefslogtreecommitdiffstats
path: root/movieitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'movieitem.cpp')
-rw-r--r--movieitem.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/movieitem.cpp b/movieitem.cpp
index de2382c..7e8d379 100644
--- a/movieitem.cpp
+++ b/movieitem.cpp
@@ -8,6 +8,7 @@
#include <QSqlQuery>
#include "movieitem.h"
+#include "coveritem.h"
MovieItem::MovieItem(int id, QObject *parent) : QObject(parent), mNumRows(7), mId(id), mGenreId(-1) {
for(int i = 0; i < mNumRows; ++i){
@@ -18,6 +19,7 @@ MovieItem::MovieItem(int id, QObject *parent) : QObject(parent), mNumRows(7), m
setGenreName();
setActors();
setSize();
+ setCovers();
}
}
@@ -27,6 +29,7 @@ void MovieItem::setId(int id){
setGenreName();
setActors();
setSize();
+ setCovers();
}
bool MovieItem::setData(const QList<QVariant> &data){
@@ -76,12 +79,31 @@ void MovieItem::setGenreName(){
}
void MovieItem::setActors(){
+ mActors.clear();
+ mActorIdMap.clear();
QSqlQuery actorQuery;
- actorQuery.prepare("SELECT actor.tactorname FROM actor, movieactormap WHERE movieactormap.iactorid = actor.iactorid AND movieactormap.imovid = :id");
+ actorQuery.prepare("SELECT actor.iactorid, actor.tactorname FROM actor, movieactormap WHERE movieactormap.iactorid = actor.iactorid AND movieactormap.imovid = :id");
actorQuery.bindValue(":id", mId);
actorQuery.exec();
while(actorQuery.next()){
- mActors << actorQuery.value(0);
+ QVariant actorId = actorQuery.value(0);
+ QString actorName = actorQuery.value(1).toString();
+ mActors << actorName;
+ mActorIdMap.insert(actorName, actorId);
+ }
+}
+
+void MovieItem::setCovers(){
+ mCovers.clear();
+ QSqlQuery coverQuery;
+ coverQuery.prepare("SELECT tfilename, tcovertype, cmd5sum FROM covers WHERE imovid = :id");
+ coverQuery.bindValue(":id", mId);
+ coverQuery.exec();
+ while(coverQuery.next()){
+ CoverItem item(coverQuery.value(0).toString(), coverQuery.value(1).toString(), coverQuery.value(2).toString());
+ QVariant i;
+ i.setValue(item);
+ mCovers << i;
}
}