* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#include <KLocale>
#include "insertspacecommand.h"
#include "customtrackview.h"
-InsertSpaceCommand::InsertSpaceCommand(CustomTrackView *view, const GenTime &pos, int track, const GenTime &duration, bool doIt, QUndoCommand * parent) : QUndoCommand(parent), m_view(view), m_pos(pos), m_track(track), m_duration(duration), m_doIt(doIt) {
- setText(i18n("Insert space"));
+#include <KLocale>
+
+InsertSpaceCommand::InsertSpaceCommand(CustomTrackView *view, QList<ItemInfo> clipsToMove, QList<ItemInfo> transToMove, int track, const GenTime &duration, bool doIt, QUndoCommand * parent) :
+ QUndoCommand(parent),
+ m_view(view),
+ m_clipsToMove(clipsToMove),
+ m_transToMove(transToMove),
+ m_duration(duration),
+ m_track(track),
+ m_doIt(doIt)
+{
+ if (duration > GenTime()) setText(i18n("Insert space"));
+ else setText(i18n("Remove space"));
}
// virtual
-void InsertSpaceCommand::undo() {
+void InsertSpaceCommand::undo()
+{
// kDebug()<<"---- undoing action";
- m_view->insertSpace(m_pos, m_track, m_duration, false);
+ m_view->insertSpace(m_clipsToMove, m_transToMove, m_track, GenTime() - m_duration, m_duration);
}
// virtual
-void InsertSpaceCommand::redo() {
+void InsertSpaceCommand::redo()
+{
// kDebug() << "---- redoing action cut: " << m_cutTime.frames(25);
- if (m_doIt)
- m_view->insertSpace(m_pos, m_track, m_duration, true);
+ if (m_doIt) {
+ m_view->insertSpace(m_clipsToMove, m_transToMove, m_track, m_duration, GenTime());
+ }
m_doIt = true;
}