]> git.sesse.net Git - kdenlive/commitdiff
Avoid a shift in timeline between header area and trackview if the horizontal scrollb...
authorTill Theato <root@ttill.de>
Thu, 13 May 2010 08:24:15 +0000 (08:24 +0000)
committerTill Theato <root@ttill.de>
Thu, 13 May 2010 08:24:15 +0000 (08:24 +0000)
svn path=/trunk/kdenlive/; revision=4435

src/recmonitor.h
src/trackview.cpp
src/trackview.h

index 9cebdcd525a6b1773936d8ccfbf9a3db6974896b..2f15aae3fe947716e26ecedbace87abc61c591a9 100644 (file)
@@ -19,7 +19,7 @@
 
 /**
 * @class RecMonitor
-* @brief Record video with dvgrab, video4linux and recordmydesktop 
+* @brief Records video via dvgrab, video4linux and recordmydesktop 
 * @author Jean-Baptiste Mardelle
 */
 
index c3c568de1a380d199b9a8c41e2af6abc9d65698b..ac1c2f410a59a28f6b6c5abb94fd9a4ba91a8d81 100644 (file)
@@ -110,6 +110,7 @@ TrackView::TrackView(KdenliveDoc *doc, bool *ok, QWidget *parent) :
     else *ok = true;
     connect(m_trackview, SIGNAL(cursorMoved(int, int)), m_ruler, SLOT(slotCursorMoved(int, int)));
     connect(m_trackview->horizontalScrollBar(), SIGNAL(valueChanged(int)), m_ruler, SLOT(slotMoveRuler(int)));
+    connect(m_trackview->horizontalScrollBar(), SIGNAL(rangeChanged(int, int)), this, SLOT(slotUpdateVerticalScroll(int, int)));
     connect(m_trackview, SIGNAL(mousePosition(int)), this, SIGNAL(mousePosition(int)));
     connect(m_trackview, SIGNAL(doTrackLock(int, bool)), this, SLOT(slotChangeTrackLock(int, bool)));
 
@@ -943,5 +944,10 @@ void TrackView::slotRenameTrack(int ix)
     }
 }
 
+void TrackView::slotUpdateVerticalScroll(int /*min*/, int max) {
+    int height = 0;
+    if (max > 0) height = m_trackview->horizontalScrollBar()->height() - 1;
+    headers_container->layout()->setContentsMargins(0, m_trackview->frameWidth(), 0, height);
+}
 
 #include "trackview.moc"
index 2defee005c97dff256b5daf8c9832b90d8f85829..ea4cf277658c115b99728d84c21553053cf05e87 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
+/**
+* @class TrackView
+* @brief Manages the timline
+* @author Jean-Baptiste Mardelle
+*/
 
 #ifndef TRACKVIEW_H
 #define TRACKVIEW_H
 
 #include <QScrollArea>
-#include <KRuler>
 #include <QGroupBox>
 #include <QGraphicsScene>
 #include <QGraphicsLineItem>
 #include <QDomElement>
 
+#include <KRuler>
 
 #include "customtrackscene.h"
 #include "ui_timeline_ui.h"
@@ -88,15 +93,21 @@ private:
 private slots:
     void setCursorPos(int pos);
     void moveCursorPos(int pos);
-    /** \brief Rebuild the track headers */
+    /** @brief Rebuild the track headers */
     void slotRebuildTrackHeaders();
-    /** \brief The tracks count or a track name changed, rebuild and notify */
+    /** @brief The tracks count or a track name changed, rebuild and notify */
     void slotReloadTracks();
     void slotChangeTrackLock(int ix, bool lock);
     void slotVerticalZoomDown();
     void slotVerticalZoomUp();
     void slotRenameTrack(int ix);
     void slotRepaintTracks();
+    /** @brief Adjust margins of header area
+     *
+     * Avoid a shift between header area and trackview if
+     * the horizontal scrollbar is visible and the position
+     * of the vertical scrollbar is maximal */
+    void slotUpdateVerticalScroll(int min, int max);
 
 signals:
     void mousePosition(int);