summaryrefslogtreecommitdiffstats
path: root/newmoviewizard.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2011-07-08 10:03:14 +0200
committerArno <am@disconnect.de>2011-07-08 10:03:14 +0200
commit94e7da1400e59256f41f72b4592d4a9df1cca5a0 (patch)
tree0afb0303e878280fa3c9f829326cae9cb73114a3 /newmoviewizard.cpp
parent35774a402027714ed6f93041aea1ebe5f5391205 (diff)
downloadSheMov-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.cpp26
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){