diff options
author | Arno <am@disconnect.de> | 2014-02-07 14:21:17 +0100 |
---|---|---|
committer | Arno <am@disconnect.de> | 2014-02-07 14:21:17 +0100 |
commit | 31f2960e3b50f08c9d4cad552f7c6e636b99a39f (patch) | |
tree | 86b86930499fd119d82d4ee392d72ccd422c0f33 /archivebrowser.cpp | |
parent | fc403bc4fda509bc1c3e3893b0b5c865cba97316 (diff) | |
download | SheMov-31f2960e3b50f08c9d4cad552f7c6e636b99a39f.tar.gz SheMov-31f2960e3b50f08c9d4cad552f7c6e636b99a39f.tar.bz2 SheMov-31f2960e3b50f08c9d4cad552f7c6e636b99a39f.zip |
Play movies from browser
Diffstat (limited to 'archivebrowser.cpp')
-rw-r--r-- | archivebrowser.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/archivebrowser.cpp b/archivebrowser.cpp index d0c06be..5c919e2 100644 --- a/archivebrowser.cpp +++ b/archivebrowser.cpp @@ -15,12 +15,14 @@ #include <QDir> #include <QFileInfo> #include <QSortFilterProxyModel> +#include <QProcess> #include "archivebrowser.h" #include "archivebrowsermodel.h" #include "smtreeview.h" #include "smglobals.h" #include "delegates.h" +#include "helper.h" ArchiveBrowser::ArchiveBrowser(QWidget *parent) : QWidget(parent), mSelectedSize(0), mSelectedItems(0){ //prep @@ -139,6 +141,28 @@ void ArchiveBrowser::refresh() { mModel->refresh(); } +void ArchiveBrowser::playCurrent(){ + QPair<QString, QStringList> pgdata = Helper::programData("movieviewer"); + QModelIndexList sel = mTree->selectionModel()->selectedRows(); + QStringList movieFiles; + foreach(QModelIndex idx, sel){ + QModelIndex real = mProxy->mapToSource(idx); + QModelIndexList children = mModel->children(real); + foreach(QModelIndex ci, children){ + if(ci.data(ArchiveBrowserModel::FileTypeRole).toInt() == 1){ + movieFiles << ci.data(ArchiveBrowserModel::FullPathRole).toString(); + } + } + } + if(movieFiles.isEmpty()){ + return; + } + QString prg = pgdata.first; + QStringList args = pgdata.second; + args.append(movieFiles); + QProcess::startDetached(prg, args); +} + void ArchiveBrowser::setupQualityFilter(){ mQualityFilter->clear(); QList<int> qualities = mModel->availableQualities(); |