X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcustomtrackview.cpp;h=fa1076947c584798158245a2241724006430e1bd;hb=3577376c5e5b6cc533af0edc9d4f03d0b3770f9e;hp=a6918a1d6c06e8523b05575b67ebe2cc3e6ab041;hpb=aa34cd9fc976d1f442b9c38b3d9cb14ca649cc27;p=kdenlive diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index a6918a1d..fa107694 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -373,6 +373,7 @@ void CustomTrackView::mouseMoveEvent(QMouseEvent * event) { int pos = event->x(); int mappedXPos = qMax((int)(mapToScene(event->pos()).x() + 0.5), 0); + double snappedPos = getSnapPointForPos(mappedXPos); emit mousePosition(mappedXPos); @@ -1820,8 +1821,11 @@ void CustomTrackView::slotDeleteEffect(ClipItem *clip, int track, QDomElement ef } } } - if (delCommand->childCount() > 0) m_commandStack->push(delCommand); - else delete delCommand; + if (delCommand->childCount() > 0) + m_commandStack->push(delCommand); + else + delete delCommand; + setDocumentModified(); return; } AddEffectCommand *command = new AddEffectCommand(this, m_document->tracksCount() - clip->track(), clip->startPos(), effect, false); @@ -3053,7 +3057,7 @@ void CustomTrackView::setCursorPos(int pos, bool seek) if (pos == m_cursorPos) return; emit cursorMoved((int)(m_cursorPos), (int)(pos)); m_cursorPos = pos; - if (seek) m_document->renderer()->seek(GenTime(m_cursorPos, m_document->fps())); + if (seek) m_document->renderer()->seek(m_cursorPos); else if (m_autoScroll) checkScrolling(); m_cursorLine->setPos(m_cursorPos, 0); } @@ -3074,7 +3078,7 @@ void CustomTrackView::moveCursorPos(int delta) emit cursorMoved((int)(m_cursorPos), (int)((m_cursorPos + delta))); m_cursorPos += delta; m_cursorLine->setPos(m_cursorPos, 0); - m_document->renderer()->seek(GenTime(m_cursorPos, m_document->fps())); + m_document->renderer()->seek(m_cursorPos); } void CustomTrackView::initCursorPos(int pos) @@ -3176,7 +3180,6 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event) resetSelectionGroup(false); m_operationMode = NONE; } else if (m_operationMode == RUBBERSELECTION) { - //kDebug() << "// END RUBBER SELECT"; resetSelectionGroup(); groupSelectedItems(); m_operationMode = NONE; @@ -4055,8 +4058,7 @@ void CustomTrackView::slotUpdateClip(const QString &clipId, bool reload) if (reload && !m_document->renderer()->mltUpdateClip(info, clip->xml(), clip->baseClip()->producer(info.track))) { emit displayMessage(i18n("Cannot update clip (time: %1, track: %2)", info.startPos.frames(m_document->fps()), info.track), ErrorMessage); } - clip->refreshClip(true); - clip->update(); + clip->refreshClip(true, true); } } } @@ -4995,7 +4997,8 @@ void CustomTrackView::slotAddGuide(bool dialog) if (dialog) { MarkerDialog d(NULL, marker, m_document->timecode(), i18n("Add Guide"), this); if (d.exec() != QDialog::Accepted) return; - marker.setComment(d.newMarker().comment()); + marker = d.newMarker(); + } else { marker.setComment(m_document->timecode().getDisplayTimecodeFromFrames(m_cursorPos, false)); } @@ -5598,7 +5601,7 @@ void CustomTrackView::slotUpdateAllThumbs() item->slotSetEndThumb(pix); } } - item->refreshClip(false); + item->refreshClip(false, false); } } } @@ -6617,4 +6620,16 @@ void CustomTrackView::updateTrackDuration(int track, QUndoCommand *command) } } - +void CustomTrackView::slotRefreshThumbs(const QString &id, bool resetThumbs) +{ + QList list = scene()->items(); + ClipItem *clip = NULL; + for (int i = 0; i < list.size(); ++i) { + if (list.at(i)->type() == AVWIDGET) { + clip = static_cast (list.at(i)); + if (clip->clipProducer() == id) { + clip->refreshClip(true, resetThumbs); + } + } + } +}