summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArno <arno@disconnect.de>2018-04-04 09:29:26 +0200
committerArno <arno@disconnect.de>2018-04-04 09:29:26 +0200
commit92cfde8d5fd705a291726d8c76d0c9968574eb94 (patch)
treeda18dd1564e969e3c454e59f3d5e424e5d8a048e
parentd8b964698d8bae30a0a0d609cbe5b01bd410e937 (diff)
downloadSheMov-92cfde8d5fd705a291726d8c76d0c9968574eb94.tar.gz
SheMov-92cfde8d5fd705a291726d8c76d0c9968574eb94.tar.bz2
SheMov-92cfde8d5fd705a291726d8c76d0c9968574eb94.zip
MovieWidget: Implement play selected for bottom view
-rw-r--r--moviewidget.cpp19
-rw-r--r--moviewidget.h1
2 files changed, 20 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);
+}
diff --git a/moviewidget.h b/moviewidget.h
index 8c8fc84..956830d 100644
--- a/moviewidget.h
+++ b/moviewidget.h
@@ -28,6 +28,7 @@ class MovieWidget : public QWidget {
void populateByGenres();
void topSelectionChanged();
void bottomDoubleClicked(const QModelIndex &idx);
+ void playSelected();
private:
void setupWidget();