#include <QThread>
#include <QScriptEngine>
+#include "locale.h"
+
// Render profiles roles
const int GroupRole = Qt::UserRole;
m_view.buttonFavorite->setIcon(KIcon("favorites"));
m_view.buttonFavorite->setToolTip(i18n("Copy profile to favorites"));
+ m_view.show_all_profiles->setToolTip(i18n("Show profiles with different framerate"));
+
m_view.advanced_params->setMaximumHeight(QFontMetrics(font()).lineSpacing() * 5);
m_view.buttonRender->setEnabled(false);
connect(m_view.out_file, SIGNAL(urlSelected(const KUrl &)), this, SLOT(slotUpdateButtons(const 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 *)));
// Set locale for render process if required
if (QLocale().decimalPoint() != QLocale::system().decimalPoint()) {
- render_process_args << QString("-locale:%1").arg(QLocale().name());
+ const QString currentLocale = setlocale(LC_NUMERIC, NULL);
+ render_process_args << QString("-locale:%1").arg(currentLocale);
}
double guideStart = 0;
}
QTextStream outStream(&file);
outStream << "#! /bin/sh" << "\n" << "\n";
- outStream << "SOURCE=" << "\"" + playlistPath + "\"" << "\n";
- outStream << "TARGET=" << "\"" + KUrl(dest).url() + "\"" << "\n";
+ outStream << "SOURCE=" << "\"" + QUrl(playlistPath).toEncoded() + "\"" << "\n";
+ outStream << "TARGET=" << "\"" + QUrl(dest).toEncoded() + "\"" << "\n";
outStream << "RENDERER=" << "\"" + m_renderer + "\"" << "\n";
outStream << "MELT=" << "\"" + KdenliveSettings::rendererpath() + "\"" << "\n";
outStream << "PARAMETERS=" << "\"" + render_process_args.join(" ") + "\"" << "\n";
renderItem->setMetadata(url);
}
}
+
renderItem->setData(1, ParametersRole, render_process_args);
if (exportAudio == false) renderItem->setData(1, ExtraInfoRole, i18n("Video without audio track"));
else renderItem->setData(1, ExtraInfoRole, QString());
} else if (item->type() == ScriptRenderType){
// Script item
kDebug()<<"// SCRIPT process: "<<item->data(1, ParametersRole).toString();
- if (QProcess::startDetached(item->data(1, ParametersRole).toString()) == false) {
+ if (QProcess::startDetached('"' + item->data(1, ParametersRole).toString() + '"') == false) {
item->setStatus(FAILEDJOB);
}
}
QListWidgetItem *dupItem = NULL;
if ((sizeItem->data(GroupRole).toString() == group || sizeItem->data(GroupRole).toString().isEmpty()) && sizeItem->data(MetaGroupRole).toString() == destination) {
std = sizeItem->data(StandardRole).toString();
- if (!std.isEmpty()) {
+ if (!m_view.show_all_profiles->isChecked() && !std.isEmpty()) {
if ((std.contains("PAL", Qt::CaseInsensitive) && m_profile.frame_rate_num == 25 && m_profile.frame_rate_den == 1) ||
(std.contains("NTSC", Qt::CaseInsensitive) && m_profile.frame_rate_num == 30000 && m_profile.frame_rate_den == 1001))
dupItem = sizeItem->clone();
m_view.size_list->addItem(dupItem);
std = dupItem->data(ParamsRole).toString();
// Make sure the selected profile uses the same frame rate as project profile
- if (std.contains("mlt_profile=")) {
+ if (!m_view.show_all_profiles->isChecked() && std.contains("mlt_profile=")) {
QString profile = std.section("mlt_profile=", 1, 1).section(' ', 0, 0);
MltVideoProfile p = ProfilesDialog::getVideoProfile(profile);
if (p.frame_rate_den > 0) {
}
}
}
- // m_view.size_list->sortItems();
focusFirstVisibleItem();
- m_view.size_list->setVisible(m_view.size_list->count() > 1 || m_view.format_list->count() <= 1);
m_view.size_list->blockSignals(false);
m_view.format_list->blockSignals(false);
if (m_view.size_list->count() > 0) {
item->setData(0, Qt::UserRole, '1');
} else item->setIcon(0, KIcon("application-x-executable-script"));
item->setSizeHint(0, QSize(m_view.scripts_list->columnWidth(0), fontMetrics().height() * 2));
- item->setData(1, Qt::UserRole, KUrl(target).path());
+ item->setData(1, Qt::UserRole, KUrl(QUrl::fromEncoded(target.toUtf8())).pathOrUrl());
item->setData(1, Qt::UserRole + 1, scriptpath.path());
}
-// bool activate = false;
QTreeWidgetItem *script = m_view.scripts_list->topLevelItem(0);
if (script) {
m_view.scripts_list->setCurrentItem(script);
script->setSelected(true);
-// activate = true;
}
-// m_view.start_script->setEnabled(activate);
-// m_view.delete_script->setEnabled(activate);
}
void RenderWidget::slotCheckScript()