diff options
author | Arno <am@disconnect.de> | 2014-12-10 07:13:29 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2014-12-10 07:13:29 +0100 |
commit | 0e27f8f8aaf1a0dbff9aed960e78f109517a387a (patch) | |
tree | 4a3dcfd742d3680878c5ff18994d00dbe3ef7a32 /archivecontroller.cpp | |
parent | b16cf3ff12cdec93fadfee1c117d989d0763e58b (diff) | |
download | SheMov-0e27f8f8aaf1a0dbff9aed960e78f109517a387a.tar.gz SheMov-0e27f8f8aaf1a0dbff9aed960e78f109517a387a.tar.bz2 SheMov-0e27f8f8aaf1a0dbff9aed960e78f109517a387a.zip |
Revamped MetadataWidget
Split it up into a small QTreeView and a QTextEdit for the comment.
QTreeView and horizontal scrollbars don't seem to play nice together. Qt
never displays the bar even if ElideText is set to none. So add a
QToolTip for the Subject/Name, since it's most likely not displayed
completely.
Diffstat (limited to 'archivecontroller.cpp')
-rw-r--r-- | archivecontroller.cpp | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/archivecontroller.cpp b/archivecontroller.cpp index a50023b..0cd0b1c 100644 --- a/archivecontroller.cpp +++ b/archivecontroller.cpp @@ -57,8 +57,9 @@ void ArchiveController::setMappingModels(QStandardItemModel *actorModel, QStanda mGenreModel = genreModel; } -void ArchiveController::setMetadata(QTextEdit *metadata){ - mMetadataView = metadata; +void ArchiveController::setMetadata(QStandardItemModel *model, QTextEdit *comment){ + mMetaModel = model; + mComment = comment; } void ArchiveController::init(){ @@ -230,6 +231,7 @@ void ArchiveController::addFiles(){ void ArchiveController::readConfig(){ mActorIcon = SmGlobals::instance()->iconFor("actor"); mGenreIcon = SmGlobals::instance()->iconFor("genre"); + mMetaIcon = QIcon(":/huge_bra.png"); } void ArchiveController::moveFilesToSeriespart(const QStringList &md5Sums, int newSeriesPart){ @@ -265,8 +267,46 @@ void ArchiveController::treeSelectionChanged(const QItemSelection &selected, con QStandardItem *newItem = new QStandardItem(mGenreIcon, genre); mGenreModel->appendRow(newItem); } - QString metaData = mArchiveModel->metadata(*ids.begin()); - mMetadataView->setHtml(metaData); + + mMetaModel->clear(); + QList<QVariant> 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<QStandardItem*>() << mRelI1 << mRelI2); + QStandardItem *mSrcI1 = new QStandardItem(mMetaIcon, tr("Source")); + QStandardItem *mSrcI2 = new QStandardItem(metadata.at(ArchiveModel::Source).toString()); + mMetaModel->appendRow(QList<QStandardItem*>() << 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<QStandardItem*>() << 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<QStandardItem*>() << 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<QStandardItem*>() << 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<QStandardItem*>() << 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<QStandardItem*>() << 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()); + int nodeType = sel.first().data(ArchiveModel::TypeRole).toInt(); foreach(QAction *a, mActionsForTree){ a->setEnabled(a->data().toInt() & nodeType); |