connect(m_view.delete_script, SIGNAL(clicked()), this, SLOT(slotDeleteScript()));
connect(m_view.scripts_list, SIGNAL(itemSelectionChanged()), this, SLOT(slotCheckScript()));
connect(m_view.running_jobs, SIGNAL(itemSelectionChanged()), this, SLOT(slotCheckJob()));
- connect(m_view.running_jobs, SIGNAL(itemDoubleClicked(QTreeWidgetItem *, int)), this, SLOT(slotPlayRendering(QTreeWidgetItem *, int)));
+ connect(m_view.running_jobs, SIGNAL(itemDoubleClicked(QTreeWidgetItem*,int)), this, SLOT(slotPlayRendering(QTreeWidgetItem*,int)));
connect(m_view.buttonInfo, SIGNAL(clicked()), this, SLOT(showInfoPanel()));
connect(m_view.buttonClose3, SIGNAL(clicked()), this, SLOT(hide()));
connect(m_view.rescale, SIGNAL(toggled(bool)), this, SLOT(setRescaleEnabled(bool)));
connect(m_view.destination_list, SIGNAL(activated(int)), this, SLOT(refreshCategory()));
- connect(m_view.out_file, SIGNAL(textChanged(const QString &)), this, SLOT(slotUpdateButtons()));
- connect(m_view.out_file, SIGNAL(urlSelected(const KUrl &)), this, SLOT(slotUpdateButtons(const KUrl &)));
+ connect(m_view.out_file, SIGNAL(textChanged(QString)), this, SLOT(slotUpdateButtons()));
+ connect(m_view.out_file, SIGNAL(urlSelected(KUrl)), this, SLOT(slotUpdateButtons(KUrl)));
connect(m_view.format_list, SIGNAL(currentRowChanged(int)), this, SLOT(refreshView()));
connect(m_view.size_list, SIGNAL(currentRowChanged(int)), this, SLOT(refreshParams()));
connect(m_view.show_all_profiles, SIGNAL(stateChanged(int)), this, SLOT(refreshView()));
- connect(m_view.size_list, SIGNAL(itemDoubleClicked(QListWidgetItem *)), this, SLOT(slotEditItem(QListWidgetItem *)));
+ connect(m_view.size_list, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(slotEditItem(QListWidgetItem*)));
connect(m_view.render_guide, SIGNAL(clicked(bool)), this, SLOT(slotUpdateGuideBox()));
connect(m_view.render_zone, SIGNAL(clicked(bool)), this, SLOT(slotUpdateGuideBox()));
ui.parameters->setText(arguments.join(" "));
ui.extension->setText(m_view.size_list->currentItem()->data(ExtensionRole).toString());
ui.profile_name->setFocus();
+ QListWidgetItem *item = m_view.size_list->currentItem();
+ if (ui.parameters->toPlainText().contains("%bitrate")) {
+ if ( item && item->data(BitratesRole).canConvert(QVariant::StringList) && item->data(BitratesRole).toStringList().count()) {
+ QStringList bitrates = item->data(BitratesRole).toStringList();
+ ui.vbitrates_list->setText(bitrates.join(","));
+ if (item->data(DefaultBitrateRole).canConvert(QVariant::String))
+ ui.default_vbitrate->setValue(item->data(DefaultBitrateRole).toInt());
+ }
+ }
+ else ui.vbitrates->setHidden(true);
+ if (ui.parameters->toPlainText().contains("%audiobitrate")) {
+ if ( item && item->data(AudioBitratesRole).canConvert(QVariant::StringList) && item->data(AudioBitratesRole).toStringList().count()) {
+ QStringList bitrates = item->data(AudioBitratesRole).toStringList();
+ ui.abitrates_list->setText(bitrates.join(","));
+ if (item->data(DefaultAudioBitrateRole).canConvert(QVariant::String))
+ ui.default_abitrate->setValue(item->data(DefaultAudioBitrateRole).toInt());
+ }
+ }
+ else ui.abitrates->setHidden(true);
if (d->exec() == QDialog::Accepted && !ui.profile_name->text().simplified().isEmpty()) {
QString newProfileName = ui.profile_name->text().simplified();
profileElement.setAttribute("args", args);
if (args.contains("%bitrate")) {
// profile has a variable bitrate
- profileElement.setAttribute("defaultbitrate", m_view.comboBitrates->currentText());
- QStringList bitrateValues;
- for (int i = 0; i < m_view.comboBitrates->count(); i++)
- bitrateValues << m_view.comboBitrates->itemText(i);
- profileElement.setAttribute("bitrates", bitrateValues.join(","));
+ profileElement.setAttribute("defaultbitrate", QString::number(ui.default_vbitrate->value()));
+ profileElement.setAttribute("bitrates", ui.vbitrates_list->text());
}
if (args.contains("%audiobitrate")) {
// profile has a variable bitrate
- profileElement.setAttribute("defaultaudiobitrate", m_view.comboAudioBitrates->currentText());
- QStringList bitrateValues;
- for (int i = 0; i < m_view.comboAudioBitrates->count(); i++)
- bitrateValues << m_view.comboAudioBitrates->itemText(i);
- profileElement.setAttribute("audiobitrates", bitrateValues.join(","));
+ profileElement.setAttribute("defaultaudiobitrate", QString::number(ui.default_abitrate->value()));
+ profileElement.setAttribute("audiobitrates", ui.abitrates_list->text());
}
doc.appendChild(profileElement);
saveProfile(doc.documentElement());
ui.extension->setText(extension);
ui.parameters->setText(params);
ui.profile_name->setFocus();
+ if (ui.parameters->toPlainText().contains("%bitrate")) {
+ if ( item->data(BitratesRole).canConvert(QVariant::StringList) && item->data(BitratesRole).toStringList().count()) {
+ QStringList bitrates = item->data(BitratesRole).toStringList();
+ ui.vbitrates_list->setText(bitrates.join(","));
+ if (item->data(DefaultBitrateRole).canConvert(QVariant::String))
+ ui.default_vbitrate->setValue(item->data(DefaultBitrateRole).toInt());
+ }
+ }
+ else ui.vbitrates->setHidden(true);
+ if (ui.parameters->toPlainText().contains("%audiobitrate")) {
+ if ( item->data(AudioBitratesRole).canConvert(QVariant::StringList) && item->data(AudioBitratesRole).toStringList().count()) {
+ QStringList bitrates = item->data(AudioBitratesRole).toStringList();
+ ui.abitrates_list->setText(bitrates.join(","));
+ if (item->data(DefaultAudioBitrateRole).canConvert(QVariant::String))
+ ui.default_abitrate->setValue(item->data(DefaultAudioBitrateRole).toInt());
+ }
+ }
+ else ui.abitrates->setHidden(true);
+
d->setWindowTitle(i18n("Edit Profile"));
if (d->exec() == QDialog::Accepted) {
slotDeleteProfile(false);
profileElement.setAttribute("args", args);
if (args.contains("%bitrate")) {
// profile has a variable bitrate
- profileElement.setAttribute("defaultbitrate", m_view.comboBitrates->currentText());
- QStringList bitrateValues;
- for (int i = 0; i < m_view.comboBitrates->count(); i++)
- bitrateValues << m_view.comboBitrates->itemText(i);
- profileElement.setAttribute("bitrates", bitrateValues.join(","));
+ profileElement.setAttribute("defaultbitrate", QString::number(ui.default_vbitrate->value()));
+ profileElement.setAttribute("bitrates", ui.vbitrates_list->text());
}
if (args.contains("%audiobitrate")) {
// profile has a variable bitrate
- profileElement.setAttribute("defaultaudiobitrate", m_view.comboAudioBitrates->currentText());
- QStringList bitrateValues;
- for (int i = 0; i < m_view.comboAudioBitrates->count(); i++)
- bitrateValues << m_view.comboAudioBitrates->itemText(i);
- profileElement.setAttribute("audiobitrates", bitrateValues.join(","));
+ profileElement.setAttribute("defaultaudiobitrate", QString::number(ui.default_abitrate->value()));
+ profileElement.setAttribute("audiobitrates", ui.abitrates_list->text());
}
profiles.appendChild(profileElement);
QListWidgetItem *item = m_view.size_list->currentItem();
if (!item) return;
- QString dest = m_view.out_file->url().path();
+ QString dest = m_view.out_file->url().path().trimmed();
if (dest.isEmpty()) return;
// Check whether target file has an extension.
if (m_view.export_meta->isChecked()) {
QMap<QString, QString>::const_iterator i = metadata.constBegin();
while (i != metadata.constEnd()) {
- renderArgs.append(QString(" %1=\"%2\"").arg(i.key()).arg(i.value()));
+ renderArgs.append(QString(" %1=%2").arg(i.key()).arg(QString(QUrl::toPercentEncoding(i.value()))));
++i;
}
}
QStringList paramsList = renderArgs.split(' ', QString::SkipEmptyParts);
QScriptEngine sEngine;
- sEngine.globalObject().setProperty("bitrate", m_view.comboBitrates->currentText());
- sEngine.globalObject().setProperty("audiobitrate", m_view.comboAudioBitrates->currentText());
+ sEngine.globalObject().setProperty("bitrate", m_view.comboBitrates->currentText().toInt());
+ sEngine.globalObject().setProperty("audiobitrate", m_view.comboAudioBitrates->currentText().toInt());
sEngine.globalObject().setProperty("dar", '@' + QString::number(m_profile.display_aspect_num) + '/' + QString::number(m_profile.display_aspect_den));
sEngine.globalObject().setProperty("passes", static_cast<int>(m_view.checkTwoPass->isChecked()) + 1);