QString scriptPath;
QString playlistPath;
if (scriptExport) {
- bool ok;
QString scriptsFolder = m_activeDocument->projectFolder().path(KUrl::AddTrailingSlash) + "scripts/";
- QString path = m_renderWidget->getFreeScriptName();
- scriptPath = QInputDialog::getText(this, i18n("Create Render Script"), i18n("Script name (will be saved in: %1)", scriptsFolder), QLineEdit::Normal, KUrl(path).fileName(), &ok);
- if (!ok || scriptPath.isEmpty()) return;
- scriptPath.prepend(scriptsFolder);
+ QString path = m_renderWidget->getFreeScriptName(m_activeDocument->url());
+ KUrl finalPath = KUrlRequesterDialog::getUrl(path, m_renderWidget, i18n("Create Render Script"));
+ if (finalPath.isEmpty()) return;
+ scriptPath = finalPath.path();
QFile f(scriptPath);
if (f.exists()) {
if (KMessageBox::warningYesNo(this, i18n("Script file already exists. Do you want to overwrite it?")) != KMessageBox::Yes)
bool replaceLibfaacCodec = false;
if (!acodecsList.contains("aac") && acodecsList.contains("libfaac")) replaceLibfaacCodec = true;
-
if (editable || groups.count() == 0) {
QDomElement profiles = doc.documentElement();
if (editable && profiles.attribute("version", 0).toInt() < 1) {
bool RenderWidget::startWaitingRenderJobs()
{
m_blockProcessing = true;
- QString autoscriptFile = getFreeScriptName("auto");
+ QString autoscriptFile = getFreeScriptName(KUrl(), "auto");
QFile file(autoscriptFile);
if (!file.open(QIODevice::WriteOnly | QIODevice::Text)) {
kWarning() << "////// ERROR writing to file: " << autoscriptFile;
return true;
}
-QString RenderWidget::getFreeScriptName(const QString &prefix)
+QString RenderWidget::getFreeScriptName(const KUrl &projectName, const QString &prefix)
{
int ix = 0;
QString scriptsFolder = m_projectFolder + "scripts/";
KStandardDirs::makeDir(scriptsFolder);
QString path;
+ QString fileName;
+ if (projectName.isEmpty()) fileName = i18n("script");
+ else fileName = projectName.fileName().section('.', 0, -2) + "_";
while (path.isEmpty() || QFile::exists(path)) {
ix++;
- path = scriptsFolder + prefix + i18n("script") + QString::number(ix).rightJustified(3, '0', false) + ".sh";
+ path = scriptsFolder + prefix + fileName + QString::number(ix).rightJustified(3, '0', false) + ".sh";
}
return path;
}
void reloadProfiles();
void setRenderProfile(QMap <QString, QString> props);
int waitingJobsCount() const;
- QString getFreeScriptName(const QString &prefix = QString());
+ QString getFreeScriptName(const KUrl &projectName = KUrl(), const QString &prefix = QString());
bool startWaitingRenderJobs();
void missingClips(bool hasMissing);
/** @brief Returns true if the export audio checkbox is set to automatic. */