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()));
m_view.guide_start->clear();
m_view.guide_end->clear();
QDomNodeList nodes = guidesxml.elementsByTagName("guide");
- if (nodes.count() > 0) {
+ if (!nodes.isEmpty()) {
m_view.guide_start->addItem(i18n("Beginning"), "0");
m_view.render_guide->setEnabled(true);
m_view.create_chapter->setEnabled(true);
m_view.guide_end->addItem(e.attribute("comment") + '/' + guidePos, e.attribute("time").toDouble());
}
}
- if (nodes.count() > 0)
+ if (!nodes.isEmpty())
m_view.guide_end->addItem(i18n("End"), QString::number(duration));
}
* Will be called when the user selects an output file via the file dialog.
* File extension will be added automatically.
*/
-void RenderWidget::slotUpdateButtons(KUrl url)
+void RenderWidget::slotUpdateButtons(const KUrl &url)
{
if (m_view.out_file->url().isEmpty()) {
m_view.buttonGenerateScript->setEnabled(false);
m_view.buttonGenerateScript->setEnabled(false);
return;
}
- QString extension = item->data(ExtensionRole).toString();
- url = filenameWithExtension(url, extension);
- m_view.out_file->setUrl(url);
+ const QString extension = item->data(ExtensionRole).toString();
+ m_view.out_file->setUrl(filenameWithExtension(url, extension));
}
}
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);
void RenderWidget::errorMessage(const QString &message)
{
if (!message.isEmpty()) {
- kDebug()<<"// ERROR MESS: "<<message;
#if KDE_IS_VERSION(4,7,0)
m_infoMessage->setMessageType(KMessageWidget::Warning);
m_infoMessage->setText(message);