return getClipItemAt(framepos, track);
}
-Transition *CustomTrackView::getTransitionItemAt(GenTime pos, int track) {
- QList<QGraphicsItem *> list = scene()->items(QPointF(pos.frames(m_document->fps()), (track + 1) * m_tracksHeight));
+Transition *CustomTrackView::getTransitionItemAt(int pos, int track) {
+ QList<QGraphicsItem *> list = scene()->items(QPointF(pos, (track + 1) * m_tracksHeight));
Transition *clip = NULL;
for (int i = 0; i < list.size(); i++) {
if (list.at(i)->type() == TRANSITIONWIDGET) {
return clip;
}
+Transition *CustomTrackView::getTransitionItemAt(GenTime pos, int track) {
+ return getTransitionItemAt(pos.frames(m_document->fps()), track);
+}
+
Transition *CustomTrackView::getTransitionItemAtEnd(GenTime pos, int track) {
int framepos = (int)(pos.frames(m_document->fps()));
QList<QGraphicsItem *> list = scene()->items(QPointF(framepos - 1, (track + 1) * m_tracksHeight));
}
+void CustomTrackView::loadGroups(const QDomNodeList groups) {
+ for (int i = 0; i < groups.count(); i++) {
+ QDomNodeList children = groups.at(i).childNodes();
+ scene()->clearSelection();
+ for (int nodeindex = 0; nodeindex < children.count(); nodeindex++) {
+ QDomNode n = children.item(nodeindex);
+ QDomElement elem = n.toElement();
+ int pos = elem.attribute("position").toInt();
+ int track = elem.attribute("track").toInt();
+ if (elem.tagName() == "clipitem") {
+ ClipItem *clip = getClipItemAt(pos, track); //m_document->tracksCount() - transitiontrack);
+ if (clip) clip->setSelected(true);
+ } else {
+ Transition *clip = getTransitionItemAt(pos, track); //m_document->tracksCount() - transitiontrack);
+ if (clip) clip->setSelected(true);
+ }
+ }
+ groupSelectedItems(false, true);
+ }
+}
+
#include "customtrackview.moc"
void lockTrack(int ix, bool lock);
void groupClips(bool group = true);
void doGroupClips(QList <ItemInfo> clipInfos, QList <ItemInfo> transitionInfos, bool group);
+ void loadGroups(const QDomNodeList groups);
public slots:
void setCursorPos(int pos, bool seek = true);
ClipItem *getClipItemAt(GenTime pos, int track);
ClipItem *getClipItemAtEnd(GenTime pos, int track);
ClipItem *getClipItemAtStart(GenTime pos, int track);
+ Transition *getTransitionItemAt(int pos, int track);
Transition *getTransitionItemAt(GenTime pos, int track);
Transition *getTransitionItemAtEnd(GenTime pos, int track);
Transition *getTransitionItemAtStart(GenTime pos, int track);
m_trackview->addGuide(pos, comment);
}
+ // Rebuild groups
+ QDomNodeList groups = doc.elementsByTagName("group");
+ m_trackview->loadGroups(groups);
+
m_trackview->setDuration(duration);
kDebug() << "/////////// TOTAL PROJECT DURATION: " << duration;
slotRebuildTrackHeaders();