X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Feffectstack%2Feffectstackview2.cpp;h=f33ecc6c0099f07ad8df8b76dc7458c127b29454;hb=c2ff32876591d3e015410ac619b4d8e3746571dc;hp=3200951807476da481a23e943e1524b697ecc671;hpb=2f0e4e365b0cbdcfe35168a7d521304b42e2f1d4;p=kdenlive diff --git a/src/effectstack/effectstackview2.cpp b/src/effectstack/effectstackview2.cpp index 32009518..f33ecc6c 100644 --- a/src/effectstack/effectstackview2.cpp +++ b/src/effectstack/effectstackview2.cpp @@ -271,7 +271,7 @@ void EffectStackView2::connectEffect(CollapsibleEffect *currentEffect) // Check drag & drop currentEffect->installEventFilter( this ); connect(currentEffect, SIGNAL(parameterChanged(const QDomElement, const QDomElement, int)), this , SLOT(slotUpdateEffectParams(const QDomElement, const QDomElement, int))); - connect(currentEffect, SIGNAL(startFilterJob(QString,QString,QString,QString,QString,QString)), this , SLOT(slotStartFilterJob(QString,QString,QString,QString,QString,QString))); + connect(currentEffect, SIGNAL(startFilterJob(QString,QString,QString,QString,QString,QStringList)), this , SLOT(slotStartFilterJob(QString,QString,QString,QString,QString,QStringList))); connect(currentEffect, SIGNAL(deleteEffect(const QDomElement)), this , SLOT(slotDeleteEffect(const QDomElement))); connect(currentEffect, SIGNAL(reloadEffects()), this , SIGNAL(reloadEffects())); connect(currentEffect, SIGNAL(resetEffect(int)), this , SLOT(slotResetEffect(int))); @@ -388,6 +388,12 @@ void EffectStackView2::startDrag() } else if (m_draggedGroup) { doc = m_draggedGroup->effectsData(); + if (m_effectMetaInfo.trackMode) { + doc.documentElement().setAttribute("clipstart", 0); + } + else { + doc.documentElement().setAttribute("clipstart", m_clipref->cropStart().frames(KdenliveSettings::project_fps())); + } pixmap = QPixmap::grabWidget(m_draggedGroup->title()); } else return; @@ -495,7 +501,7 @@ void EffectStackView2::slotCheckAll(int state) // Disable all effects QList indexes; for (int i = 0; i < m_effects.count(); i++) { - m_effects.at(i)->slotEnable(disabled, false); + m_effects.at(i)->slotDisable(disabled, false); indexes << m_effects.at(i)->effectIndex(); } // Take care of groups @@ -637,10 +643,10 @@ void EffectStackView2::slotMoveEffectUp(QList indexes, bool up) else emit changeEffectPosition(m_clipref, -1, indexes, endPos); } -void EffectStackView2::slotStartFilterJob(const QString&filterName, const QString&filterParams, const QString&finalFilterName, const QString&consumer, const QString&consumerParams, const QString&properties) +void EffectStackView2::slotStartFilterJob(const QString&filterName, const QString&filterParams, const QString&finalFilterName, const QString&consumer, const QString&consumerParams, const QStringList &extraParams) { if (!m_clipref) return; - emit startFilterJob(m_clipref->info(), m_clipref->clipProducer(), filterName, filterParams, finalFilterName, consumer, consumerParams, properties); + emit startFilterJob(m_clipref->info(), m_clipref->clipProducer(), filterName, filterParams, finalFilterName, consumer, consumerParams, extraParams); } void EffectStackView2::slotResetEffect(int ix) @@ -723,7 +729,7 @@ void EffectStackView2::slotCreateRegion(int ix, KUrl url) info.startPos = GenTime(-1); info.track = 0; } - else { + else if (m_clipref) { info = m_clipref->info(); } CollapsibleEffect *current = getEffectByIndex(ix); @@ -738,7 +744,7 @@ void EffectStackView2::slotCreateRegion(int ix, KUrl url) if (m_effectMetaInfo.trackMode) { isSelected = currentEffect->effectIndex() == 1; } - else { + else if (m_clipref) { isSelected = currentEffect->effectIndex() == m_clipref->selectedEffectIndex(); } if (isSelected) currentEffect->setActive(true); @@ -796,7 +802,8 @@ void EffectStackView2::slotCreateGroup(int ix) connectGroup(group); l->insertWidget(groupPos, group); group->installEventFilter( this ); - group->addGroupEffect(effectToMove); + if (effectToMove) + group->addGroupEffect(effectToMove); } void EffectStackView2::connectGroup(CollapsibleGroup *group)