summaryrefslogtreecommitdiffstats
path: root/newmoviewizard.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'newmoviewizard.cpp')
-rw-r--r--newmoviewizard.cpp57
1 files changed, 32 insertions, 25 deletions
diff --git a/newmoviewizard.cpp b/newmoviewizard.cpp
index 1576c55..17fadc8 100644
--- a/newmoviewizard.cpp
+++ b/newmoviewizard.cpp
@@ -24,8 +24,6 @@
#include <QSettings>
#include <QFormLayout>
#include <QDate>
-#include <QSqlDatabase>
-#include <QSqlQuery>
#include <QPlainTextEdit>
#include "newmoviewizard.h"
@@ -35,6 +33,7 @@
#include "smglobals.h"
#include "mappingtablewidget.h"
#include "mappingtablemodel.h"
+#include "seriesmetadatamodel.h"
#include "filestreemodel.h"
#include "helper.h"
#include "pictureviewer.h"
@@ -140,19 +139,23 @@ void NewMovieWizard::doMetadata(const QModelIndex &idx){
if(!isEnabled){
return;
}
- QSqlDatabase db = QSqlDatabase::database("treedb");
int seriesPartId = idx.data(SeriesTreeModel::SeriesPartIdRole).toInt();
- QSqlQuery metadataInsert(db);
- metadataInsert.prepare("INSERT INTO metadata (iseriespart_id, sireleaseyear, tsourcemedium, tsubject, treleasegroup, tencoderopts, tcomment, sipasses) VALUES(:id, :year, :source, :subject, :group, :enc, :comment, :passes)");
- metadataInsert.bindValue(":id", seriesPartId);
- metadataInsert.bindValue(":year", field("year"));
- metadataInsert.bindValue(":source", field("source"));
- metadataInsert.bindValue(":subject", field("subject"));
- metadataInsert.bindValue(":group", field("group"));
- metadataInsert.bindValue(":enc", field("encoder"));
- metadataInsert.bindValue(":comment", field("comment"));
- metadataInsert.bindValue(":passes", field("passes"));
- metadataInsert.exec();
+ 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();
+ }
}
MovieInfoPage::MovieInfoPage(QWidget *parent) : QWizardPage(parent){
@@ -468,6 +471,7 @@ void MovieMappingPage::initializePage(){
MovieMetadataPage::MovieMetadataPage(QWidget *parent) : QWizardPage(parent){
setTitle(tr("Edit movie metadata"));
setSubTitle(tr("Set the movie metadata here, as far as known"));
+ mModel = static_cast<SeriesMetadataModel*>(SmGlobals::instance()->model("SeriesMetadata"));
setupGui();
}
@@ -521,19 +525,10 @@ void MovieMetadataPage::setupGui(){
}
void MovieMetadataPage::initializePage(){
- QSqlDatabase db = QSqlDatabase::database("treedb");
- QSqlQuery relGroupQuery("SELECT DISTINCT(treleasegroup) FROM metadata ORDER BY treleasegroup DESC", db);
- QStringList relGroups;
- while(relGroupQuery.next()){
- relGroups << relGroupQuery.value(0).toString();
- }
+ QStringList relGroups = Helper::toStringList(mModel->fieldList(SeriesMetadataModel::ReleaseGroup));
mReleaseGroup->clear();
mReleaseGroup->addItems(relGroups);
- QSqlQuery sourceMediumQuery("SELECT DISTINCT(tsourcemedium) FROM metadata ORDER BY tsourcemedium DESC", db);
- QStringList sourceMediums;
- while(sourceMediumQuery.next()){
- sourceMediums << sourceMediumQuery.value(0).toString();
- }
+ QStringList sourceMediums = Helper::toStringList(mModel->fieldList(SeriesMetadataModel::SourceMedium));
mSourceMedium->clear();
mSourceMedium->addItems(sourceMediums);
mReleaseYear->setValue(QDate::currentDate().year());
@@ -543,6 +538,18 @@ void MovieMetadataPage::initializePage(){
mComment->clear();
}
+QString MovieMetadataPage::comment() const {
+ return mComment->toPlainText();
+}
+
+QString MovieMetadataPage::releaseGroup() const {
+ return mReleaseGroup->currentText();
+}
+
+QString MovieMetadataPage::sourceMedium() const {
+ return mSourceMedium->currentText();
+}
+
void MovieMetadataPage::toggleMetadata(int state){
bool isEnabled = (state == Qt::Checked);
foreach(QWidget *w, mWidgets){