From 295b8e2b197e689380002ccfe77fe4fb56c544d6 Mon Sep 17 00:00:00 2001 From: Arno Date: Wed, 4 Apr 2018 11:50:43 +0200 Subject: Implement MoviePropertiesDialog Try to replace all those editing dialogs with one exhausting dialog. For now, it's just the layout. It does nothing yet. --- moviepropertiesdialog.cpp | 94 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 moviepropertiesdialog.cpp (limited to 'moviepropertiesdialog.cpp') diff --git a/moviepropertiesdialog.cpp b/moviepropertiesdialog.cpp new file mode 100644 index 0000000..2b6fd80 --- /dev/null +++ b/moviepropertiesdialog.cpp @@ -0,0 +1,94 @@ +#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); +} -- cgit v1.2.3-70-g09d2