#include <QGraphicsRectItem>
#include <QMenu>
#include <QInputDialog>
+#include <QTimer>
Geometryval::Geometryval(const MltVideoProfile profile, Timecode t, QPoint frame_size, int startPoint, QWidget* parent) :
label_opacity->setHidden(true);
spinTransp->setHidden(true);
}
- char *tmp = (char *) qstrdup(val.toUtf8().data());
- if (m_geom) m_geom->parse(tmp, maxFrame - minFrame, m_profile.width, m_profile.height);
- else m_geom = new Mlt::Geometry(tmp, maxFrame - minFrame, m_profile.width, m_profile.height);
- delete[] tmp;
+ if (m_geom)
+ m_geom->parse(val.toUtf8().data(), maxFrame - minFrame, m_profile.width, m_profile.height);
+ else
+ m_geom = new Mlt::Geometry(val.toUtf8().data(), maxFrame - minFrame, m_profile.width, m_profile.height);
//kDebug() << " / / UPDATING TRANSITION VALUE: " << m_geom->serialise();
//read param her and set rect
connect(spinTransp, SIGNAL(valueChanged(int)), this , SLOT(slotTransparencyChanged(int)));
}
+void Geometryval::slotSyncPosition(int relTimelinePos)
+{
+ if (m_timePos.maximum() > 0 && KdenliveSettings::transitionfollowcursor()) {
+ relTimelinePos = qMax(0, relTimelinePos);
+ relTimelinePos = qMin(relTimelinePos, m_timePos.maximum());
+ if (relTimelinePos != m_timePos.getValue())
+ slotPositionChanged(relTimelinePos, false);
+ }
+}
+
void Geometryval::updateTransitionPath()
{
if (m_fixedMode) return;
{
slotPositionChanged(pos);
slotUpdateTransitionProperties();
+ QTimer::singleShot(100, this, SIGNAL(parameterChanged()));
}
void Geometryval::slotSwitchOptions()