From b49c6828a92590311712d766d54c15596f13addf Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 3 Sep 2016 18:26:28 +0200 Subject: Make ffprobe and mkvinfo configurable Need ffprobe for video file infos, maybe mkvinfo, too... --- configurationwidget.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'configurationwidget.cpp') diff --git a/configurationwidget.cpp b/configurationwidget.cpp index 09a823b..2de4e2a 100644 --- a/configurationwidget.cpp +++ b/configurationwidget.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include "configurationwidget.h" @@ -28,6 +29,24 @@ ConfigurationWidget::ConfigurationWidget(QWidget *parent, Qt::WindowFlags f) : Q QWidget *dbWidget = new QWidget; dbWidget->setLayout(dbLayout); + //exernal programs + QGridLayout *extL = new QGridLayout; + mFfProbe = new QLineEdit; + extL->addWidget(new QLabel(tr("ffprobe")), 0, 0); + extL->addWidget(mFfProbe, 0, 1); + QPushButton *browseffBtn = new QPushButton(tr("Browse...")); + connect(browseffBtn, SIGNAL(clicked()), this, SLOT(browseff())); + extL->addWidget(browseffBtn, 0, 2); + mMkvInfo = new QLineEdit; + extL->addWidget(new QLabel(tr("mkvinfo")), 1, 0); + extL->addWidget(mMkvInfo, 1, 1); + QPushButton *browsemkvBtn = new QPushButton(tr("Browse...")); + connect(browsemkvBtn, SIGNAL(clicked()), this, SLOT(browsemkv())); + extL->addWidget(browsemkvBtn, 1, 2); + extL->setAlignment(Qt::AlignTop); + QWidget *extWidget = new QWidget; + extWidget->setLayout(extL); + //buttons mAccept = new QPushButton(tr("Save")); connect(mAccept, SIGNAL(clicked()), this, SLOT(accept())); @@ -43,6 +62,7 @@ ConfigurationWidget::ConfigurationWidget(QWidget *parent, Qt::WindowFlags f) : Q QVBoxLayout *mainLayout = new QVBoxLayout; QTabWidget *tab = new QTabWidget; tab->addTab(dbWidget, tr("Database")); + tab->addTab(extWidget, tr("Programs")); mainLayout->addWidget(tab); mainLayout->addLayout(bLayout); readSettings(); @@ -55,13 +75,27 @@ void ConfigurationWidget::accept(){ s.setValue("dbuser", mDbUser->text()); s.setValue("dbpass", mDbPass->text()); s.setValue("dbname", mDbName->text()); + s.setValue("ext/ffprobe", mFfProbe->text()); + s.setValue("ext/mkvinfo", mMkvInfo->text()); QDialog::accept(); } +void ConfigurationWidget::browseff(){ + QString ffprobe = QFileDialog::getOpenFileName(this, tr("Select ffprobe"), QDir::homePath()); + mFfProbe->setText(QDir::toNativeSeparators(ffprobe)); +} + +void ConfigurationWidget::browsemkv(){ + QString mkvinfo = QFileDialog::getOpenFileName(this, tr("Select mkvinfo"), QDir::homePath()); + mMkvInfo->setText(QDir::toNativeSeparators(mkvinfo)); +} + void ConfigurationWidget::readSettings(){ QSettings s; mDbHost->setText(s.value("dbhost").toString()); mDbUser->setText(s.value("dbuser").toString()); mDbPass->setText(s.value("dbpass").toString()); mDbName->setText(s.value("dbname").toString()); + mFfProbe->setText(s.value("ext/ffprobe").toString()); + mMkvInfo->setText(s.value("ext/mkvinfo").toString()); } -- cgit v1.2.3-70-g09d2