File indexing completed on 2024-06-23 04:27:04

0001 /* This file is part of the KDE project
0002  * SPDX-FileCopyrightText: 2007 Rob Buis <buis@kde.org>
0003  *
0004  * SPDX-License-Identifier: LGPL-2.0-or-later
0005  */
0006 
0007 #include "SpiralShapeConfigCommand.h"
0008 #include <klocalizedstring.h>
0009 
0010 SpiralShapeConfigCommand::SpiralShapeConfigCommand(SpiralShape *spiral, SpiralShape::SpiralType type, bool clockWise, qreal fade, KUndo2Command *parent)
0011     : KUndo2Command(parent)
0012     , m_spiral(spiral)
0013     , m_newType(type)
0014     , m_newClockWise(clockWise)
0015     , m_newFade(fade)
0016 {
0017     Q_ASSERT(m_spiral);
0018 
0019     setText(kundo2_i18n("Change spiral"));
0020 
0021     m_oldType = m_spiral->type();
0022     m_oldClockWise = m_spiral->clockWise();
0023     m_oldFade = m_spiral->fade();
0024 }
0025 
0026 void SpiralShapeConfigCommand::redo()
0027 {
0028     KUndo2Command::redo();
0029 
0030     m_spiral->update();
0031 
0032     if (m_oldType != m_newType) {
0033         m_spiral->setType(m_newType);
0034     }
0035     if (m_oldClockWise != m_newClockWise) {
0036         m_spiral->setClockWise(m_newClockWise);
0037     }
0038     if (m_oldFade != m_newFade) {
0039         m_spiral->setFade(m_newFade);
0040     }
0041 
0042     m_spiral->update();
0043 }
0044 
0045 void SpiralShapeConfigCommand::undo()
0046 {
0047     KUndo2Command::undo();
0048 
0049     m_spiral->update();
0050 
0051     if (m_oldType != m_newType) {
0052         m_spiral->setType(m_oldType);
0053     }
0054     if (m_oldClockWise != m_newClockWise) {
0055         m_spiral->setClockWise(m_oldClockWise);
0056     }
0057     if (m_oldFade != m_newFade) {
0058         m_spiral->setFade(m_oldFade);
0059     }
0060 
0061     m_spiral->update();
0062 }