File indexing completed on 2024-04-21 04:51:11

0001 /*
0002     SPDX-FileCopyrightText: 2015 Jean-Baptiste Mardelle <jb@kdenlive.org>
0003 
0004 
0005 SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0006 */
0007 
0008 #include "bincommands.h"
0009 #include "bin.h"
0010 
0011 #include <KLocalizedString>
0012 #include <utility>
0013 MoveBinClipCommand::MoveBinClipCommand(Bin *bin, QString clipId, QString oldParentId, QString newParentId, QUndoCommand *parent)
0014     : QUndoCommand(parent)
0015     , m_bin(bin)
0016     , m_clipId(std::move(clipId))
0017     , m_oldParentId(std::move(oldParentId))
0018     , m_newParentId(std::move(newParentId))
0019 {
0020     setText(i18nc("@action", "Move Clip"));
0021 }
0022 // virtual
0023 void MoveBinClipCommand::undo()
0024 {
0025     m_bin->doMoveClip(m_clipId, m_oldParentId);
0026 }
0027 // virtual
0028 void MoveBinClipCommand::redo()
0029 {
0030     m_bin->doMoveClip(m_clipId, m_newParentId);
0031 }
0032 
0033 MoveBinFolderCommand::MoveBinFolderCommand(Bin *bin, QString clipId, QString oldParentId, QString newParentId, QUndoCommand *parent)
0034     : QUndoCommand(parent)
0035     , m_bin(bin)
0036     , m_clipId(std::move(clipId))
0037     , m_oldParentId(std::move(oldParentId))
0038     , m_newParentId(std::move(newParentId))
0039 {
0040     setText(i18nc("@action", "Move Clip"));
0041 }
0042 // virtual
0043 void MoveBinFolderCommand::undo()
0044 {
0045     m_bin->doMoveFolder(m_clipId, m_oldParentId);
0046 }
0047 // virtual
0048 void MoveBinFolderCommand::redo()
0049 {
0050     m_bin->doMoveFolder(m_clipId, m_newParentId);
0051 }
0052 
0053 RenameBinSubClipCommand::RenameBinSubClipCommand(Bin *bin, QString clipId, QString newName, QString oldName, int in, int out, QUndoCommand *parent)
0054     : QUndoCommand(parent)
0055     , m_bin(bin)
0056     , m_clipId(std::move(clipId))
0057     , m_oldName(std::move(oldName))
0058     , m_newName(std::move(newName))
0059     , m_in(in)
0060     , m_out(out)
0061 {
0062     setText(i18n("Rename Zone"));
0063 }
0064 // virtual
0065 void RenameBinSubClipCommand::undo()
0066 {
0067     m_bin->renameSubClip(m_clipId, m_oldName, m_in, m_out);
0068 }
0069 // virtual
0070 void RenameBinSubClipCommand::redo()
0071 {
0072     m_bin->renameSubClip(m_clipId, m_newName, m_in, m_out);
0073 }
0074 
0075 EditClipCommand::EditClipCommand(Bin *bin, QString id, QMap<QString, QString> oldparams, QMap<QString, QString> newparams, bool doIt, QUndoCommand *parent)
0076     : QUndoCommand(parent)
0077     , m_bin(bin)
0078     , m_oldparams(std::move(oldparams))
0079     , m_newparams(std::move(newparams))
0080     , m_id(std::move(id))
0081     , m_doIt(doIt)
0082     , m_firstExec(true)
0083 {
0084     setText(i18n("Edit clip"));
0085 }
0086 // virtual
0087 void EditClipCommand::undo()
0088 {
0089     m_bin->slotUpdateClipProperties(m_id, m_oldparams, true);
0090 }
0091 // virtual
0092 void EditClipCommand::redo()
0093 {
0094     if (m_doIt) {
0095         m_bin->slotUpdateClipProperties(m_id, m_newparams, !m_firstExec);
0096     }
0097     m_doIt = true;
0098     m_firstExec = false;
0099 }