summaryrefslogtreecommitdiffstats
path: root/helper.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-06-26 17:16:12 +0200
committerArno <am@disconnect.de>2010-06-26 17:16:12 +0200
commit8dc808a3bd6a8156db4f68e6faaaaae6a0534195 (patch)
tree36d0d4f09903884cb96ad290ce52ccfe2d105819 /helper.cpp
parent0b807eba97e65bf9e25f83387826ef2579b79c90 (diff)
downloadSheMov-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.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/helper.cpp b/helper.cpp
index d03c383..7b49695 100644
--- a/helper.cpp
+++ b/helper.cpp
@@ -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);
}