From 8dc808a3bd6a8156db4f68e6faaaaae6a0534195 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 26 Jun 2010 17:16:12 +0200 Subject: Implemented playing a movie on doubleclick Movie files are played in the default player when double clicking on a movie, but not when doubleclicking on a series. The latter invokes the edit event on the series. Don't yet know if this is a good thing or not. Changes on the way there: 1. new helper function for finding the right player. Still need to fix FileSystemWidget to also use the Helper::function. It's a simple copy & paste from there. 2. added function SeriesTreeModel::findSortedMovies. It returns a QFileInfoList sorted by seriespart and fileno. --- helper.cpp | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'helper.cpp') diff --git a/helper.cpp b/helper.cpp index d03c383..7b49695 100644 --- a/helper.cpp +++ b/helper.cpp @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include "helper.h" @@ -117,6 +119,29 @@ namespace Helper { return retval; } + QPair programData(const QString &prefix, const QString &preferred){ + QSettings s; + QString section = QString("programs_%1").arg(prefix); + QHash data = s.value(QString("%1/data").arg(section)).toHash(); + if(data.isEmpty()){ + return QPair(); + } + QHash programData; + if(!preferred.isEmpty()){ + if(data.keys().contains(preferred)){ + programData = data.value(preferred).toHash(); + return qMakePair(programData.value("path").toString(), programData.value("args").toStringList()); + } + return QPair(); + } + QString defaultProg = s.value(QString("%1/default").arg(section)).toString(); + if(defaultProg.isEmpty()){ + return QPair(); + } + programData = data.value(defaultProg).toHash(); + return qMakePair(programData.value("path").toString(), programData.value("args").toStringList()); + } + bool StringListContains::operator()(const QString s, const QString &part) const { return s.contains(part); } -- cgit v1.2.3-70-g09d2