diff options
Diffstat (limited to 'filesystemwidget.cpp')
-rw-r--r-- | filesystemwidget.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp index 5568db0..ac840bd 100644 --- a/filesystemwidget.cpp +++ b/filesystemwidget.cpp @@ -355,6 +355,30 @@ void FilesystemWidget::playSelected(const QString &player){ QProcess::startDetached(program, programArgs); } +void FilesystemWidget::playSelectedRepeat(int times){ + TimerHandler h(mFileModel->refreshTimer()); + QStringList files = selectedFiles(); + if(files.isEmpty()){ + statusbarMessage(tr("Nothing selected.")); + return; + } + QPair<QString, QStringList> data = programData("movieviewer", QString()); + QString program = data.first; + QStringList programArgs(data.second); + if(times == -1){ + programArgs << "--loop" << files; + }else{ + for(int i = 0; i < times; ++i){ + programArgs << files; + } + } + QProcess::startDetached(program, programArgs); +} + +void FilesystemWidget::playSelectedInfinite(){ + playSelectedRepeat(-1); +} + void FilesystemWidget::readSettings(){ QSettings s; QStringList expandedDirs = s.value("paths/expandeddirs").toStringList(); |