summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--moviepropertiesdialog.cpp24
-rw-r--r--moviepropertiesdialog.h4
-rw-r--r--moviewidget.cpp8
-rw-r--r--moviewidget.h1
4 files changed, 35 insertions, 2 deletions
diff --git a/moviepropertiesdialog.cpp b/moviepropertiesdialog.cpp
index 2b6fd80..6197526 100644
--- a/moviepropertiesdialog.cpp
+++ b/moviepropertiesdialog.cpp
@@ -3,6 +3,8 @@
#include <QRadioButton>
#include <QGroupBox>
#include <QPushButton>
+#include <QSqlDatabase>
+#include <QSqlQuery>
#include <QIntValidator>
#include <QStandardItemModel>
#include <QGridLayout>
@@ -92,3 +94,25 @@ void MoviePropertiesDialog::setupDialog(){
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);
+ }
+ }
+}
diff --git a/moviepropertiesdialog.h b/moviepropertiesdialog.h
index 63b03bf..a409b0a 100644
--- a/moviepropertiesdialog.h
+++ b/moviepropertiesdialog.h
@@ -11,7 +11,9 @@ class QStandardItemModel;
class MoviePropertiesDialog : public QDialog {
public:
explicit MoviePropertiesDialog(QWidget *parent = nullptr);
- void setPartsId(int id);
+
+ public slots:
+ void init(int seriesPartsId);
private:
void setupDialog();
diff --git a/moviewidget.cpp b/moviewidget.cpp
index d86305b..d3990ca 100644
--- a/moviewidget.cpp
+++ b/moviewidget.cpp
@@ -84,7 +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(); });
+ connect(mTopView, &QTreeView::doubleClicked, this, &MovieWidget::topDoubleClicked);
mBottomView = new SmView;
mBottomView->setAlternatingRowColors(true);
@@ -407,6 +407,12 @@ void MovieWidget::bottomDoubleClicked(const QModelIndex &idx){
}
}
+void MovieWidget::topDoubleClicked(const QModelIndex &idx){
+ int seriesPartsId = idx.data(SeriesPartIdRole).toInt();
+ mPropDlg->init(seriesPartsId);
+ mPropDlg->show();
+}
+
void MovieWidget::playSelected(){
QModelIndexList selected = mBottomView->selectionModel()->selectedRows();
if(selected.isEmpty()){
diff --git a/moviewidget.h b/moviewidget.h
index 43f05e6..3a6a795 100644
--- a/moviewidget.h
+++ b/moviewidget.h
@@ -29,6 +29,7 @@ class MovieWidget : public QWidget {
void populateByGenres();
void topSelectionChanged();
void bottomDoubleClicked(const QModelIndex &idx);
+ void topDoubleClicked(const QModelIndex &idx);
void playSelected();
void copyToClipboard(int role);