break;
}
}
- if (item) {
+ if (item && event->buttons() == Qt::NoButton) {
ClipItem *clip = (ClipItem*) item;
double size = mapToScene(QPoint(8, 0)).x();
OPERATIONTYPE opMode = clip->operationMode(mapToScene(event->pos()), m_scale);
}
else {
m_moveOpMode = NONE;
+ if (event->buttons() != Qt::NoButton)
+ {
+ setCursorPos((int) mapToScene(event->pos().x(), 0).x());
+ emit cursorMoved(cursorPos());
+ }
if (m_visualTip) {
if (m_animation) delete m_animation;
m_animation = NULL;
// virtual
void CustomTrackView::mousePressEvent ( QMouseEvent * event )
{
- kDebug()<<"-- TIMELINE MSE PRESSED";
int pos = event->x();
if (event->modifiers() == Qt::ControlModifier) {
setDragMode(QGraphicsView::ScrollHandDrag);
void CustomTrackView::dragMoveEvent(QDragMoveEvent * event) {
event->setDropAction(Qt::IgnoreAction);
+ //kDebug()<<"+++++++++++++ DRAG MOVE, : "<<mapToScene(event->pos()).x()<<", SCAL: "<<m_scale;
if (m_dropItem) {
int track = (int) mapToScene(event->pos()).y()/50; //) * (m_scale * 50) + m_scale;
- kDebug()<<"+++++++++++++ DRAG MOVE, : "<<mapToScene(event->pos()).x()<<", SCAL: "<<m_scale;
m_dropItem->moveTo(mapToScene(event->pos()).x() / m_scale, m_scale, (track - m_dropItem->track()) * 50, track);
+ event->setDropAction(Qt::MoveAction);
+ if (event->mimeData()->hasFormat("kdenlive/producerslist")) {
+ event->acceptProposedAction();
+ }
}
- //if (item) {
- event->setDropAction(Qt::MoveAction);
- if (event->mimeData()->hasFormat("kdenlive/producerslist")) {
- event->acceptProposedAction();
+ else {
+ QGraphicsView::dragMoveEvent(event);
}
- else QGraphicsView::dragMoveEvent(event);
- //}
}
void CustomTrackView::dragLeaveEvent ( QDragLeaveEvent * event ) {
m_commandStack->push(command);
m_dropItem->baseClip()->addReference();
m_document->updateClip(m_dropItem->baseClip()->getId());
- kDebug()<<"IIIIIIIIIIIIIIIIIIIIIIII TRAX CNT: "<<m_tracksCount<<", DROP: "<<m_dropItem->track();
+ // kDebug()<<"IIIIIIIIIIIIIIIIIIIIIIII TRAX CNT: "<<m_tracksCount<<", DROP: "<<m_dropItem->track();
m_document->renderer()->mltInsertClip(m_tracksCount - m_dropItem->track(), GenTime(m_dropItem->startPos(), m_document->fps()), m_dropItem->xml());
}
else QGraphicsView::dropEvent(event);
if (m_position < 1) return;
m_position--;
render->seekToFrame(m_position);
+ emit renderPosition(m_position);
ui.monitor_time->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
if (m_position >= m_length) return;
m_position++;
render->seekToFrame(m_position);
+ emit renderPosition(m_position);
ui.monitor_time->setText(m_monitorManager->timecode().getTimecodeFromFrames(m_position));
}
int rulerPos = (int) (pos * m_scale);
m_position = pos;
ui.monitor_time->setText(m_monitorManager->timecode().getTimecodeFromFrames(pos));
- //kDebug()<<"seek: "<<pos<<", scale: "<<m_scale<<
+ kDebug()<<"seek: "<<pos<<", scale: "<<m_scale;
m_ruler->slotNewValue(rulerPos);
}
{
int rulerPos = (int) (pos * m_scale);
m_ruler->slotNewValue(rulerPos);
+ m_position = pos;
+ ui.monitor_time->setText(m_monitorManager->timecode().getTimecodeFromFrames(pos));
ui.button_play->setChecked(false);
ui.button_play->setIcon(m_playIcon);
}
void TrackView::moveCursorPos(int pos)
{
m_trackview->setCursorPos(pos * m_scale, false);
- //m_ruler->slotNewValue(pos * FRAME_SIZE, false);
+ m_ruler->slotNewValue(pos * FRAME_SIZE, false);
}
void TrackView::slotCursorMoved(int pos, bool emitSignal)
void TrackView::slotChangeZoom(int factor)
{
+ double pos = m_trackview->cursorPos() / m_scale;
m_ruler->setPixelPerMark(factor);
m_scale = (double) FRAME_SIZE / m_ruler->comboScale[factor]; // m_ruler->comboScale[m_currentZoom] /
m_currentZoom = factor;
m_trackview->setScale(m_scale);
+ m_trackview->setCursorPos(pos * m_scale, false);
+ m_ruler->slotNewValue(pos * FRAME_SIZE, false);
m_trackview->centerOn(QPointF(m_trackview->cursorPos(), 50));
}