* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <KLocale>
#include "addeffectcommand.h"
+#include "customtrackview.h"
+
+#include <KLocale>
-AddEffectCommand::AddEffectCommand(CustomTrackView *view, const int track, GenTime pos, const QString &tag, QMap <QString, QString> args, bool doIt)
- : m_view(view), m_track(track), m_pos(pos), m_tag(tag), m_args(args), m_doIt(doIt) {
- if (doIt) setText(i18n("Add effect"));
- else setText(i18n("Delete effect"));
- }
+AddEffectCommand::AddEffectCommand(CustomTrackView *view, const int track, GenTime pos, QDomElement effect, bool doIt, QUndoCommand * parent) :
+ QUndoCommand(parent),
+ m_view(view),
+ m_track(track),
+ m_effect(effect.cloneNode().toElement()),
+ m_pos(pos),
+ m_doIt(doIt)
+{
+ QString effectName;
+ QDomNode namenode = m_effect.elementsByTagName("name").item(0);
+ if (!namenode.isNull()) effectName = i18n(namenode.toElement().text().toUtf8().data());
+ else effectName = i18n("effect");
+ if (doIt) setText(i18n("Add %1", effectName));
+ else setText(i18n("Delete %1", effectName));
+}
-// virtual
+// virtual
void AddEffectCommand::undo()
{
-kDebug()<<"---- undoing action";
- if (m_doIt) m_view->deleteEffect(m_track, m_pos, m_tag);
- else m_view->addEffect(m_track, m_pos, m_tag, m_args);
+ kDebug() << "---- undoing action";
+ if (m_doIt) m_view->deleteEffect(m_track, m_pos, m_effect);
+ else m_view->addEffect(m_track, m_pos, m_effect);
}
-// virtual
+// virtual
void AddEffectCommand::redo()
{
-kDebug()<<"---- redoing action";
- if (m_doIt) m_view->addEffect(m_track, m_pos, m_tag, m_args);
- else m_view->deleteEffect(m_track, m_pos, m_tag);
+ kDebug() << "---- redoing action";
+ if (m_doIt) m_view->addEffect(m_track, m_pos, m_effect);
+ else m_view->deleteEffect(m_track, m_pos, m_effect);
}
-#include "addeffectcommand.moc"
+