From 61fcc772c96b9bb3c1c3b934bd8bdfac3e85d6f8 Mon Sep 17 00:00:00 2001 From: Marco Gittler Date: Fri, 28 Mar 2008 21:04:12 +0000 Subject: [PATCH] fix when selection transition svn path=/branches/KDE4/; revision=2139 --- src/transition.cpp | 13 +++++++------ src/transitionsettings.cpp | 30 +++++++++++++++++++++++------- 2 files changed, 30 insertions(+), 13 deletions(-) diff --git a/src/transition.cpp b/src/transition.cpp index 7f358c02..8f000e7c 100644 --- a/src/transition.cpp +++ b/src/transition.cpp @@ -41,9 +41,10 @@ Transition::Transition(const ItemInfo info, int transitiontrack, double scale, d m_maxDuration = GenTime(10000, fps); //m_referenceClip = clipa; if (params.isNull()) { - QDomDocument doc; - doc.setContent(QString("LumaLuma TransitionsReverse")); - m_parameters = doc.documentElement(); + //FIXME we need to setup here the right luma xml file !!! + QDomDocument doc; + doc.setContent(QString("LumaLuma TransitionsReverse")); + m_parameters = doc.documentElement(); } else { m_parameters = params; } @@ -80,12 +81,12 @@ bool Transition::invertedTransition() const { QPixmap Transition::transitionPixmap() const { KIcon icon; QString tag = transitionTag(); - if ( tag == "luma") { + if (tag == "luma") { if (invertedTransition()) icon = KIcon("kdenlive_trans_up"); else icon = KIcon("kdenlive_trans_down"); - } else if ( tag == "composite") { + } else if (tag == "composite") { icon = KIcon("kdenlive_trans_wiper"); - } else if ( tag == "lumafile") { + } else if (tag == "lumafile") { icon = KIcon("kdenlive_trans_luma"); } else icon = KIcon("kdenlive_trans_pip"); return icon.pixmap(QSize(15, 15)); diff --git a/src/transitionsettings.cpp b/src/transitionsettings.cpp index b24d6485..a38cf0d7 100644 --- a/src/transitionsettings.cpp +++ b/src/transitionsettings.cpp @@ -30,6 +30,7 @@ TransitionSettings::TransitionSettings(EffectsList *transitions, QWidget* parent m_transitions = transitions; ui.listWidget->addItems(transitions->effectNames()); kDebug() << transitions->effectNames().size() << " -" << transitions->size(); + ui.listWidget->setCurrentRow(0); connect(ui.listWidget, SIGNAL(currentRowChanged(int)), this, SLOT(slotTransitionChanged())); connect(this, SIGNAL(transferParamDesc(const QDomElement&, int , int)), effectEdit , SLOT(transferParamDesc(const QDomElement&, int , int))); connect(effectEdit, SIGNAL(parameterChanged(const QDomElement&, const QDomElement&)), this , SLOT(slotUpdateEffectParams(const QDomElement&, const QDomElement&))); @@ -41,18 +42,28 @@ void TransitionSettings::slotTransitionChanged() { QDomElement e = m_usedTransition->toXML(); //set old values from e in to desc (like reverse and so ) - QDomElement desc = m_transitions->getEffectByName(ui.listWidget->currentItem()->text()); - if (m_usedTransition) { - m_usedTransition->setTransitionParameters(desc); - m_usedTransition->update(); - } - emit transitionUpdated(e, m_usedTransition->toXML()); - emit transferParamDesc(desc, 0, 0); + /* QDomElement desc = m_transitions->getEffectByName(ui.listWidget->currentItem()->text()); + if (m_usedTransition) { + m_usedTransition->setTransitionParameters(desc); + m_usedTransition->update(); + } + emit transitionUpdated(e, m_usedTransition->toXML());*/ + if (m_usedTransition && m_usedTransition->transitionName() == ui.listWidget->currentItem()->text() && !e.attribute("tag").isNull()) { + slotUpdateEffectParams(e, e); + } else + slotUpdateEffectParams(e, m_transitions->getEffectByName(ui.listWidget->currentItem()->text())); + emit transferParamDesc(m_usedTransition->toXML(), 0, 0); } void TransitionSettings::slotTransitionItemSelected(Transition* t) { setEnabled(t != NULL); m_usedTransition = t; + if (m_usedTransition) { + QList list = ui.listWidget->findItems(m_usedTransition->transitionName(), Qt::MatchExactly); + if (list.size() > 0) { + ui.listWidget->setCurrentItem(list[0]); + } + } } @@ -61,6 +72,11 @@ void TransitionSettings::slotUpdateEffectParams(const QDomElement& oldparam, con m_usedTransition->setTransitionParameters(param); m_usedTransition->update(); } + QString test; + QTextStream str(&test); + oldparam.save(str, 2); + m_usedTransition->toXML().save(str, 2); + kDebug() << test; //oldparam must be also first given to Transition and then return the toXML() emit transitionUpdated(oldparam, m_usedTransition->toXML()); } -- 2.39.2