summaryrefslogtreecommitdiffstats
path: root/seriesmetadatamodel.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'seriesmetadatamodel.cpp')
-rw-r--r--seriesmetadatamodel.cpp55
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"));
+ }
+}