diff options
author | Arno <am@disconnect.de> | 2011-07-08 10:03:14 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2011-07-08 10:03:14 +0200 |
commit | 94e7da1400e59256f41f72b4592d4a9df1cca5a0 (patch) | |
tree | 0afb0303e878280fa3c9f829326cae9cb73114a3 /newmoviewizard.cpp | |
parent | 35774a402027714ed6f93041aea1ebe5f5391205 (diff) | |
download | SheMov-94e7da1400e59256f41f72b4592d4a9df1cca5a0.tar.gz SheMov-94e7da1400e59256f41f72b4592d4a9df1cca5a0.tar.bz2 SheMov-94e7da1400e59256f41f72b4592d4a9df1cca5a0.zip |
Turn metadata display into a QTreeView
This wasn't as easy as it sounds. I had to completely redesign the
SeriesMetadataModel. Now it's a hybrid between a ListModel and a
TreeModel. The actual data is held in a QList<QVariant>, the tree is
only for display.
Diffstat (limited to 'newmoviewizard.cpp')
-rw-r--r-- | newmoviewizard.cpp | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp index e479a33..f482d57 100644 --- a/newmoviewizard.cpp +++ b/newmoviewizard.cpp @@ -166,20 +166,18 @@ void NewMovieWizard::doMetadata(const QModelIndex &idx){ int seriesPartId = idx.data(SeriesTreeModel::SeriesPartIdRole).toInt(); SeriesMetadataModel *metadataModel = static_cast<SeriesMetadataModel*>(SmGlobals::instance()->model("SeriesMetadata")); metadataModel->populate(seriesPartId); - QModelIndex curIdx = metadataModel->find(seriesPartId, SeriesMetadataModel::SeriesPartId); - if(idx.isValid()){ - QModelIndex parent = curIdx.parent(); - int row = curIdx.row(); - metadataModel->setData(parent, field("year"), row, SeriesMetadataModel::ReleaseYear); - metadataModel->setData(parent, mMetadataPage->sourceMedium(), row, SeriesMetadataModel::SourceMedium); - metadataModel->setData(parent, field("subject"), row, SeriesMetadataModel::Subject); - metadataModel->setData(parent, mMetadataPage->releaseGroup(), row, SeriesMetadataModel::ReleaseGroup); - metadataModel->setData(parent, field("encoder"), row, SeriesMetadataModel::EncoderOpts); - metadataModel->setData(parent, mMetadataPage->comment(), row, SeriesMetadataModel::Comment); - metadataModel->setData(parent, field("passes"), row, SeriesMetadataModel::Passes); - metadataModel->setData(parent, QDate::currentDate(), row, SeriesMetadataModel::Added); - metadataModel->update(); - } + QList<QVariant> metaData; + for(int i = 0; i < metadataModel->numFields(); ++i){ + metaData << QVariant(); + } + metaData[SeriesMetadataModel::ReleaseYear] = field("year"); + metaData[SeriesMetadataModel::Subject] = field("subject"); + metaData[SeriesMetadataModel::EncoderOpts] = field("encoder"); + metaData[SeriesMetadataModel::Passes] = field("passes"); + metaData[SeriesMetadataModel::SourceMedium] = mMetadataPage->sourceMedium(); + metaData[SeriesMetadataModel::ReleaseGroup] = mMetadataPage->releaseGroup(); + metaData[SeriesMetadataModel::Added] = QDate::currentDate(); + metadataModel->setAllData(seriesPartId, metaData); } MovieInfoPage::MovieInfoPage(QWidget *parent) : QWizardPage(parent){ |