int tracknumber = m_document->tracksCount() - item->track() - 1;
bool isLocked = m_document->trackInfoAt(tracknumber).isLocked;
if (isLocked) item->setItemLocked(true);
-
QUndoCommand *moveCommand = new QUndoCommand();
moveCommand->setText(i18n("Move clip"));
new MoveClipCommand(this, m_dragItemInfo, info, false, moveCommand);
ItemInfo trInfo = tr->info();
ItemInfo newTrInfo = trInfo;
newTrInfo.endPos = m_dragItem->endPos();
+ kDebug() << "CLIP ENDS AT: " << newTrInfo.endPos.frames(25);
+ kDebug() << "CLIP STARTS AT: " << newTrInfo.startPos.frames(25);
ClipItem * upperClip = getClipItemAt(m_dragItemInfo.startPos, m_dragItemInfo.track - 1);
if (!upperClip || !upperClip->baseClip()->isTransparent()) {
if (!getClipItemAtStart(trInfo.startPos, tr->track())) {
item->resizeStart((int) end.startPos.frames(m_document->fps()));
} else if (end.startPos == start.startPos) {
// Transition end resize;
+ kDebug() << "// resize END: " << end.endPos.frames(m_document->fps());
item->resizeEnd((int) end.endPos.frames(m_document->fps()));
} else {
// Move & resize
DocClipBase *base = m_document->clipManager()->getClipById(id);
if (!comment.isEmpty()) base->addSnapMarker(pos, comment);
else base->deleteSnapMarker(pos);
+ emit updateClipMarkers(base);
setDocumentModified();
viewport()->update();
}
}
viewport()->update();
}
-
-#include "customtrackview.moc"
\ No newline at end of file
void displayMessage(const QString, MessageType);
void showClipFrame(DocClipBase *, const int);
void doTrackLock(int, bool);
+ void updateClipMarkers(DocClipBase *);
};
#endif
connect(trackView->projectView(), SIGNAL(clipItemSelected(ClipItem*, int)), m_effectStack, SLOT(slotClipItemSelected(ClipItem*, int)));
+ connect(trackView->projectView(), SIGNAL(updateClipMarkers(DocClipBase *)), this, SLOT(slotUpdateClipMarkers(DocClipBase*)));
+
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 *)));
}
}
+void MainWindow::slotUpdateClipMarkers(DocClipBase *clip)
+{
+ if (m_clipMonitor->isActive()) m_clipMonitor->checkOverlay();
+ m_clipMonitor->updateMarkers(clip);
+}
+
void MainWindow::slotAddClipMarker()
{
DocClipBase *clip = NULL;
MarkerDialog d(clip, marker, m_activeDocument->timecode(), i18n("Add Marker"), this);
if (d.exec() == QDialog::Accepted) {
m_activeTimeline->projectView()->slotAddClipMarker(id, d.newMarker().time(), d.newMarker().comment());
- if (m_clipMonitor->isActive()) m_clipMonitor->checkOverlay();
- m_clipMonitor->updateMarkers(clip);
}
}
return;
}
m_activeTimeline->projectView()->slotDeleteClipMarker(comment, id, pos);
- if (m_clipMonitor->isActive()) m_clipMonitor->checkOverlay();
- m_clipMonitor->updateMarkers(clip);
-
}
void MainWindow::slotDeleteAllClipMarkers()
return;
}
m_activeTimeline->projectView()->slotDeleteAllClipMarkers(clip->getId());
- if (m_clipMonitor->isActive()) m_clipMonitor->checkOverlay();
- m_clipMonitor->updateMarkers(clip);
}
void MainWindow::slotEditClipMarker()
if (d.newMarker().time() != pos) {
// remove old marker
m_activeTimeline->projectView()->slotAddClipMarker(id, pos, QString());
- m_clipMonitor->updateMarkers(clip);
}
- if (m_clipMonitor->isActive()) m_clipMonitor->checkOverlay();
}
}
void slotRemoveFocus();
void slotCleanProject();
void slotSetZoom(int value);
+ void slotUpdateClipMarkers(DocClipBase *clip);
signals:
Q_SCRIPTABLE void abortRenderJob(const QString &url);
void Monitor::updateMarkers(DocClipBase *source)
{
- if (source == m_currentClip) {
+ if (source == m_currentClip && source != NULL) {
m_markerMenu->clear();
QList <CommentedTime> markers = m_currentClip->commentedSnapMarkers();
if (!markers.isEmpty()) {
m_freeSpace = new KCapacityBar(KCapacityBar::DrawTextInline, this);
m_freeSpace->setMaximumWidth(150);
QFontMetricsF fontMetrics(font());
- m_freeSpace->setMaximumHeight(fontMetrics.height() * 1.5);
+ m_freeSpace->setMaximumHeight(fontMetrics.height() * 1.2);
updatedFreeSpace();
layout->addWidget(m_freeSpace);
#endif