summaryrefslogtreecommitdiffstats
path: root/configurationdialog.cpp
diff options
context:
space:
mode:
authorArno <am@disconnect.de>2010-07-31 16:26:10 +0200
committerArno <am@disconnect.de>2010-07-31 16:26:10 +0200
commit8eba6e7f033617f3e7ea3bd9913105df0de74ae2 (patch)
tree8d4b93a4a686e6e57526b77033bb985fa9545036 /configurationdialog.cpp
parent6d3b28f9b12964b161b5a7ac0038435cfdd6e27b (diff)
downloadSheMov-8eba6e7f033617f3e7ea3bd9913105df0de74ae2.tar.gz
SheMov-8eba6e7f033617f3e7ea3bd9913105df0de74ae2.tar.bz2
SheMov-8eba6e7f033617f3e7ea3bd9913105df0de74ae2.zip
Implement FilePropertiesDialog
Implemented a dialog for file properties. When the mime type says it's a video, fork ffprobe to read the properties of all streams and show them in a QTreeView powered by a SmTreeModel. If the mime type is image, use QImage to read some properties and show them in the same dialog. This commit introduces the new class FilePropertiesDialog. I also had to implement a copy constructor for SmTreeItem. It obsoletes classes ActorWidget, ActorModel and MoviePropertiesDialog.
Diffstat (limited to 'configurationdialog.cpp')
-rw-r--r--configurationdialog.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/configurationdialog.cpp b/configurationdialog.cpp
index f453700..6d6899c 100644
--- a/configurationdialog.cpp
+++ b/configurationdialog.cpp
@@ -18,6 +18,7 @@
#include <QApplication>
#include <QSettings>
#include <QRegExp>
+#include <QFileInfo>
#include "configurationdialog.h"
#include "programconfigurator.h"
@@ -52,6 +53,11 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : Q
mBurnDir->setCompleter(fsCompleter);
miscGrid->addWidget(miscl3, 2, 0);
miscGrid->addWidget(mBurnDir, 2, 1);
+ QLabel *miscl4 = new QLabel(tr("Path to ffprobe"));
+ mFfProbePath = new QLineEdit;
+ mFfProbePath->setCompleter(fsCompleter);
+ miscGrid->addWidget(miscl4, 3, 0);
+ miscGrid->addWidget(mFfProbePath, 3, 1);
mTab->addTab(miscWidget, tr("Misc. settings"));
// movie viewer
@@ -124,6 +130,7 @@ void ConfigurationDialog::readSettings(){
}
mArchiveDir->setText(s.value("paths/archivedir").toString());
mBurnDir->setText(s.value("paths/burn").toString());
+ mFfProbePath->setText(s.value("paths/ffprobe").toString());
//read database
mDatabaseHost->setText(s.value("database/hostname").toString());
@@ -140,6 +147,11 @@ void ConfigurationDialog::writeSettings(){
s.setValue("ui/folderIcon", mIconForFolder->currentText());
s.setValue("paths/archivedir", mArchiveDir->text());
s.setValue("paths/burn", mBurnDir->text());
+ QString ffprobe = mFfProbePath->text();
+ QFileInfo ffProbeInfo(ffprobe);
+ if(ffProbeInfo.exists() && ffProbeInfo.isExecutable()){
+ s.setValue("paths/ffprobe", ffprobe);
+ }
//write database
s.setValue("database/hostname", mDatabaseHost->text());