From: Jean-Baptiste Mardelle Date: Mon, 26 Jul 2010 19:11:09 +0000 (+0000) Subject: Remember render settings for project (zone, guides): X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=4e1438fe486d77af1afb75825f3aa1f766715e6f;p=kdenlive Remember render settings for project (zone, guides): http://www.kdenlive.org/mantis/view.php?id=1681 svn path=/trunk/kdenlive/; revision=4648 --- diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 1e1a719b..e66e0b48 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -1977,7 +1977,7 @@ void MainWindow::slotRenderProject() QString projectfolder = m_activeDocument ? m_activeDocument->projectFolder().path(KUrl::AddTrailingSlash) : KdenliveSettings::defaultprojectfolder(); m_renderWidget = new RenderWidget(projectfolder, this); connect(m_renderWidget, SIGNAL(shutdown()), this, SLOT(slotShutdown())); - connect(m_renderWidget, SIGNAL(selectedRenderProfile(const QString &, const QString &, const QString &, const QString&)), this, SLOT(slotSetDocumentRenderProfile(const QString &, const QString &, const QString &, const QString&))); + connect(m_renderWidget, SIGNAL(selectedRenderProfile(const QString &, const QString &, const QString &, const QString&, bool, bool, int, int)), this, SLOT(slotSetDocumentRenderProfile(const QString &, const QString &, const QString &, const QString&, bool, bool, int, int))); connect(m_renderWidget, SIGNAL(prepareRenderingData(bool, bool, const QString&)), this, SLOT(slotPrepareRendering(bool, bool, const QString&))); connect(m_renderWidget, SIGNAL(abortProcess(const QString &)), this, SIGNAL(abortRenderJob(const QString &))); connect(m_renderWidget, SIGNAL(openDvdWizard(const QString &, const QString &)), this, SLOT(slotDvdWizard(const QString &, const QString &))); @@ -1985,7 +1985,7 @@ void MainWindow::slotRenderProject() m_renderWidget->setProfile(m_activeDocument->mltProfile()); m_renderWidget->setGuides(m_activeDocument->guidesXml(), m_activeDocument->projectDuration()); m_renderWidget->setDocumentPath(m_activeDocument->projectFolder().path(KUrl::AddTrailingSlash)); - m_renderWidget->setRenderProfile(m_activeDocument->getDocumentProperty("renderdestination"), m_activeDocument->getDocumentProperty("rendercategory"), m_activeDocument->getDocumentProperty("renderprofile"), m_activeDocument->getDocumentProperty("renderurl")); + m_renderWidget->setRenderProfile(m_activeDocument->getDocumentProperty("renderdestination"), m_activeDocument->getDocumentProperty("rendercategory"), m_activeDocument->getDocumentProperty("renderprofile"), m_activeDocument->getDocumentProperty("renderurl"), m_activeDocument->getDocumentProperty("renderzone") == "1", m_activeDocument->getDocumentProperty("renderguide") == "1", m_activeDocument->getDocumentProperty("startguide").toInt(), m_activeDocument->getDocumentProperty("endguide").toInt()); } } slotCheckRenderStatus(); @@ -2196,7 +2196,7 @@ void MainWindow::connectDocument(TrackView *trackView, KdenliveDoc *doc) //cha m_renderWidget->setProfile(doc->mltProfile()); m_renderWidget->setGuides(doc->guidesXml(), doc->projectDuration()); m_renderWidget->setDocumentPath(doc->projectFolder().path(KUrl::AddTrailingSlash)); - m_renderWidget->setRenderProfile(doc->getDocumentProperty("renderdestination"), doc->getDocumentProperty("rendercategory"), doc->getDocumentProperty("renderprofile"), doc->getDocumentProperty("renderurl")); + m_renderWidget->setRenderProfile(doc->getDocumentProperty("renderdestination"), doc->getDocumentProperty("rendercategory"), doc->getDocumentProperty("renderprofile"), doc->getDocumentProperty("renderurl"), doc->getDocumentProperty("renderzone") == "1", doc->getDocumentProperty("renderguide") == "1", doc->getDocumentProperty("startguide").toInt(), doc->getDocumentProperty("endguide").toInt()); } //doc->setRenderer(m_projectMonitor->render); m_commandStack->setActiveStack(doc->commandStack()); @@ -3358,13 +3358,17 @@ void MainWindow::slotTranscodeClip() slotTranscode(urls); } -void MainWindow::slotSetDocumentRenderProfile(const QString &dest, const QString &group, const QString &name, const QString &file) +void MainWindow::slotSetDocumentRenderProfile(const QString &dest, const QString &group, const QString &name, const QString &file, bool renderZone, bool renderGuide, int startGuide, int endGuide) { if (m_activeDocument == NULL) return; m_activeDocument->setDocumentProperty("renderdestination", dest); m_activeDocument->setDocumentProperty("rendercategory", group); m_activeDocument->setDocumentProperty("renderprofile", name); m_activeDocument->setDocumentProperty("renderurl", file); + m_activeDocument->setDocumentProperty("renderzone", QString::number(renderZone)); + m_activeDocument->setDocumentProperty("renderguide", QString::number(renderGuide)); + m_activeDocument->setDocumentProperty("startguide", QString::number(startGuide)); + m_activeDocument->setDocumentProperty("endguide", QString::number(endGuide)); m_activeDocument->setModified(true); } diff --git a/src/mainwindow.h b/src/mainwindow.h index d0b24de6..9c48d13f 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -432,7 +432,7 @@ private slots: void slotMaximizeCurrent(bool show); void slotTranscode(KUrl::List urls = KUrl::List()); void slotTranscodeClip(); - void slotSetDocumentRenderProfile(const QString &dest, const QString &group, const QString &name, const QString &file); + void slotSetDocumentRenderProfile(const QString &dest, const QString &group, const QString &name, const QString &file, bool renderZone, bool renderGuide, int startGuide, int endGuide); void slotPrepareRendering(bool scriptExport, bool zoneOnly, const QString &chapterFile); /** @brief Switches between displaying frames or timecode. diff --git a/src/renderwidget.cpp b/src/renderwidget.cpp index ff952595..631c8470 100644 --- a/src/renderwidget.cpp +++ b/src/renderwidget.cpp @@ -823,7 +823,7 @@ void RenderWidget::slotExport(bool scriptExport, int zoneIn, int zoneOut, const renderParameters << scriptName; // Save rendering profile to document - emit selectedRenderProfile(m_view.size_list->currentItem()->data(MetaGroupRole).toString(), m_view.size_list->currentItem()->data(GroupRole).toString(), m_view.size_list->currentItem()->text(), dest); + emit selectedRenderProfile(m_view.size_list->currentItem()->data(MetaGroupRole).toString(), m_view.size_list->currentItem()->data(GroupRole).toString(), m_view.size_list->currentItem()->text(), dest, m_view.render_zone->isChecked(), m_view.render_guide->isChecked(), m_view.guide_start->currentIndex(), m_view.guide_end->currentIndex()); // insert item in running jobs list QTreeWidgetItem *renderItem; @@ -1697,10 +1697,17 @@ void RenderWidget::slotHideLog() m_view.error_box->setVisible(false); } -void RenderWidget::setRenderProfile(const QString &dest, const QString &group, const QString &name, const QString &url) +void RenderWidget::setRenderProfile(const QString &dest, const QString &group, const QString &name, const QString &url, bool renderZone, bool renderGuide, int guideStart, int guideEnd) { m_view.destination_list->blockSignals(true); m_view.format_list->blockSignals(true); + if (renderZone) m_view.render_zone->setChecked(true); + else if (renderGuide) { + m_view.render_guide->setChecked(true); + m_view.guide_start->setCurrentIndex(guideStart); + m_view.guide_end->setCurrentIndex(guideEnd); + } else m_view.render_full->setChecked(true); + slotUpdateGuideBox(); if (!url.isEmpty()) m_view.out_file->setUrl(KUrl(url)); diff --git a/src/renderwidget.h b/src/renderwidget.h index 3167a97a..d04fc56e 100644 --- a/src/renderwidget.h +++ b/src/renderwidget.h @@ -118,7 +118,7 @@ public: void setRenderStatus(const QString &dest, int status, const QString &error); void setDocumentPath(const QString path); void reloadProfiles(); - void setRenderProfile(const QString &dest, const QString &group, const QString &name, const QString &url); + void setRenderProfile(const QString &dest, const QString &group, const QString &name, const QString &url, bool renderZone, bool renderGuide, int guideStart, int guideEnd); int waitingJobsCount() const; QString getFreeScriptName(const QString &prefix = QString()); bool startWaitingRenderJobs(); @@ -189,7 +189,7 @@ signals: void openDvdWizard(const QString &url, const QString &profile); /** Send the infos about rendering that will be saved in the document: (profile destination, profile name and url of rendered file */ - void selectedRenderProfile(const QString &, const QString &, const QString &, const QString &); + void selectedRenderProfile(const QString &, const QString &, const QString &, const QString &, bool, bool, int, int); void prepareRenderingData(bool scriptExport, bool zoneOnly, const QString &chapterFile); void shutdown(); };