X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fkdenlivesettingsdialog.cpp;h=c50b354e1090c6e73044c8d68d3a0336dbf03f92;hb=4274029010fe1c1f4f5a2d4d4b6981fbdb57f490;hp=34297068c8e61ff847ac971ade8d10fabbb2b8fe;hpb=664d1a3d5bf9c771936ca98d48163fa4df6ffc0e;p=kdenlive diff --git a/src/kdenlivesettingsdialog.cpp b/src/kdenlivesettingsdialog.cpp index 34297068..c50b354e 100644 --- a/src/kdenlivesettingsdialog.cpp +++ b/src/kdenlivesettingsdialog.cpp @@ -22,9 +22,9 @@ #ifdef USE_V4L #include "v4l/v4lcapture.h" #endif -#include "blackmagic/devices.h" #include "encodingprofilesdialog.h" #include "kdenlivesettings.h" +#include "renderer.h" #include #include @@ -33,6 +33,7 @@ #include #include #include +#include #include #include @@ -83,6 +84,8 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap& map m_configEnv.mltpathurl->setMode(KFile::Directory); m_configEnv.mltpathurl->lineEdit()->setObjectName("kcfg_mltpath"); m_configEnv.rendererpathurl->lineEdit()->setObjectName("kcfg_rendererpath"); + m_configEnv.ffmpegurl->lineEdit()->setObjectName("kcfg_ffmpegpath"); + m_configEnv.ffplayurl->lineEdit()->setObjectName("kcfg_ffplaypath"); m_configEnv.kcfg_mltthreads->setMaximum( QThread::idealThreadCount() < 4 ? QThread::idealThreadCount() : 3 ); m_configEnv.tmppathurl->setMode(KFile::Directory); m_configEnv.tmppathurl->lineEdit()->setObjectName("kcfg_currenttmpfolder"); @@ -103,7 +106,7 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap& map for (int i = 0; i < 10; i++) { QString path = "/dev/video" + QString::number(i); if (QFile::exists(path)) { - QStringList deviceInfo = V4lCaptureHandler::getDeviceName(path.toUtf8().constData()); + QStringList deviceInfo = V4lCaptureHandler::getDeviceName(path); if (!deviceInfo.isEmpty()) { m_configCapture.kcfg_detectedv4ldevices->addItem(deviceInfo.at(0), path); m_configCapture.kcfg_detectedv4ldevices->setItemData(m_configCapture.kcfg_detectedv4ldevices->count() - 1, deviceInfo.at(1), Qt::UserRole + 1); @@ -112,7 +115,6 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap& map } 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(); @@ -120,10 +122,10 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap& map m_page4 = addPage(p4, i18n("Capture"), "media-record"); m_configCapture.tabWidget->setCurrentIndex(KdenliveSettings::defaultcapture()); -#ifndef USE_V4L +#ifdef Q_WS_MAC m_configCapture.tabWidget->setEnabled(false); m_configCapture.kcfg_defaultcapture->setEnabled(false); - m_configCapture.label->setText(i18n("Capture is not yet available on this platform.")); + m_configCapture.label->setText(i18n("Capture is not yet available on Mac OS X.")); #endif QWidget *p5 = new QWidget; @@ -188,7 +190,18 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap& map m_page7 = addPage(p7, i18n("Transcode"), "edit-copy"); connect(m_configTranscode.button_add, SIGNAL(clicked()), this, SLOT(slotAddTranscode())); connect(m_configTranscode.button_delete, SIGNAL(clicked()), this, SLOT(slotDeleteTranscode())); - connect(m_configTranscode.profiles_list, SIGNAL(itemChanged(QTreeWidgetItem *, int)), this, SLOT(slotDialogModified())); + connect(m_configTranscode.profiles_list, SIGNAL(itemChanged(QListWidgetItem *)), this, SLOT(slotDialogModified())); + connect(m_configTranscode.profiles_list, SIGNAL(currentRowChanged(int)), this, SLOT(slotSetTranscodeProfile())); + + connect(m_configTranscode.profile_name, SIGNAL(textChanged(const QString &)), this, SLOT(slotEnableTranscodeUpdate())); + connect(m_configTranscode.profile_description, SIGNAL(textChanged(const QString &)), this, SLOT(slotEnableTranscodeUpdate())); + connect(m_configTranscode.profile_extension, SIGNAL(textChanged(const QString &)), this, SLOT(slotEnableTranscodeUpdate())); + connect(m_configTranscode.profile_parameters, SIGNAL(textChanged()), this, SLOT(slotEnableTranscodeUpdate())); + connect(m_configTranscode.profile_audioonly, SIGNAL(stateChanged(int)), this, SLOT(slotEnableTranscodeUpdate())); + + connect(m_configTranscode.button_update, SIGNAL(pressed()), this, SLOT(slotUpdateTranscodingProfile())); + + m_configTranscode.profile_parameters->setMaximumHeight(QFontMetrics(font()).lineSpacing() * 5); connect(m_configCapture.kcfg_rmd_capture_audio, SIGNAL(clicked(bool)), m_configCapture.audio_group, SLOT(setVisible(bool))); @@ -255,16 +268,11 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap& map slotUpdateV4lProfile(-1); slotUpdateDecklinkProfile(-1); - BMInterface::getBlackMagicDeviceList(m_configCapture.kcfg_decklink_capturedevice); - if (m_configCapture.kcfg_decklink_capturedevice->count() > 0) { - QStringList modes = m_configCapture.kcfg_decklink_capturedevice->itemData(m_configCapture.kcfg_decklink_capturedevice->currentIndex()).toStringList(); - m_configCapture.kcfg_decklink_capturedevice->setToolTip(i18n("Supported capture modes:\n") + modes.join("\n")); + Render::getBlackMagicDeviceList(m_configCapture.kcfg_decklink_capturedevice); + if (!Render::getBlackMagicOutputDeviceList(m_configSdl.kcfg_blackmagic_output_device)) { + // No blackmagic card found + m_configSdl.kcfg_external_display->setEnabled(false); } - connect(m_configCapture.kcfg_decklink_capturedevice, SIGNAL(currentIndexChanged(int)), this, SLOT(slotUpdateHDMIModes())); - - if (BMInterface::getBlackMagicOutputDeviceList(m_configSdl.kcfg_blackmagic_output_device)) { - // Found blackmagic card - } else m_configSdl.kcfg_external_display->setEnabled(false); double dvgrabVersion = 0; if (!KdenliveSettings::dvgrab_path().isEmpty()) { @@ -298,12 +306,6 @@ KdenliveSettingsDialog::KdenliveSettingsDialog(const QMap& map KdenliveSettingsDialog::~KdenliveSettingsDialog() {} -void KdenliveSettingsDialog::slotUpdateHDMIModes() -{ - QStringList modes = m_configCapture.kcfg_decklink_capturedevice->itemData(m_configCapture.kcfg_decklink_capturedevice->currentIndex()).toStringList(); - m_configCapture.kcfg_decklink_capturedevice->setToolTip(i18n("Supported capture modes:\n") + modes.join("\n")); -} - void KdenliveSettingsDialog::slotUpdateRmdRegionStatus() { m_configCapture.region_group->setHidden(m_configCapture.kcfg_rmd_capture_type->currentIndex() != 1); @@ -393,13 +395,17 @@ void KdenliveSettingsDialog::initDevices() } if (line.contains("capture")) { deviceId = line.section(':', 0, 0); - m_configCapture.kcfg_rmd_alsa_device->addItem(line.section(':', 1, 1), "plughw:" + QString::number(deviceId.section('-', 0, 0).toInt()) + ',' + QString::number(deviceId.section('-', 1, 1).toInt())); - m_configCapture.kcfg_v4l_alsadevice->addItem(line.section(':', 1, 1), "hw:" + QString::number(deviceId.section('-', 0, 0).toInt()) + ',' + QString::number(deviceId.section('-', 1, 1).toInt())); + m_configCapture.kcfg_rmd_alsa_device->addItem(line.section(':', 1, 1).simplified(), "plughw:" + QString::number(deviceId.section('-', 0, 0).toInt()) + ',' + QString::number(deviceId.section('-', 1, 1).toInt())); + m_configCapture.kcfg_v4l_alsadevice->addItem(line.section(':', 1, 1).simplified(), "hw:" + QString::number(deviceId.section('-', 0, 0).toInt()) + ',' + QString::number(deviceId.section('-', 1, 1).toInt())); } } file.close(); } } + + // Add pulseaudio capture option + m_configCapture.kcfg_v4l_alsadevice->addItem(i18n("PulseAudio"), "pulse"); + if (!KdenliveSettings::audiodevicename().isEmpty()) { // Select correct alsa device int ix = m_configSdl.kcfg_audio_device->findData(KdenliveSettings::audiodevicename()); @@ -433,12 +439,12 @@ void KdenliveSettingsDialog::slotReadAudioDevices() QStringList lines = result.split('\n'); foreach(const QString & data, lines) { //kDebug() << "// READING LINE: " << data; - if (!data.startsWith(" ") && data.count(':') > 1) { + 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); - m_configCapture.kcfg_rmd_alsa_device->addItem(data.section(':', -1), "plughw:" + card + ',' + device); - m_configCapture.kcfg_v4l_alsadevice->addItem(data.section(':', -1), "hw:" + card + ',' + device); + m_configSdl.kcfg_audio_device->addItem(data.section(':', -1).simplified(), "plughw:" + card + ',' + device); + m_configCapture.kcfg_rmd_alsa_device->addItem(data.section(':', -1).simplified(), "plughw:" + card + ',' + device); + m_configCapture.kcfg_v4l_alsadevice->addItem(data.section(':', -1).simplified(), "hw:" + card + ',' + device); } } } @@ -476,40 +482,51 @@ void KdenliveSettingsDialog::showPage(int page, int option) void KdenliveSettingsDialog::slotEditVideoApplication() { KService::Ptr service; - KOpenWithDialog dlg(KUrl::List(), i18n("Select default video player"), m_configEnv.kcfg_defaultplayerapp->text(), this); - if (dlg.exec() != QDialog::Accepted) + QPointer dlg = new KOpenWithDialog(KUrl::List(), i18n("Select default video player"), m_configEnv.kcfg_defaultplayerapp->text(), this); + if (dlg->exec() != QDialog::Accepted) + { + delete dlg; return; + } - service = dlg.service(); + service = dlg->service(); m_configEnv.kcfg_defaultplayerapp->setText(service->exec()); + delete dlg; } void KdenliveSettingsDialog::slotEditAudioApplication() { KService::Ptr service; - KOpenWithDialog dlg(KUrl::List(), i18n("Select default audio editor"), m_configEnv.kcfg_defaultaudioapp->text(), this); - if (dlg.exec() != QDialog::Accepted) + QPointer dlg = new KOpenWithDialog(KUrl::List(), i18n("Select default audio editor"), m_configEnv.kcfg_defaultaudioapp->text(), this); + if (dlg->exec() != QDialog::Accepted) + { + delete dlg; return; + } - service = dlg.service(); + service = dlg->service(); m_configEnv.kcfg_defaultaudioapp->setText(service->exec()); + delete dlg; } void KdenliveSettingsDialog::slotEditImageApplication() { KService::Ptr service; - KOpenWithDialog dlg(KUrl::List(), i18n("Select default image editor"), m_configEnv.kcfg_defaultimageapp->text(), this); - if (dlg.exec() != QDialog::Accepted) + QPointer dlg = new KOpenWithDialog(KUrl::List(), i18n("Select default image editor"), m_configEnv.kcfg_defaultimageapp->text(), this); + if (dlg->exec() != QDialog::Accepted) + { + delete dlg; return; - - service = dlg.service(); + } + service = dlg->service(); m_configEnv.kcfg_defaultimageapp->setText(service->exec()); + delete dlg; } -#ifdef USE_JOGSHUTTLE void KdenliveSettingsDialog::slotCheckShuttle(int state) { - m_configShuttle.config_group->setEnabled(state); +#ifdef USE_JOGSHUTTLE + m_configShuttle.config_group->setEnabled(state); if (m_configShuttle.shuttledevicelist->count() == 0) { // parse devices QString baseName = "/dev/input/event"; @@ -527,16 +544,17 @@ void KdenliveSettingsDialog::slotCheckShuttle(int state) } if (KdenliveSettings::shuttledevice().isEmpty()) QTimer::singleShot(1500, this, SLOT(slotUpdateShuttleDevice())); } +#endif /* USE_JOGSHUTTLE */ } void KdenliveSettingsDialog::slotUpdateShuttleDevice(int ix) { +#ifdef USE_JOGSHUTTLE QString device = m_configShuttle.shuttledevicelist->itemData(ix).toString(); //KdenliveSettings::setShuttledevice(device); m_configShuttle.kcfg_shuttledevice->setText(device); -} - #endif /* USE_JOGSHUTTLE */ +} void KdenliveSettingsDialog::updateWidgets() { @@ -618,19 +636,19 @@ void KdenliveSettingsDialog::updateSettings() // Check encoding profiles QString data = m_configCapture.kcfg_v4l_profile->itemData(m_configCapture.kcfg_v4l_profile->currentIndex()).toString(); - if (!data.isEmpty() && (data.section(";", 0, 0) != KdenliveSettings::v4l_parameters() || data.section(";", 1, 1) != KdenliveSettings::v4l_extension())) { - KdenliveSettings::setV4l_parameters(data.section(";", 0, 0)); - KdenliveSettings::setV4l_extension(data.section(";", 1, 1)); + if (!data.isEmpty() && (data.section(';', 0, 0) != KdenliveSettings::v4l_parameters() || data.section(';', 1, 1) != KdenliveSettings::v4l_extension())) { + KdenliveSettings::setV4l_parameters(data.section(';', 0, 0)); + KdenliveSettings::setV4l_extension(data.section(';', 1, 1)); } data = m_configCapture.kcfg_decklink_profile->itemData(m_configCapture.kcfg_decklink_profile->currentIndex()).toString(); - if (!data.isEmpty() && (data.section(";", 0, 0) != KdenliveSettings::decklink_parameters() || data.section(";", 1, 1) != KdenliveSettings::decklink_extension())) { - KdenliveSettings::setDecklink_parameters(data.section(";", 0, 0)); - KdenliveSettings::setDecklink_extension(data.section(";", 1, 1)); + if (!data.isEmpty() && (data.section(';', 0, 0) != KdenliveSettings::decklink_parameters() || data.section(';', 1, 1) != KdenliveSettings::decklink_extension())) { + KdenliveSettings::setDecklink_parameters(data.section(';', 0, 0)); + KdenliveSettings::setDecklink_extension(data.section(';', 1, 1)); } data = m_configProject.kcfg_proxy_profile->itemData(m_configProject.kcfg_proxy_profile->currentIndex()).toString(); - if (!data.isEmpty() && (data.section(";", 0, 0) != KdenliveSettings::proxyparams() || data.section(";", 1, 1) != KdenliveSettings::proxyextension())) { - KdenliveSettings::setProxyparams(data.section(";", 0, 0)); - KdenliveSettings::setProxyextension(data.section(";", 1, 1)); + if (!data.isEmpty() && (data.section(';', 0, 0) != KdenliveSettings::proxyparams() || data.section(';', 1, 1) != KdenliveSettings::proxyextension())) { + KdenliveSettings::setProxyparams(data.section(';', 0, 0)); + KdenliveSettings::setProxyextension(data.section(';', 1, 1)); } @@ -745,14 +763,20 @@ void KdenliveSettingsDialog::loadTranscodeProfiles() KConfigGroup transConfig(config, "Transcoding"); // read the entries m_configTranscode.profiles_list->blockSignals(true); + m_configTranscode.profiles_list->clear(); QMap< QString, QString > profiles = transConfig.entryMap(); QMapIterator i(profiles); while (i.hasNext()) { i.next(); - QTreeWidgetItem *item = new QTreeWidgetItem(m_configTranscode.profiles_list, QStringList() << i.key() << i.value()); - item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable); + QListWidgetItem *item = new QListWidgetItem(i.key()); + QString data = i.value(); + if (data.contains(';')) item->setToolTip(data.section(';', 1, 1)); + item->setData(Qt::UserRole, data); + m_configTranscode.profiles_list->addItem(item); + //item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable); } m_configTranscode.profiles_list->blockSignals(false); + m_configTranscode.profiles_list->setCurrentRow(0); } void KdenliveSettingsDialog::saveTranscodeProfiles() @@ -762,31 +786,90 @@ void KdenliveSettingsDialog::saveTranscodeProfiles() KConfigGroup transConfig(config, "Transcoding"); // read the entries transConfig.deleteGroup(); - int max = m_configTranscode.profiles_list->topLevelItemCount(); + int max = m_configTranscode.profiles_list->count(); for (int i = 0; i < max; i++) { - QTreeWidgetItem *item = m_configTranscode.profiles_list->topLevelItem(i); - transConfig.writeEntry(item->text(0), item->text(1)); + QListWidgetItem *item = m_configTranscode.profiles_list->item(i); + transConfig.writeEntry(item->text(), item->data(Qt::UserRole).toString()); } config->sync(); } void KdenliveSettingsDialog::slotAddTranscode() { - QTreeWidgetItem *item = new QTreeWidgetItem(m_configTranscode.profiles_list, QStringList() << i18n("Name") << i18n("Parameters")); - item->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled | Qt::ItemIsEditable); + if (!m_configTranscode.profiles_list->findItems(m_configTranscode.profile_name->text(), Qt::MatchExactly).isEmpty()) { + KMessageBox::sorry(this, i18n("A profile with that name already exists")); + return; + } + QListWidgetItem *item = new QListWidgetItem(m_configTranscode.profile_name->text()); + QString data = m_configTranscode.profile_parameters->toPlainText(); + data.append(" %1." + m_configTranscode.profile_extension->text()); + data.append(';'); + if (!m_configTranscode.profile_description->text().isEmpty()) + data.append(m_configTranscode.profile_description->text()); + if (m_configTranscode.profile_audioonly->isChecked()) data.append(";audio"); + item->setData(Qt::UserRole, data); + m_configTranscode.profiles_list->addItem(item); m_configTranscode.profiles_list->setCurrentItem(item); - m_configTranscode.profiles_list->editItem(item); + slotDialogModified(); +} + +void KdenliveSettingsDialog::slotUpdateTranscodingProfile() +{ + QListWidgetItem *item = m_configTranscode.profiles_list->currentItem(); + if (!item) return; + m_configTranscode.button_update->setEnabled(false); + item->setText(m_configTranscode.profile_name->text()); + QString data = m_configTranscode.profile_parameters->toPlainText(); + data.append(" %1." + m_configTranscode.profile_extension->text()); + data.append(';'); + if (!m_configTranscode.profile_description->text().isEmpty()) + data.append(m_configTranscode.profile_description->text()); + if (m_configTranscode.profile_audioonly->isChecked()) data.append(";audio"); + item->setData(Qt::UserRole, data); slotDialogModified(); } void KdenliveSettingsDialog::slotDeleteTranscode() { - QTreeWidgetItem *item = m_configTranscode.profiles_list->currentItem(); + QListWidgetItem *item = m_configTranscode.profiles_list->currentItem(); if (item == NULL) return; delete item; slotDialogModified(); } +void KdenliveSettingsDialog::slotEnableTranscodeUpdate() +{ + if (!m_configTranscode.profile_box->isEnabled()) return; + bool allow = true; + if (m_configTranscode.profile_name->text().isEmpty() || m_configTranscode.profile_extension->text().isEmpty()) allow = false; + m_configTranscode.button_update->setEnabled(allow); +} + +void KdenliveSettingsDialog::slotSetTranscodeProfile() +{ + m_configTranscode.profile_box->setEnabled(false); + m_configTranscode.button_update->setEnabled(false); + m_configTranscode.profile_name->clear(); + m_configTranscode.profile_description->clear(); + m_configTranscode.profile_extension->clear(); + m_configTranscode.profile_parameters->clear(); + m_configTranscode.profile_audioonly->setChecked(false); + QListWidgetItem *item = m_configTranscode.profiles_list->currentItem(); + if (!item) { + return; + } + m_configTranscode.profile_name->setText(item->text()); + QString data = item->data(Qt::UserRole).toString(); + if (data.contains(';')) { + m_configTranscode.profile_description->setText(data.section(';', 1, 1)); + if (data.section(';', 2, 2) == "audio") m_configTranscode.profile_audioonly->setChecked(true); + data = data.section(';', 0, 0).simplified(); + } + m_configTranscode.profile_extension->setText(data.section('.', -1)); + m_configTranscode.profile_parameters->setPlainText(data.section(' ', 0, -2)); + m_configTranscode.profile_box->setEnabled(true); +} + void KdenliveSettingsDialog::slotShuttleModified() { #ifdef USE_JOGSHUTTLE @@ -828,19 +911,19 @@ void KdenliveSettingsDialog::slotUpdatev4lDevice() m_configCapture.kcfg_v4l_format->addItem(i18n("Current settings")); } - QStringList pixelformats = info.split(">", QString::SkipEmptyParts); + QStringList pixelformats = info.split('>', QString::SkipEmptyParts); QString itemSize; QString pixelFormat; QStringList itemRates; for (int i = 0; i < pixelformats.count(); i++) { QString format = pixelformats.at(i).section(':', 0, 0); - QStringList sizes = pixelformats.at(i).split(":", QString::SkipEmptyParts); + QStringList sizes = pixelformats.at(i).split(':', QString::SkipEmptyParts); pixelFormat = sizes.takeFirst(); for (int j = 0; j < sizes.count(); j++) { - itemSize = sizes.at(j).section("=", 0, 0); - itemRates = sizes.at(j).section("=", 1, 1).split(",", QString::SkipEmptyParts); + itemSize = sizes.at(j).section('=', 0, 0); + itemRates = sizes.at(j).section('=', 1, 1).split(',', QString::SkipEmptyParts); for (int k = 0; k < itemRates.count(); k++) { - m_configCapture.kcfg_v4l_format->addItem("[" + format + "] " + itemSize + " (" + itemRates.at(k) + ")", QStringList() << format << itemSize.section('x', 0, 0) << itemSize.section('x', 1, 1) << itemRates.at(k).section('/', 0, 0) << itemRates.at(k).section('/', 1, 1)); + m_configCapture.kcfg_v4l_format->addItem('[' + format + "] " + itemSize + " (" + itemRates.at(k) + ')', QStringList() << format << itemSize.section('x', 0, 0) << itemSize.section('x', 1, 1) << itemRates.at(k).section('/', 0, 0) << itemRates.at(k).section('/', 1, 1)); } } } @@ -919,7 +1002,7 @@ void KdenliveSettingsDialog::slotManageEncodingProfile() if (m_configCapture.tabWidget->currentIndex() == 1) type = 1; else if (m_configCapture.tabWidget->currentIndex() == 3) type = 2; } - EncodingProfilesDialog *d = new EncodingProfilesDialog(type); + QPointer d = new EncodingProfilesDialog(type); d->exec(); delete d; loadEncodingProfiles(); @@ -980,7 +1063,7 @@ void KdenliveSettingsDialog::slotUpdateDecklinkProfile(int ix) else ix = m_configCapture.kcfg_decklink_profile->currentIndex(); QString data = m_configCapture.kcfg_decklink_profile->itemData(ix).toString(); if (data.isEmpty()) return; - m_configCapture.decklink_parameters->setPlainText(data.section(";", 0, 0)); + m_configCapture.decklink_parameters->setPlainText(data.section(';', 0, 0)); // } @@ -990,7 +1073,7 @@ void KdenliveSettingsDialog::slotUpdateV4lProfile(int ix) else ix = m_configCapture.kcfg_v4l_profile->currentIndex(); QString data = m_configCapture.kcfg_v4l_profile->itemData(ix).toString(); if (data.isEmpty()) return; - m_configCapture.v4l_parameters->setPlainText(data.section(";", 0, 0)); + m_configCapture.v4l_parameters->setPlainText(data.section(';', 0, 0)); // } @@ -1000,14 +1083,14 @@ void KdenliveSettingsDialog::slotUpdateProxyProfile(int ix) else ix = m_configProject.kcfg_proxy_profile->currentIndex(); QString data = m_configProject.kcfg_proxy_profile->itemData(ix).toString(); if (data.isEmpty()) return; - m_configProject.proxyparams->setPlainText(data.section(";", 0, 0)); + m_configProject.proxyparams->setPlainText(data.section(';', 0, 0)); // } void KdenliveSettingsDialog::slotEditVideo4LinuxProfile() { QString vl4ProfilePath = KStandardDirs::locateLocal("appdata", "profiles/video4linux"); - ProfilesDialog *w = new ProfilesDialog(vl4ProfilePath); + QPointer w = new ProfilesDialog(vl4ProfilePath); if (w->exec() == QDialog::Accepted) { // save and update profile loadCurrentV4lProfileInfo(); @@ -1015,6 +1098,7 @@ void KdenliveSettingsDialog::slotEditVideo4LinuxProfile() delete w; } + #include "kdenlivesettingsdialog.moc"