diff options
author | Arno <am@disconnect.de> | 2015-02-14 15:15:29 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2015-02-14 15:15:29 +0100 |
commit | 61345c3d52ab2e5d8243596e9368753477180968 (patch) | |
tree | ed2ad0c9a694b77a7c104a64bc25ea334b2de68b /filesystemwidget.cpp | |
parent | d44010d181847c6fa52b828afb0b673c0e9645ab (diff) | |
download | SheMov-61345c3d52ab2e5d8243596e9368753477180968.tar.gz SheMov-61345c3d52ab2e5d8243596e9368753477180968.tar.bz2 SheMov-61345c3d52ab2e5d8243596e9368753477180968.zip |
Implement play several times
Add context menu entry for playing movies in a loop or 2..5 times.
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(); |