]> git.sesse.net Git - kdenlive/commitdiff
Remember render settings for project (zone, guides):
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 26 Jul 2010 19:11:09 +0000 (19:11 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Mon, 26 Jul 2010 19:11:09 +0000 (19:11 +0000)
http://www.kdenlive.org/mantis/view.php?id=1681

svn path=/trunk/kdenlive/; revision=4648

src/mainwindow.cpp
src/mainwindow.h
src/renderwidget.cpp
src/renderwidget.h

index 1e1a719bccb6d7951574802218f3e67db5da6855..e66e0b4882a8683c5d581a8c85f74c4806e8da3e 100644 (file)
@@ -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);
 }
 
index d0b24de6b21ca76b0f19ccb2b61022f629ef7634..9c48d13f0549621fd3075d4e6dae32bc68b51dd9 100644 (file)
@@ -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.
index ff9525951b3d2b0162bfdfc0580c13dfdf248191..631c84703f938e6da690a0b19fff4331675a9197 100644 (file)
@@ -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));
 
index 3167a97a2b68b11001723d85909420d92084d7d3..d04fc56ec4702995f929256bef8136dd7ee25079 100644 (file)
@@ -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();
 };