diff options
Diffstat (limited to 'moviemodel.cpp')
-rw-r--r-- | moviemodel.cpp | 50 |
1 files changed, 48 insertions, 2 deletions
diff --git a/moviemodel.cpp b/moviemodel.cpp index 28399de..191b987 100644 --- a/moviemodel.cpp +++ b/moviemodel.cpp @@ -15,7 +15,7 @@ MovieModel::MovieModel(QObject *parent) : QAbstractItemModel(parent) { mHeaders << tr("Title") << tr("Filename") << tr("MD5Sum") << tr("Size") << tr("Genre") << tr("Quality") << tr("Archived"); mInsertQuery = new QSqlQuery; - mInsertQuery->prepare("SELECT insert_movie(:title, :filename, :md5, :filesize, :genre, :quality, :dvd)"); + mInsertQuery->prepare("SELECT insert_movie(:title, :filename, :md5, :filesize, :genre, :quality, :dvd, :seriesno, :partno)"); mDeleteQuery = new QSqlQuery; mDeleteQuery->prepare("DELETE FROM movies WHERE imovid = :id"); mDeleteActorsForMovie = new QSqlQuery; @@ -47,6 +47,12 @@ MovieModel::MovieModel(QObject *parent) : QAbstractItemModel(parent) { QSqlQuery *c7 = new QSqlQuery; c7->prepare("UPDATE movies SET idvd = :value WHERE imovid = :id"); mColumnQueries << c7; + QSqlQuery *c8 = new QSqlQuery; + c8->prepare("UPDATE movies SET iseriesno = :value WHERE imovid = :id"); + mColumnQueries << c8; + QSqlQuery *c9 = new QSqlQuery; + c9->prepare("UPDATE movies set ipartno = :value WHERE imovid = :id"); + mColumnQueries << c9; populate(); } @@ -100,7 +106,20 @@ QVariant MovieModel::data(const QModelIndex &index, int role) const{ MovieItem *item = static_cast<MovieItem*>(index.internalPointer()); Q_ASSERT(item != 0); if(role == Qt::DisplayRole){ - return item->dataAt(index.column()); + if(index.column() == 0){ + QString retval = item->dataAt(MovieItem::Title).toString(); + int seriesno = item->dataAt(MovieItem::SeriesNo).toInt(); + int partno = item->dataAt(MovieItem::PartNo).toInt(); + if(seriesno != -1){ + retval.append(QString(" %1").arg(QString::number(seriesno))); + } + if(partno != -1){ + retval.append(QString(" (part %1)").arg(QString::number(partno))); + } + return retval; + }else{ + return item->dataAt(index.column()); + } } if(role == ActorsRole){ return item->actors(); @@ -114,6 +133,33 @@ QVariant MovieModel::data(const QModelIndex &index, int role) const{ if(role == IdRole){ return item->id(); } + if(role == TitleBaseRole){ + return item->dataAt(MovieItem::Title); + } + if(role == SeriesNoRole){ + return item->dataAt(MovieItem::SeriesNo); + } + if(role == PartNoRole){ + return item->dataAt(MovieItem::PartNo); + } + if(role == FilenameRole){ + return item->dataAt(MovieItem::Filename); + } + if(role == Md5Role){ + return item->dataAt(MovieItem::Md5Sum); + } + if(role == SizeRole){ + return item->dataAt(MovieItem::Size); + } + if(role == GenreRole){ + return item->dataAt(MovieItem::Genre); + } + if(role == QualityRole){ + return item->dataAt(MovieItem::Quality); + } + if(role == DvdRole){ + return item->dataAt(MovieItem::Dvd); + } if((role == Qt::DecorationRole) && (index.column() == 0)){ return QIcon(":/dildo.png"); } |