summaryrefslogtreecommitdiffstats
path: root/moviewidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'moviewidget.cpp')
-rw-r--r--moviewidget.cpp19
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);
+}