diff options
author | Arno <am@disconnect.de> | 2010-06-26 17:16:12 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2010-06-26 17:16:12 +0200 |
commit | 8dc808a3bd6a8156db4f68e6faaaaae6a0534195 (patch) | |
tree | 36d0d4f09903884cb96ad290ce52ccfe2d105819 /helper.cpp | |
parent | 0b807eba97e65bf9e25f83387826ef2579b79c90 (diff) | |
download | SheMov-8dc808a3bd6a8156db4f68e6faaaaae6a0534195.tar.gz SheMov-8dc808a3bd6a8156db4f68e6faaaaae6a0534195.tar.bz2 SheMov-8dc808a3bd6a8156db4f68e6faaaaae6a0534195.zip |
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.
Diffstat (limited to 'helper.cpp')
-rw-r--r-- | helper.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
@@ -11,6 +11,8 @@ #include <QFile> #include <QSettings> #include <QCryptographicHash> +#include <QHash> +#include <QSettings> #include "helper.h" @@ -117,6 +119,29 @@ namespace Helper { return retval; } + QPair<QString, QStringList> programData(const QString &prefix, const QString &preferred){ + QSettings s; + QString section = QString("programs_%1").arg(prefix); + QHash<QString, QVariant> data = s.value(QString("%1/data").arg(section)).toHash(); + if(data.isEmpty()){ + return QPair<QString, QStringList>(); + } + QHash<QString, QVariant> 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, QStringList>(); + } + QString defaultProg = s.value(QString("%1/default").arg(section)).toString(); + if(defaultProg.isEmpty()){ + return QPair<QString, QStringList>(); + } + 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); } |