#include #include #include #include #include #include #include #include #include #include #include #include #include #include "moviepropertiesdialog.h" #include "smview.h" MoviePropertiesDialog::MoviePropertiesDialog(QWidget *parent) : QDialog(parent){ setupDialog(); } void MoviePropertiesDialog::setupDialog(){ QLabel *seriesNameL = new QLabel(tr("Name")); mSeriesNameLE = new QLineEdit; QGridLayout *seriesGrid = new QGridLayout; seriesGrid->addWidget(seriesNameL, 0, 0); seriesGrid->addWidget(mSeriesNameLE, 0, 1); QLabel *seriesSubtitleL = new QLabel(tr("Subtitle")); mSubtitleLE = new QLineEdit; seriesGrid->addWidget(seriesSubtitleL, 1, 0); seriesGrid->addWidget(mSubtitleLE, 1, 1); QLabel *commentL = new QLabel(tr("Comment")); mCommentLE = new QLineEdit; seriesGrid->addWidget(commentL, 2, 0); seriesGrid->addWidget(mCommentLE, 2, 1); QGroupBox *seriesGB = new QGroupBox(tr("Series")); seriesGB->setLayout(seriesGrid); QIntValidator *validator = new QIntValidator(this); mReleaseYearLE = new QLineEdit("0000"); mReleaseYearLE->setValidator(validator); QGroupBox *releaseYearGB = new QGroupBox(tr("Rel. year")); QHBoxLayout *releaseYearGBL = new QHBoxLayout; releaseYearGBL->addWidget(mReleaseYearLE); releaseYearGB->setLayout(releaseYearGBL); mSeriesPartLE = new QLineEdit("00"); mSeriesPartLE->setValidator(validator); QGroupBox *partNoGB = new QGroupBox(tr("Part No.")); QHBoxLayout *partNoGBL = new QHBoxLayout; partNoGBL->addWidget(mSeriesPartLE); partNoGB->setLayout(partNoGBL); mTorrentRB = new QRadioButton(tr("BitTorrent")); mUsenetRB = new QRadioButton(tr("Usenet")); QGroupBox *sourceGB = new QGroupBox(tr("Source")); QHBoxLayout *sourceGBL = new QHBoxLayout; sourceGBL->addWidget(mTorrentRB); sourceGBL->addWidget(mUsenetRB); sourceGB->setLayout(sourceGBL); QHBoxLayout *variousL = new QHBoxLayout; variousL->addWidget(releaseYearGB); variousL->addWidget(partNoGB); variousL->addWidget(sourceGB); mActorV = new SmView; mActorV->setPalette(qApp->palette()); mActorV->setAlternatingRowColors(true); mActorM = new QStandardItemModel; mActorV->setModel(mActorM); QGroupBox *actorsGB = new QGroupBox(tr("Actors")); QHBoxLayout *actorsGBL = new QHBoxLayout; actorsGBL->addWidget(mActorV); actorsGB->setLayout(actorsGBL); mGenreV = new SmView; mGenreV->setPalette(qApp->palette()); mGenreV->setAlternatingRowColors(true); mGenreM = new QStandardItemModel; mGenreV->setModel(mGenreM); QGroupBox *genresGB = new QGroupBox(tr("Genres")); QHBoxLayout *genresGBL = new QHBoxLayout; genresGBL->addWidget(mGenreV); genresGB->setLayout(genresGBL); QHBoxLayout *viewL = new QHBoxLayout; viewL->addWidget(actorsGB); viewL->addWidget(genresGB); QPushButton *updatePB = new QPushButton(tr("Update!")); QPushButton *cancelPB = new QPushButton(tr("Cancel")); connect(cancelPB, &QPushButton::clicked, this, &MoviePropertiesDialog::reject); QHBoxLayout *buttonLayout = new QHBoxLayout; buttonLayout->addStretch(); buttonLayout->addWidget(cancelPB); buttonLayout->addWidget(updatePB); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addWidget(seriesGB); mainLayout->addLayout(variousL); mainLayout->addLayout(viewL); mainLayout->addLayout(buttonLayout); setLayout(mainLayout); } void MoviePropertiesDialog::init(int seriesPartsId){ QSqlDatabase db = QSqlDatabase::database("treedb"); QSqlQuery genQ(db); genQ.prepare("SELECT series.tseries_name, seriesparts.tsubtitle, seriesparts.iseriespart, metadata.tcomment, metadata.sireleaseyear, metadata.tsourcemedium FROM series, seriesparts, metadata WHERE seriesparts.iseriesparts_id = :id AND seriesparts.iseries_id = series.iseries_id AND metadata.iseriespart_id = seriesparts.iseriesparts_id"); genQ.bindValue(":id", seriesPartsId); genQ.exec(); while(genQ.next()){ mSeriesNameLE->setText(genQ.value(0).toString()); mSubtitleLE->setText(genQ.value(1).toString()); mSeriesPartLE->setText(genQ.value(2).toString()); mCommentLE->setText(genQ.value(3).toString()); mReleaseYearLE->setText(genQ.value(4).toString()); QString src = genQ.value(5).toString().toLower(); if(src == "usenet"){ mUsenetRB->setChecked(true); } if(src == "torrent"){ mTorrentRB->setChecked(true); } } }