void Monitor::slotRewindOneFrame()
{
render->play(0);
+ if (m_position < 1) return;
m_position--;
render->seekToFrame(m_position);
ui.monitor_time->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
void Monitor::slotForwardOneFrame()
{
render->play(0);
+ if (m_position >= m_length) return;
m_position++;
render->seekToFrame(m_position);
ui.monitor_time->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
#include <KDebug>
-
+#include "documenttrack.h"
+#include "headertrack.h"
#include "trackview.h"
TrackView::TrackView(KdenliveDoc *doc, QWidget *parent)
layout->addWidget(m_ruler);
view->ruler_frame->setLayout(layout);
+ m_tracksLayout = new QVBoxLayout;
+ m_tracksLayout->setContentsMargins (0, 0, 0, 0);
+ m_scrollArea = new QScrollArea;
+
+ m_tracksLayout->addWidget(m_scrollArea);
+ m_scrollArea->setHorizontalScrollBarPolicy ( Qt::ScrollBarAlwaysOn);
+ m_scrollArea->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
+ m_tracksAreaLayout = new QVBoxLayout;
+ m_tracksAreaLayout->setContentsMargins (0, 0, 0, 0);
+ m_tracksAreaLayout->insertStretch (1000);
+ m_scrollArea->setLayout(m_tracksAreaLayout);
+ view->tracks_frame->setLayout(m_tracksLayout);
+
+ m_headersLayout = new QVBoxLayout;
+ m_headersLayout->setContentsMargins (0, 0, 0, 0);
+ view->headers_frame->setLayout(m_headersLayout);
+
+ parseDocument(doc->toXml());
+
connect(view->horizontalSlider, SIGNAL(valueChanged ( int )), this, SLOT(slotChangeZoom( int )));
}
+void TrackView::parseDocument(QDomDocument doc)
+{
+ QDomNodeList tracks = doc.elementsByTagName("kdenlivetrack");
+ for (int i = 0; i < tracks.count(); i++)
+ {
+ slotAddTrack(i);
+ }
+}
+
void TrackView::slotChangeZoom(int factor)
{
m_ruler->setPixelPerMark(factor);
return m_doc;
}
+void TrackView::slotAddTrack(int ix)
+{
+ DocumentTrack *track = new DocumentTrack();
+ HeaderTrack *header = new HeaderTrack();
+ m_tracksAreaLayout->addWidget(track, ix, Qt::AlignTop);
+ m_headersLayout->addWidget(header, ix, Qt::AlignTop);
+ //track->show();
+}
+
#include "trackview.moc"
#ifndef TRACKVIEW_H
#define TRACKVIEW_H
+#include <QScrollArea>
+#include <QVBoxLayout>
#include <KRuler>
+
#include "ui_timeline_ui.h"
#include "customruler.h"
#include "kdenlivedoc.h"
Ui::TimeLine_UI *view;
CustomRuler *m_ruler;
KdenliveDoc *m_doc;
+ QVBoxLayout *m_tracksLayout;
+ QVBoxLayout *m_headersLayout;
+ QScrollArea *m_scrollArea;
+ QVBoxLayout *m_tracksAreaLayout;
+ void parseDocument(QDomDocument doc);
private slots:
void slotChangeZoom(int factor);
+ void slotAddTrack(int ix);
};
#endif