From 6274b353c2f22703371e4751b6cb7f96a38d94e9 Mon Sep 17 00:00:00 2001 From: Arno Date: Sun, 6 Nov 2016 03:12:26 +0100 Subject: Revamp Comments and Metadata Make it a QTextEdit (again?) with HTML content: * A table for metadata * A paragraph for the comment(s) Also add a stretch factor to the containing widget giving it more space. --- archivecontroller.cpp | 68 +++++++++++++++++++-------------------------------- 1 file changed, 25 insertions(+), 43 deletions(-) (limited to 'archivecontroller.cpp') diff --git a/archivecontroller.cpp b/archivecontroller.cpp index 99c55db..d13eb14 100644 --- a/archivecontroller.cpp +++ b/archivecontroller.cpp @@ -57,11 +57,6 @@ void ArchiveController::setMappingModels(QStandardItemModel *actorModel, QStanda mGenreModel = genreModel; } -void ArchiveController::setMetadata(QStandardItemModel *model, QTextEdit *comment){ - mMetaModel = model; - mComment = comment; -} - void ArchiveController::init(){ connect(mArchiveSelection, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(treeSelectionChanged(QItemSelection,QItemSelection))); connect(mArchiveFiles, SIGNAL(doubleClicked(QModelIndex)), this, SLOT(fileDoubleClicked(QModelIndex))); @@ -278,44 +273,7 @@ void ArchiveController::treeSelectionChanged(const QItemSelection &selected, con mGenreModel->appendRow(newItem); } - mMetaModel->clear(); - QList metadata = mArchiveModel->metadataList(*ids.begin()); - QStandardItem *mRelI1 = new QStandardItem(mMetaIcon, tr("Rel. Year")); - QStandardItem *mRelI2 = new QStandardItem(metadata.at(ArchiveModel::ReleaseYear).toString()); - mMetaModel->appendRow(QList() << mRelI1 << mRelI2); - QStandardItem *mSrcI1 = new QStandardItem(mMetaIcon, tr("Source")); - QStandardItem *mSrcI2 = new QStandardItem(metadata.at(ArchiveModel::Source).toString()); - mMetaModel->appendRow(QList() << mSrcI1 << mSrcI2); - QStandardItem *mSubjI1 = new QStandardItem(mMetaIcon, tr("Subj./Name")); - QStandardItem *mSubjI2 = new QStandardItem(metadata.at(ArchiveModel::Subject).toString()); - mSubjI2->setToolTip(metadata.at(ArchiveModel::Subject).toString()); - mMetaModel->appendRow(QList() << mSubjI1 << mSubjI2); - QStandardItem *mAddI1 = new QStandardItem(mMetaIcon, tr("Added")); - QDateTime added = metadata.at(ArchiveModel::Added).toDateTime(); - QStandardItem *mAddI2 = new QStandardItem(added.toString("yyyy-MM-dd")); - mMetaModel->appendRow(QList() << mAddI1 << mAddI2); - if(!metadata.at(ArchiveModel::ReleaseGroup).toString().isEmpty()){ - QStandardItem *mGrpI1 = new QStandardItem(mMetaIcon, tr("Group")); - QStandardItem *mGrpI2 = new QStandardItem(metadata.at(ArchiveModel::ReleaseGroup).toString()); - mMetaModel->appendRow(QList() << mGrpI1 << mGrpI2); - } - if(!metadata.at(ArchiveModel::EncoderOpts).toString().isEmpty()){ - QStandardItem *mOptsI1 = new QStandardItem(mMetaIcon, tr("Enc. Opts")); - QStandardItem *mOptsI2 = new QStandardItem(metadata.at(ArchiveModel::EncoderOpts).toString()); - mMetaModel->appendRow(QList() << mOptsI1 << mOptsI2); - } - if(metadata.at(ArchiveModel::Passes).toInt() > 0){ - QStandardItem *mPasI1 = new QStandardItem(mMetaIcon, tr("Passes")); - QStandardItem *mPasI2 = new QStandardItem(metadata.at(ArchiveModel::Passes).toString()); - mMetaModel->appendRow(QList() << mPasI1 << mPasI2); - } - for(int i = 0; i < mMetaModel->rowCount(); ++i){ - QStandardItem *i1 = mMetaModel->item(i, 0); - i1->setEditable(false); - QStandardItem *i2 = mMetaModel->item(i, 1); - i2->setEditable(false); - } - mComment->setHtml(metadata.at(ArchiveModel::Comment).toString()); + getMetadata(ids); int nodeType = sel.first().data(ArchiveModel::TypeRole).toInt(); foreach(QAction *a, mActionsForTree){ @@ -325,6 +283,30 @@ void ArchiveController::treeSelectionChanged(const QItemSelection &selected, con } } +void ArchiveController::setMetadata(QTextEdit *metaEdit){ + mMetaEdit = metaEdit; +} + +void ArchiveController::getMetadata(QSet ids){ + mMetaEdit->clear(); + QList metadata = mArchiveModel->metadataList(*ids.begin()); + QString meta; + meta.append(""); + meta.append(QString("").arg(metadata.at(ArchiveModel::ReleaseYear).toString())); + meta.append(QString("").arg(metadata.at(ArchiveModel::Source).toString())); + meta.append(QString("").arg(metadata.at(ArchiveModel::Subject).toString())); + meta.append(QString("").arg(metadata.at(ArchiveModel::Added).toDateTime().toString())); + + meta.append("
Release year%1
Source%1
Subj./Name%1
Added%1
"); + QString comment = metadata.at(ArchiveModel::Comment).toString(); + if(comment.isEmpty()){ + comment = tr("(none)"); + } + meta.append(QString("

Comments:

%1

").arg(comment)); + meta.append(""); + mMetaEdit->setHtml(meta); +} + void ArchiveController::fileSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected){ Q_UNUSED(selected); Q_UNUSED(deselected); -- cgit v1.2.3-70-g09d2