]> git.sesse.net Git - kdenlive/commitdiff
Save vertical zoom in project:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Wed, 24 Jun 2009 17:43:29 +0000 (17:43 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Wed, 24 Jun 2009 17:43:29 +0000 (17:43 +0000)
http://www.kdenlive.org:80/mantis/view.php?id=380

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

src/kdenlivedoc.cpp
src/kdenlivedoc.h
src/mainwindow.cpp
src/trackview.cpp
src/trackview.h

index ecdb4ab1ae3dd3c9556c75cdce50b0a7442771b8..a205aafcaadc541fe1762a5c654c24b94e9fbf45 100644 (file)
@@ -66,6 +66,7 @@ KdenliveDoc::KdenliveDoc(const KUrl &url, const KUrl &projectFolder, QUndoGroup
 
     // init default document properties
     m_documentProperties["zoom"] = "7";
+    m_documentProperties["verticalzoom"] = "1";
     m_documentProperties["zonein"] = "0";
     m_documentProperties["zoneout"] = "100";
 
@@ -387,14 +388,15 @@ void KdenliveDoc::slotAutoSave()
     }
 }
 
-void KdenliveDoc::setZoom(int factor)
+void KdenliveDoc::setZoom(int horizontal, int vertical)
 {
-    m_documentProperties["zoom"] = QString::number(factor);
+    m_documentProperties["zoom"] = QString::number(horizontal);
+    m_documentProperties["verticalzoom"] = QString::number(vertical);
 }
 
-int KdenliveDoc::zoom() const
+QPoint KdenliveDoc::zoom() const
 {
-    return m_documentProperties.value("zoom").toInt();
+    return QPoint(m_documentProperties.value("zoom").toInt(), m_documentProperties.value("verticalzoom").toInt());
 }
 
 void KdenliveDoc::setZone(int start, int end)
index b4a21b7be90c7c6b235ed988151b67058142377d..c57b1a39657c7eb8bcec5cc8b63d3e2bf13caf43 100644 (file)
@@ -90,8 +90,8 @@ Q_OBJECT public:
     /** Used to inform main app of the current document loading progress */
     void loadingProgressed();
     void syncGuides(QList <Guide *> guides);
-    void setZoom(int factor);
-    int zoom() const;
+    void setZoom(int horizontal, int vertical);
+    QPoint zoom() const;
     double dar();
     double projectDuration() const;
     bool saveSceneList(const QString &path, const QString &scene);
index 1125799a3d89b626cd9f7b8796d4fab755cb6316..ef285aa56a2e89a857a11d2ffc31cd033b5a3a22 100644 (file)
@@ -1610,7 +1610,6 @@ void MainWindow::slotRenderProject()
     if (!m_renderWidget) {
         QString projectfolder = m_activeDocument ? m_activeDocument->projectFolder().path(KUrl::AddTrailingSlash) : KdenliveSettings::defaultprojectfolder();
         m_renderWidget = new RenderWidget(projectfolder, this);
-        connect(m_renderWidget, SIGNAL(doRender(const QStringList&, const QStringList&)), this, SLOT(slotDoRender(const QStringList&, const QStringList&)));
         connect(m_renderWidget, SIGNAL(selectedRenderProfile(const QString &, const QString &)), this, SLOT(slotSetDocumentRenderProfile(const QString &, const QString &)));
         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 &)));
@@ -1762,7 +1761,7 @@ void MainWindow::connectDocument(TrackView *trackView, KdenliveDoc *doc)   //cha
     connect(trackView->projectView(), SIGNAL(clipItemSelected(ClipItem*, int)), this, SLOT(slotActivateEffectStackView()));
     connect(trackView->projectView(), SIGNAL(transitionItemSelected(Transition*, int, QPoint, bool)), m_transitionConfig, SLOT(slotTransitionItemSelected(Transition*, int, QPoint, bool)));
     connect(trackView->projectView(), SIGNAL(transitionItemSelected(Transition*, int, QPoint, bool)), this, SLOT(slotActivateTransitionView(Transition *)));
-    m_zoomSlider->setValue(doc->zoom());
+    m_zoomSlider->setValue(doc->zoom().x());
     connect(m_zoomSlider, SIGNAL(valueChanged(int)), trackView, SLOT(slotChangeZoom(int)));
     connect(trackView->projectView(), SIGNAL(zoomIn()), this, SLOT(slotZoomIn()));
     connect(trackView->projectView(), SIGNAL(zoomOut()), this, SLOT(slotZoomOut()));
index 40a408c5fe87be884aecc164836e7df007fd3737..14fe4eed8663b3c7ff7792ed4b6a0c0208e912a2 100644 (file)
@@ -109,7 +109,7 @@ TrackView::TrackView(KdenliveDoc *doc, QWidget *parent) :
     connect(m_trackview, SIGNAL(mousePosition(int)), this, SIGNAL(mousePosition(int)));
     connect(m_trackview, SIGNAL(doTrackLock(int, bool)), this, SLOT(slotChangeTrackLock(int, bool)));
 
-    slotChangeZoom(m_doc->zoom());
+    slotChangeZoom(m_doc->zoom().x(), m_doc->zoom().y());
     slotSetZone(m_doc->zone());
 }
 
@@ -400,12 +400,21 @@ void TrackView::moveCursorPos(int pos)
     m_trackview->setCursorPos(pos, false);
 }
 
-void TrackView::slotChangeZoom(int factor)
+void TrackView::slotChangeZoom(int horizontal, int vertical)
 {
-    m_doc->setZoom(factor);
-    m_ruler->setPixelPerMark(factor);
-    m_scale = (double) FRAME_SIZE / m_ruler->comboScale[factor]; // m_ruler->comboScale[m_currentZoom] /
-    m_trackview->setScale(m_scale, m_scene->scale().y());
+    m_ruler->setPixelPerMark(horizontal);
+    m_scale = (double) FRAME_SIZE / m_ruler->comboScale[horizontal]; // m_ruler->comboScale[m_currentZoom] /
+
+    if (vertical == -1) {
+        // user called zoom
+        m_doc->setZoom(horizontal, m_verticalZoom);
+        m_trackview->setScale(m_scale, m_scene->scale().y());
+    } else {
+        m_verticalZoom = vertical;
+        if (m_verticalZoom == 0) m_trackview->setScale(m_scale, 0.5);
+        else m_trackview->setScale(m_scale, m_verticalZoom);
+        adjustTrackHeaders();
+    }
 }
 
 int TrackView::fitZoom() const
@@ -774,6 +783,7 @@ void TrackView::slotVerticalZoomDown()
 {
     if (m_verticalZoom == 0) return;
     m_verticalZoom--;
+    m_doc->setZoom(m_doc->zoom().x(), m_verticalZoom);
     if (m_verticalZoom == 0) m_trackview->setScale(m_scene->scale().x(), 0.5);
     else m_trackview->setScale(m_scene->scale().x(), 1);
     adjustTrackHeaders();
@@ -785,6 +795,7 @@ void TrackView::slotVerticalZoomUp()
 {
     if (m_verticalZoom == 2) return;
     m_verticalZoom++;
+    m_doc->setZoom(m_doc->zoom().x(), m_verticalZoom);
     /*KdenliveSettings::setTrackheight(KdenliveSettings::trackheight() * 2);
     m_trackview->checkTrackHeight(false);*/
     if (m_verticalZoom == 2) m_trackview->setScale(m_scene->scale().x(), 2);
index 1ad2944c1e671b171b2ade9f5a8c6414b09c0f26..0668496ef6ba912b16b9289f7d57a0c4f0890ec9 100644 (file)
@@ -61,7 +61,7 @@ public:
 
 public slots:
     void slotDeleteClip(const QString &clipId);
-    void slotChangeZoom(int factor);
+    void slotChangeZoom(int horizontal, int vertical = -1);
     void setDuration(int dur);
     void slotSetZone(QPoint p);