m_view.shutdown->setEnabled(false);
focusFirstVisibleItem();
+ adjustSize();
+
+#if KDE_IS_VERSION(4,7,0)
+ m_infoMessage = new KMessageWidget;
+ QGridLayout *s = static_cast <QGridLayout*> (m_view.tab->layout());
+ s->addWidget(m_infoMessage, 12, 0, 1, -1);
+ m_infoMessage->hide();
+#endif
+}
+
+QSize RenderWidget::sizeHint() const
+{
+ // Make sure the widget has minimum size on opening
+ return QSize(200, 200);
}
RenderWidget::~RenderWidget()
ui.group_name->setText(customGroup);
QStringList arguments = m_view.advanced_params->toPlainText().split(" ", QString::SkipEmptyParts);
-
- QScriptEngine sEngine;
- sEngine.globalObject().setProperty("bitrate", m_view.comboBitrates->currentText());
- sEngine.globalObject().setProperty("audiobitrate", m_view.comboAudioBitrates->currentText());
-
- for (int i = 0; i < arguments.count(); ++i) {
- QString paramName = arguments.at(i).section('=', 0, 0);
- QString paramValue = arguments.at(i).section('=', 1, 1);
- // evaluate expression
- if (paramValue.startsWith('%')) {
- paramValue = sEngine.evaluate(paramValue.remove(0, 1)).toString();
- if (!sEngine.hasUncaughtException()) arguments[i] = paramName + '=' + paramValue;
- }
- }
-
-
ui.parameters->setText(arguments.join(" "));
ui.extension->setText(m_view.size_list->currentItem()->data(ExtensionRole).toString());
ui.profile_name->setFocus();
profileElement.setAttribute("category", newGroupName);
profileElement.setAttribute("destinationid", newMetaGroupId);
profileElement.setAttribute("extension", ui.extension->text().simplified());
- profileElement.setAttribute("args", ui.parameters->toPlainText().simplified());
+ QString args = ui.parameters->toPlainText().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(","));
+ }
+ 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(","));
+ }
doc.appendChild(profileElement);
saveProfile(doc.documentElement());
profileElement.setAttribute("destinationid", "favorites");
profileElement.setAttribute("extension", extension);
profileElement.setAttribute("args", params);
+ profileElement.setAttribute("bitrates", item->data(BitratesRole).toStringList().join(","));
+ profileElement.setAttribute("defaultbitrate", item->data(DefaultBitrateRole).toString());
+ profileElement.setAttribute("audiobitrates", item->data(AudioBitratesRole).toStringList().join(","));
+ profileElement.setAttribute("defaultaudiobitrate", item->data(DefaultAudioBitrateRole).toString());
doc.appendChild(profileElement);
saveProfile(doc.documentElement());
parseProfiles(m_view.destination_list->itemData(m_view.destination_list->currentIndex(), Qt::UserRole).toString(), currentGroup, currentProfile);
profileElement.setAttribute("category", newGroupName);
profileElement.setAttribute("destinationid", newMetaGroupId);
profileElement.setAttribute("extension", ui.extension->text().simplified());
- profileElement.setAttribute("args", ui.parameters->toPlainText().simplified());
+ QString args = ui.parameters->toPlainText().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(","));
+ }
+ 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(","));
+ }
+
profiles.appendChild(profileElement);
//QCString save = doc.toString().utf8();
if (!scriptExport) render_process_args << "-erase";
if (KdenliveSettings::usekuiserver()) render_process_args << "-kuiserver";
+ // get process id
+ render_process_args << QString("-pid:%1").arg(QCoreApplication::applicationPid());
+
// Set locale for render process if required
if (QLocale().decimalPoint() != QLocale::system().decimalPoint()) {
render_process_args << QString("-locale:%1").arg(QLocale().name());
item->setData(RenderRole, "avformat");
item->setData(StandardRole, standard);
item->setData(ParamsRole, params);
+ item->setData(BitratesRole, profile.attribute("bitrates").split(',', QString::SkipEmptyParts));
+ item->setData(DefaultBitrateRole, profile.attribute("defaultbitrate"));
+ item->setData(AudioBitratesRole, profile.attribute("audiobitrates").split(',', QString::SkipEmptyParts));
+ item->setData(DefaultAudioBitrateRole, profile.attribute("defaultaudiobitrate"));
if (profile.hasAttribute("url")) item->setData(ExtraRole, profile.attribute("url"));
if (editable) {
item->setData(EditableRole, exportFile);
void RenderWidget::errorMessage(const QString &message)
{
if (!message.isEmpty()) {
+#if KDE_IS_VERSION(4,7,0)
+ m_infoMessage->setMessageType(KMessageWidget::Warning);
+ m_infoMessage->setText(message);
+ m_infoMessage->animatedShow();
+#else
m_view.errorLabel->setText(message);
m_view.errorBox->setHidden(false);
+#endif
}
else {
+#if KDE_IS_VERSION(4,7,0)
+ m_infoMessage->animatedHide();
+#else
m_view.errorBox->setHidden(true);
m_view.errorLabel->setText(QString());
+#endif
+
}
}