]> git.sesse.net Git - kdenlive/blobdiff - src/editeffectcommand.cpp
Improve the export audio automatic setting:
[kdenlive] / src / editeffectcommand.cpp
index 7359614b04124ff0c2393830a2b59b646f903701..9bbebc748651bf0efb4652c8098db84ab33a8861 100644 (file)
  *   51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA          *
  ***************************************************************************/
 
-#include <KLocale>
 
 #include "editeffectcommand.h"
+#include "customtrackview.h"
+
+#include <KLocale>
 
-EditEffectCommand::EditEffectCommand(CustomTrackView *view, const int track, GenTime pos, QDomElement oldeffect, QDomElement effect, bool doIt)
-        : m_view(view), m_track(track), m_pos(pos), m_oldeffect(oldeffect), m_doIt(doIt) {
-    m_effect = effect.cloneNode().toElement();
-    setText(i18n("Edit effect"));
+EditEffectCommand::EditEffectCommand(CustomTrackView *view, const int track, GenTime pos, QDomElement oldeffect, QDomElement effect, int stackPos, bool doIt, QUndoCommand *parent) :
+        QUndoCommand(parent),
+        m_view(view),
+        m_track(track),
+        m_oldeffect(oldeffect),
+        m_effect(effect),
+        m_pos(pos),
+        m_stackPos(stackPos),
+        m_doIt(doIt)
+{
+    QString effectName;
+    QDomNode namenode = effect.elementsByTagName("name").item(0);
+    if (!namenode.isNull()) effectName = i18n(namenode.toElement().text().toUtf8().data());
+    else effectName = i18n("effect");
+    setText(i18n("Edit effect %1", effectName));
 }
 
 // virtual
-int EditEffectCommand::id() const {
+int EditEffectCommand::id() const
+{
     return 1;
 }
 
 // virtual
-bool EditEffectCommand::mergeWith(const QUndoCommand * other) {
+bool EditEffectCommand::mergeWith(const QUndoCommand * other)
+{
     if (other->id() != id()) return false;
     if (m_track != static_cast<const EditEffectCommand*>(other)->m_track) return false;
     if (m_pos != static_cast<const EditEffectCommand*>(other)->m_pos) return false;
-    m_effect = static_cast<const EditEffectCommand*>(other)->m_effect;
+    m_effect = static_cast<const EditEffectCommand*>(other)->m_effect.cloneNode().toElement();
     return true;
 }
 
 // virtual
-void EditEffectCommand::undo() {
-    kDebug() << "----  undoing action";
-    m_view->updateEffect(m_track, m_pos, m_oldeffect);
+void EditEffectCommand::undo()
+{
+    m_view->updateEffect(m_track, m_pos, m_oldeffect, m_stackPos, false);
 }
 // virtual
-void EditEffectCommand::redo() {
-    kDebug() << "----  redoing action";
-    m_view->updateEffect(m_track, m_pos, m_effect);
+void EditEffectCommand::redo()
+{
+    m_view->updateEffect(m_track, m_pos, m_effect, m_stackPos, m_doIt);
+    m_doIt = false;
 }
 
-#include "editeffectcommand.moc"
+