From: Jean-Baptiste Mardelle Date: Fri, 10 Apr 2009 17:16:57 +0000 (+0000) Subject: Keep clip type (audio/video only) when copy / paste a clip X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=979435038b58e66a94ec9fd5efedfedc39117b74;p=kdenlive Keep clip type (audio/video only) when copy / paste a clip svn path=/trunk/kdenlive/; revision=3284 --- diff --git a/src/clipitem.cpp b/src/clipitem.cpp index 51712d9a..19034320 100644 --- a/src/clipitem.cpp +++ b/src/clipitem.cpp @@ -139,6 +139,8 @@ ClipItem *ClipItem::clone(ItemInfo info) const if (info.cropStart + (info.endPos - info.startPos) == m_cropStart + m_cropDuration) duplicate->slotSetEndThumb(m_endPix); kDebug() << "// CLoning clip: " << (info.cropStart + (info.endPos - info.startPos)).frames(m_fps) << ", CURRENT end: " << (cropStart() + duration()).frames(m_fps); duplicate->setEffectList(m_effectList.clone()); + duplicate->setVideoOnly(m_videoOnly); + duplicate->setAudioOnly(m_audioOnly); //duplicate->setSpeed(m_speed); return duplicate; } @@ -540,6 +542,8 @@ QDomElement ClipItem::xml() const { QDomElement xml = m_clip->toXML(); if (m_speed != 1.0) xml.setAttribute("speed", m_speed); + if (m_audioOnly) xml.setAttribute("audio_only", 1); + else if (m_videoOnly) xml.setAttribute("video_only", 1); return xml; } @@ -1527,30 +1531,4 @@ bool ClipItem::isVideoOnly() const } -// virtual -/* -void CustomTrackView::mousePressEvent ( QMouseEvent * event ) -{ - int pos = event->x(); - if (event->modifiers() == Qt::ControlModifier) - setDragMode(QGraphicsView::ScrollHandDrag); - else if (event->modifiers() == Qt::ShiftModifier) - setDragMode(QGraphicsView::RubberBandDrag); - else { - QGraphicsItem * item = itemAt(event->pos()); - if (item) { - } - else emit cursorMoved((int) mapToScene(event->x(), 0).x()); - } - kDebug()<x(); int mappedXPos = (int)(mapToScene(event->pos()).x() + 0.5); emit mousePosition(mappedXPos); + if (event->buttons() & Qt::MidButton) return; - if ((event->modifiers() == Qt::ControlModifier && m_tool != SPACERTOOL) || event->modifiers() == Qt::ShiftModifier) { + if (m_operationMode == RUBBERSELECTION || (event->modifiers() == Qt::ControlModifier && m_tool != SPACERTOOL)) { QGraphicsView::mouseMoveEvent(event); m_moveOpMode = NONE; return; @@ -2846,6 +2847,8 @@ void CustomTrackView::addClip(QDomElement xml, const QString &clipId, ItemInfo i } ClipItem *item = new ClipItem(baseclip, info, m_document->fps(), xml.attribute("speed", "1").toDouble()); item->setEffectList(effects); + if (xml.hasAttribute("audio_only")) item->setAudioOnly(true); + else if (xml.hasAttribute("video_only")) item->setVideoOnly(true); scene()->addItem(item); int tracknumber = m_document->tracksCount() - info.track - 1;