diff options
-rw-r--r-- | moviepropertiesdialog.cpp | 94 | ||||
-rw-r--r-- | moviepropertiesdialog.h | 32 | ||||
-rw-r--r-- | moviewidget.cpp | 3 | ||||
-rw-r--r-- | moviewidget.h | 2 | ||||
-rw-r--r-- | shemov.pro | 6 |
5 files changed, 135 insertions, 2 deletions
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 <QLabel> +#include <QLineEdit> +#include <QRadioButton> +#include <QGroupBox> +#include <QPushButton> +#include <QIntValidator> +#include <QStandardItemModel> +#include <QGridLayout> +#include <QHBoxLayout> +#include <QVBoxLayout> +#include <QApplication> + +#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); +} diff --git a/moviepropertiesdialog.h b/moviepropertiesdialog.h new file mode 100644 index 0000000..63b03bf --- /dev/null +++ b/moviepropertiesdialog.h @@ -0,0 +1,32 @@ +#ifndef MOVIEPROPERTIESDIALOG_H +#define MOVIEPROPERTIESDIALOG_H + +#include <QDialog> + +class QLineEdit; +class QRadioButton; +class SmView; +class QStandardItemModel; + +class MoviePropertiesDialog : public QDialog { + public: + explicit MoviePropertiesDialog(QWidget *parent = nullptr); + void setPartsId(int id); + + private: + void setupDialog(); + QLineEdit *mSeriesNameLE; + QLineEdit *mSubtitleLE; + QLineEdit *mCommentLE; + QLineEdit *mReleaseYearLE; + QLineEdit *mSeriesPartLE; + QRadioButton *mTorrentRB; + QRadioButton *mUsenetRB; + SmView *mActorV; + QStandardItemModel *mActorM; + SmView *mGenreV; + QStandardItemModel *mGenreM; + int mSeriesPartsId; +}; + +#endif // MOVIEPROPERTIESDIALOG_H diff --git a/moviewidget.cpp b/moviewidget.cpp index c07da0f..d86305b 100644 --- a/moviewidget.cpp +++ b/moviewidget.cpp @@ -18,9 +18,11 @@ #include "moviewidget.h" #include "smview.h" +#include "moviepropertiesdialog.h" #include "helper.h" MovieWidget::MovieWidget(QWidget *parent) : QWidget(parent){ + mPropDlg = new MoviePropertiesDialog(this); setPalette(qApp->palette()); setupWidget(); } @@ -82,6 +84,7 @@ void MovieWidget::setupWidget(){ mTopProxy->setFilterKeyColumn(1); mTopView->setModel(mTopProxy); connect(mTopView->selectionModel(), &QItemSelectionModel::selectionChanged, this, &MovieWidget::topSelectionChanged); + connect(mTopView, &QTreeView::doubleClicked, [=] { mPropDlg->show(); }); mBottomView = new SmView; mBottomView->setAlternatingRowColors(true); diff --git a/moviewidget.h b/moviewidget.h index 6201861..43f05e6 100644 --- a/moviewidget.h +++ b/moviewidget.h @@ -9,6 +9,7 @@ class QTreeView; class QSortFilterProxyModel; class QStandardItemModel; class SmView; +class MoviePropertiesDialog; class MovieWidget : public QWidget { Q_OBJECT @@ -41,6 +42,7 @@ class MovieWidget : public QWidget { SmView *mBottomView; QSortFilterProxyModel *mBottomProxy; QStandardItemModel *mBottomModel; + MoviePropertiesDialog *mPropDlg; }; #endif // MOVIEWIDGET_H @@ -46,7 +46,8 @@ SOURCES = main.cpp \ fsproxy.cpp \ viewer.cpp \ moviewidget.cpp \ - smview.cpp + smview.cpp \ + moviepropertiesdialog.cpp HEADERS = \ shemov.h \ helper.h \ @@ -87,7 +88,8 @@ HEADERS = \ fsproxy.h \ viewer.h \ moviewidget.h \ - smview.h + smview.h \ + moviepropertiesdialog.h LIBS += -lmagic -lXfixes -lX11 -lMagick++-6.Q16HDRI INCLUDEPATH += /usr/include/ImageMagick-6/ RESOURCES = shemov.qrc |