X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Frenderwidget.cpp;h=78d15196e6493e3f884afb86a78e5b7f65b5e4bf;hb=3b176bab2ad91159c0a4a7dbe5f278f646115218;hp=8ed038cfe539410e12820b692de177e5d74506fb;hpb=8e0df3266e38baf1884404e8baf31ea866c9dce0;p=kdenlive diff --git a/src/renderwidget.cpp b/src/renderwidget.cpp index 8ed038cf..78d15196 100644 --- a/src/renderwidget.cpp +++ b/src/renderwidget.cpp @@ -276,6 +276,7 @@ RenderWidget::RenderWidget(const QString &projectfolder, bool enableProxy, MltVi m_view.splitter->setStretchFactor(0, 2); m_view.out_file->setMode(KFile::File); + m_view.out_file->setFocusPolicy(Qt::ClickFocus); m_view.running_jobs->setHeaderLabels(QStringList() << QString() << i18n("File")); m_jobsDelegate = new RenderViewDelegate(this); @@ -459,7 +460,7 @@ void RenderWidget::slotSaveProfile() if (customGroup.isEmpty()) customGroup = i18nc("Group Name", "Custom"); ui.group_name->setText(customGroup); - QStringList arguments = m_view.advanced_params->toPlainText().split(" ", QString::SkipEmptyParts); + QStringList arguments = m_view.advanced_params->toPlainText().split(' ', QString::SkipEmptyParts); ui.parameters->setText(arguments.join(" ")); ui.extension->setText(m_view.size_list->currentItem()->data(ExtensionRole).toString()); ui.profile_name->setFocus(); @@ -843,7 +844,7 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const QString extension = item->data(ExtensionRole).toString(); if (!dest.endsWith(extension, Qt::CaseInsensitive)) { if (KMessageBox::questionYesNo(this, i18n("File has no extension. Add extension (%1)?", extension)) == KMessageBox::Yes) { - dest.append("." + extension); + dest.append('.' + extension); } } @@ -952,7 +953,7 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const renderArgs.append(subsize); } bool resizeProfile = (subsize != currentSize); - QStringList paramsList = renderArgs.split(" ", QString::SkipEmptyParts); + QStringList paramsList = renderArgs.split(' ', QString::SkipEmptyParts); QScriptEngine sEngine; sEngine.globalObject().setProperty("bitrate", m_view.comboBitrates->currentText()); @@ -979,6 +980,7 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const render_process_args << "consumer:" + (scriptExport ? "$SOURCE" : playlistPath); else render_process_args << (scriptExport ? "$SOURCE" : playlistPath); + render_process_args << (scriptExport ? "$TARGET" : KUrl(dest).url()); render_process_args << paramsList; @@ -994,8 +996,8 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const } QTextStream outStream(&file); outStream << "#! /bin/sh" << "\n" << "\n"; - outStream << "SOURCE=" << "\"" + KUrl(playlistPath).url() + "\"" << "\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"; @@ -1108,7 +1110,7 @@ void RenderWidget::checkRenderStatus() item = static_cast (m_view.running_jobs->topLevelItem(0)); bool waitingJob = false; - // Find first aiting job + // Find first waiting job while (item) { if (item->status() == WAITINGJOB) { item->setData(1, TimeRole, QTime::currentTime()); @@ -1240,9 +1242,14 @@ void RenderWidget::refreshView() KIcon brokenIcon("dialog-close"); KIcon warningIcon("dialog-warning"); - const QStringList formatsList = KdenliveSettings::supportedformats(); - const QStringList vcodecsList = KdenliveSettings::videocodecs(); - const QStringList acodecsList = KdenliveSettings::audiocodecs(); + QStringList formatsList; + QStringList vcodecsList; + QStringList acodecsList; + if (!KdenliveSettings::bypasscodeccheck()) { + formatsList= KdenliveSettings::supportedformats(); + vcodecsList = KdenliveSettings::videocodecs(); + acodecsList = KdenliveSettings::audiocodecs(); + } KColorScheme scheme(palette().currentColorGroup(), KColorScheme::Window); const QColor disabled = scheme.foreground(KColorScheme::InactiveText).color(); @@ -1426,7 +1433,7 @@ void RenderWidget::refreshParams() m_view.bitrateLabel->setEnabled(true); if ( item->data(BitratesRole).canConvert(QVariant::StringList) && item->data(BitratesRole).toStringList().count()) { QStringList bitrates = item->data(BitratesRole).toStringList(); - foreach (QString bitrate, bitrates) + foreach (const QString &bitrate, bitrates) m_view.comboBitrates->addItem(bitrate); if (item->data(DefaultBitrateRole).canConvert(QVariant::String)) m_view.comboBitrates->setCurrentIndex(bitrates.indexOf(item->data(DefaultBitrateRole).toString())); @@ -1443,7 +1450,7 @@ void RenderWidget::refreshParams() m_view.audiobitrateLabel->setEnabled(true); if ( item->data(AudioBitratesRole).canConvert(QVariant::StringList) && item->data(AudioBitratesRole).toStringList().count()) { QStringList audiobitrates = item->data(AudioBitratesRole).toStringList(); - foreach (QString bitrate, audiobitrates) + foreach (const QString &bitrate, audiobitrates) m_view.comboAudioBitrates->addItem(bitrate); if (item->data(DefaultAudioBitrateRole).canConvert(QVariant::String)) m_view.comboAudioBitrates->setCurrentIndex(audiobitrates.indexOf(item->data(DefaultAudioBitrateRole).toString())); @@ -1794,7 +1801,7 @@ void RenderWidget::setRenderStatus(const QString &dest, int status, const QStrin item->setData(1, Qt::UserRole, t); QString itemGroup = item->data(0, Qt::UserRole).toString(); if (itemGroup == "dvd") { - emit openDvdWizard(item->text(1), item->metadata()); + emit openDvdWizard(item->text(1)); } else if (itemGroup == "websites") { QString url = item->metadata(); if (!url.isEmpty()) new KRun(url, this); @@ -1893,7 +1900,7 @@ void RenderWidget::parseScriptFiles() QTextStream stream(&file); while (!stream.atEnd()) { QString line = stream.readLine(); - kDebug()<<"# :"<setIcon(0, KIcon("dialog-cancel")); @@ -1920,7 +1927,7 @@ void RenderWidget::parseScriptFiles() 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()); } QTreeWidgetItem *script = m_view.scripts_list->topLevelItem(0); @@ -2228,3 +2235,20 @@ void RenderWidget::setRescaleEnabled(bool enable) } } +void RenderWidget::keyPressEvent(QKeyEvent *e) { + if(e->key()==Qt::Key_Return || e->key()==Qt::Key_Enter) { + switch (m_view.tabWidget->currentIndex()) { + case 1: + if (m_view.start_job->isEnabled()) slotStartCurrentJob(); + break; + case 2: + if (m_view.start_script->isEnabled()) slotStartScript(); + break; + default: + if (m_view.buttonRender->isEnabled()) slotPrepareExport(); + break; + } + } + else QDialog::keyPressEvent(e); +} +