From 8eba6e7f033617f3e7ea3bd9913105df0de74ae2 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 31 Jul 2010 16:26:10 +0200 Subject: 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. --- configurationdialog.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'configurationdialog.cpp') diff --git a/configurationdialog.cpp b/configurationdialog.cpp index f453700..6d6899c 100644 --- a/configurationdialog.cpp +++ b/configurationdialog.cpp @@ -18,6 +18,7 @@ #include #include #include +#include #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()); -- cgit v1.2.3-70-g09d2