diff options
Diffstat (limited to 'moviewidget.cpp')
-rw-r--r-- | moviewidget.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/moviewidget.cpp b/moviewidget.cpp index 27489e7..b689809 100644 --- a/moviewidget.cpp +++ b/moviewidget.cpp @@ -93,6 +93,10 @@ void MovieWidget::setupWidget(){ mBottomProxy->setSourceModel(mBottomModel); mBottomView->setModel(mBottomProxy); connect(mBottomView, &SmView::doubleClicked, this, &MovieWidget::bottomDoubleClicked); + QAction *playSelectedA = new QAction(QIcon(":/spreadingpants.png"), tr("Play selected"), this); + connect(playSelectedA, &QAction::triggered, this, &MovieWidget::playSelected); + + mBottomView->addActions(QList<QAction*>() << playSelectedA); QVBoxLayout *mainLayout = new QVBoxLayout; mainLayout->addLayout(topWL); @@ -390,3 +394,18 @@ void MovieWidget::bottomDoubleClicked(const QModelIndex &idx){ QProcess::startDetached(playerData.first, args); } } + +void MovieWidget::playSelected(){ + QModelIndexList selected = mBottomView->selectionModel()->selectedRows(); + if(selected.isEmpty()){ + return; + } + QStringList files; + for(QModelIndex &idx : selected){ + files << idx.data(FullPathRole).toString(); + } + QPair<QString, QStringList> playerData = Helper::programData("movieviewer"); + QStringList args = playerData.second; + args << files; + QProcess::startDetached(playerData.first, args); +} |