#include "kdenlivesettingsdialog.h"
#include "profilesdialog.h"
-#if !defined(Q_OS_FREEBSD)
+#if !defined(Q_OS_FREEBSD) && !defined(Q_OS_KFREEBSD)
#include "v4l/v4lcapture.h"
#endif
#include "blackmagic/devices.h"
// Hide multi tab option until Kdenlive really supports it
m_configMisc.kcfg_activatetabs->setVisible(false);
+ // Hide avformat-novalidate trick, causes crash (bug #2205 and #2206)
+ m_configMisc.kcfg_projectloading_avformatnovalidate->setVisible(false);
QWidget *p8 = new QWidget;
m_configProject.setupUi(p8);
m_configEnv.mltpathurl->setMode(KFile::Directory);
m_configEnv.mltpathurl->lineEdit()->setObjectName("kcfg_mltpath");
m_configEnv.rendererpathurl->lineEdit()->setObjectName("kcfg_rendererpath");
- m_configEnv.kcfg_mltthreads->setMaximum(QThread::idealThreadCount());
+ m_configEnv.kcfg_mltthreads->setMaximum( QThread::idealThreadCount() < 4 ? QThread::idealThreadCount() : 3 );
m_configEnv.tmppathurl->setMode(KFile::Directory);
m_configEnv.tmppathurl->lineEdit()->setObjectName("kcfg_currenttmpfolder");
m_configEnv.projecturl->setMode(KFile::Directory);
QWidget *p4 = new QWidget;
m_configCapture.setupUi(p4);
-#if !defined(Q_WS_MAC) && !defined(Q_OS_FREEBSD)
+#if !defined(Q_WS_MAC) && !defined(Q_OS_FREEBSD) && !defined(Q_OS_KFREEBSD)
// Video 4 Linux device detection
for (int i = 0; i < 10; i++) {
connect(m_configCapture.kcfg_detectedv4ldevices, SIGNAL(currentIndexChanged(int)), this, SLOT(slotUpdatev4lDevice()));
connect(m_configCapture.kcfg_v4l_format, SIGNAL(currentIndexChanged(int)), this, SLOT(slotUpdatev4lCaptureProfile()));
connect(m_configCapture.kcfg_v4l_captureaudio, SIGNAL(toggled(bool)), m_configCapture.kcfg_v4l_alsadevice, SLOT(setEnabled(bool)));
+ connect(m_configCapture.config_v4l, SIGNAL(clicked()), this, SLOT(slotEditVideo4LinuxProfile()));
slotUpdatev4lDevice();
#endif
kDebug() << result;
QStringList lines = result.split('\n');
foreach(const QString & data, lines) {
- kDebug() << "// READING LINE: " << data;
- if (data.simplified().startsWith("card")) {
+ //kDebug() << "// READING LINE: " << data;
+ if (!data.startsWith(" ") && data.count(':') > 1) {
QString card = data.section(':', 0, 0).section(' ', -1);
QString device = data.section(':', 1, 1).section(' ', -1);
m_configSdl.kcfg_audio_device->addItem(data.section(':', -1), "plughw:" + card + ',' + device);
KdenliveSettings::setShuttlebuttons(maps);
#endif
-#if KDE_IS_VERSION(4,3,0)
KConfigDialog::settingsChangedSlot();
-#endif
//KConfigDialog::updateSettings();
if (resetProfile) emit doResetProfile();
QString maps = JogShuttleConfig::actionMap(actions);
m_shuttleModified = KdenliveSettings::shuttlebuttons() != maps;
#endif
-#if KDE_IS_VERSION(4,3,0)
KConfigDialog::updateButtons();
-#endif
}
void KdenliveSettingsDialog::slotDialogModified()
{
m_modified = true;
-#if KDE_IS_VERSION(4,3,0)
KConfigDialog::updateButtons();
-#endif
}
//virtual
m_configCapture.kcfg_v4l_format->clear();
QString vl4ProfilePath = KStandardDirs::locateLocal("appdata", "profiles/video4linux");
- if (QFile::exists(vl4ProfilePath)) m_configCapture.kcfg_v4l_format->addItem(i18n("Current settings"));
+ if (QFile::exists(vl4ProfilePath)) {
+ m_configCapture.kcfg_v4l_format->addItem(i18n("Current settings"));
+ }
QStringList pixelformats = info.split(">", QString::SkipEmptyParts);
QString itemSize;
void KdenliveSettingsDialog::loadEncodingProfiles()
{
- QString profileFile = KStandardDirs::locateLocal("appdata", "encodingprofiles.rc");
- KConfig conf(profileFile, KConfig::SimpleConfig);
- if (!QFile::exists(profileFile)) {
- KConfigGroup g1(&conf, "video4linux");
- g1.writeEntry("Normal MPEG", KdenliveSettings::v4l_parameters() + ";" + KdenliveSettings::v4l_extension());
- KConfigGroup g2(&conf, "decklink");
- g2.writeEntry("Normal MPEG", KdenliveSettings::decklink_parameters() + ";" + KdenliveSettings::decklink_extension());
- KConfigGroup g3(&conf, "proxy");
- g3.writeEntry("Normal MPEG", KdenliveSettings::proxyparams() + ";" + KdenliveSettings::proxyextension());
- }
+ KConfig conf("encodingprofiles.rc", KConfig::FullConfig, "appdata");
// Load v4l profiles
m_configCapture.kcfg_v4l_profile->blockSignals(true);
k.next();
if (!k.key().isEmpty()) m_configProject.kcfg_proxy_profile->addItem(k.key(), k.value());
}
- m_configProject.kcfg_proxy_profile->blockSignals(false);
if (!currentItem.isEmpty()) m_configProject.kcfg_proxy_profile->setCurrentIndex(m_configProject.kcfg_proxy_profile->findText(currentItem));
+ m_configProject.kcfg_proxy_profile->blockSignals(false);
+ slotUpdateProxyProfile();
+
}
void KdenliveSettingsDialog::slotUpdateDecklinkProfile(int ix)
//
}
+void KdenliveSettingsDialog::slotEditVideo4LinuxProfile()
+{
+ QString vl4ProfilePath = KStandardDirs::locateLocal("appdata", "profiles/video4linux");
+ ProfilesDialog *w = new ProfilesDialog(vl4ProfilePath);
+ if (w->exec() == QDialog::Accepted) {
+ // save and update profile
+ loadCurrentV4lProfileInfo();
+ }
+ delete w;
+}
+
#include "kdenlivesettingsdialog.moc"