diff options
author | Arno <am@disconnect.de> | 2011-02-20 10:35:19 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2011-02-20 10:35:19 +0100 |
commit | ef93566e66f5c9d52de72e654d4a7dff576f3c42 (patch) | |
tree | 75b9a7513878b7ad962d4f85246fe0adcf4c4049 /seriesmetadatamodel.cpp | |
parent | 23289ad65a1b06d3c3e9bbd4706ce75ce40c4b52 (diff) | |
download | SheMov-ef93566e66f5c9d52de72e654d4a7dff576f3c42.tar.gz SheMov-ef93566e66f5c9d52de72e654d4a7dff576f3c42.tar.bz2 SheMov-ef93566e66f5c9d52de72e654d4a7dff576f3c42.zip |
Show metadata in ArchiveView
Added a widget to display metadata beside actors and genres when
available
Diffstat (limited to 'seriesmetadatamodel.cpp')
-rw-r--r-- | seriesmetadatamodel.cpp | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/seriesmetadatamodel.cpp b/seriesmetadatamodel.cpp index 169db9b..81845e3 100644 --- a/seriesmetadatamodel.cpp +++ b/seriesmetadatamodel.cpp @@ -15,6 +15,11 @@ #include <QFormLayout> #include <QVBoxLayout> #include <QLabel> +#include <QGroupBox> +#include <QPalette> +#include <QSettings> +#include <QColor> +#include <QScrollArea> #include "seriesmetadatamodel.h" #include "smtreeitem.h" @@ -272,3 +277,53 @@ void MetadataWidget::accept(){ mModel->setData(parent, mComment->toPlainText(), row, SeriesMetadataModel::Comment); mModel->update(); } + +MetadataDisplay::MetadataDisplay(QWidget *parent) : QWidget(parent){ + //model + mModel = static_cast<SeriesMetadataModel*>(SmGlobals::instance()->model("SeriesMetadata")); + + //display + QGroupBox *gb = new QGroupBox(tr("Metadata")); + QHBoxLayout *gbLayout = new QHBoxLayout; + mDisplay = new QLabel(tr("No metadata available")); + mDisplay->setAlignment(Qt::AlignTop | Qt::AlignHCenter); + mDisplay->setWordWrap(true); + QScrollArea *sa = new QScrollArea; + sa->setWidgetResizable(true); + sa->setWidget(mDisplay); + gbLayout->addWidget(sa); + gb->setLayout(gbLayout); + + //laoyut + QVBoxLayout *mainLayout = new QVBoxLayout; + mainLayout->addWidget(gb); + setLayout(mainLayout); +} + +void MetadataDisplay::setSeriesPartId(int seriesPartId){ + //setup label + model + if(mModel->hasRecord(seriesPartId)){ + mModel->populate(seriesPartId); + QSettings s; + QColor baseColor = s.value("ui/basecolor").value<QColor>(); + QString baseHtml = Helper::colorToHtml(baseColor); + QColor alternateColor = s.value("ui/alternatecolor").value<QColor>(); + QString alternateHtml = Helper::colorToHtml(alternateColor); + QModelIndex mdIdx = mModel->index(0, 0, QModelIndex()); + QList<QVariant> metaData = mModel->dataList(mdIdx); + QString text("<table>"); + text.append(QString(tr("<tr style=\"background-color: #%1\"><td style=\"padding-right: 20px; padding-left: 5px\"><span style=\"font-style: italic;\">Release Year</span></td><td>%2</td></tr>")).arg(baseHtml).arg(QString::number(metaData.at(SeriesMetadataModel::ReleaseYear).toInt()))); + text.append(QString(tr("<tr style=\"background-color: #%1\"><td style=\"padding-right: 20px; padding-left: 5px\"><span style=\"font-style: italic;\">Encoding Passes</span></td><td>%2</td></tr>")).arg(alternateHtml).arg(QString::number(metaData.at(SeriesMetadataModel::Passes).toInt()))); + text.append(QString(tr("<tr style=\"background-color: #%1\"><td style=\"padding-right: 20px; padding-left: 5px\"><span style=\"font-style: italic;\">Release Group</span></td><td>%2</td></tr>")).arg(baseHtml).arg(metaData.at(SeriesMetadataModel::ReleaseGroup).toString())); + text.append(QString(tr("<tr style=\"background-color: #%1\"><td style=\"padding-right: 20px; padding-left: 5px\"><span style=\"font-style: italic;\">Source Medium</span></td><td>%2</td></tr>")).arg(alternateHtml).arg(metaData.at(SeriesMetadataModel::SourceMedium).toString())); + text.append(QString(tr("<tr style=\"background-color: #%1\"><td style=\"padding-right: 20px; padding-left: 5px\"><span style=\"font-style: italic;\">Usenet Subject</span></td><td>%2</td></tr>")).arg(baseHtml).arg(metaData.at(SeriesMetadataModel::Subject).toString())); + text.append(QString(tr("<tr style=\"background-color: #%1\"><td style=\"padding-right: 20px; padding-left: 5px\"><span style=\"font-style: italic;\">Encoder Options</span></td><td>%2</td></tr>")).arg(alternateHtml).arg(metaData.at(SeriesMetadataModel::EncoderOpts).toString())); + QDate dateAdded = metaData.at(SeriesMetadataModel::Added).toDate(); + text.append(QString(tr("<tr style=\"background-color: #%1\"><td style=\"padding-right: 20px; padding-left: 5px\"><span style=\"font-style: italic;\">Added</span></td><td>%2</td></tr>")).arg(baseHtml).arg(dateAdded.toString(Qt::ISODate))); + text.append(QString(tr("<tr style=\"background-color: #%1\"><td style=\"padding-right: 20px; padding-left: 5px\"><span style=\"font-style: italic;\">Comment</span></td><td>%2</td></tr>")).arg(alternateHtml).arg(metaData.at(SeriesMetadataModel::Comment).toString())); + text.append("</table>"); + mDisplay->setText(text); + }else{ + mDisplay->setText(tr("No metadata available")); + } +} |