Line data Source code
1 : /**
2 : * @file
3 : *
4 : * @brief
5 : *
6 : * @copyright BSD License (see LICENSE.md or https://www.libelektra.org)
7 : */
8 :
9 : #ifndef COPYKEYCOMMAND_H
10 : #define COPYKEYCOMMAND_H
11 :
12 : #include "confignode.hpp"
13 : #include <QDebug>
14 : #include <QUndoCommand>
15 :
16 : /**
17 : * @brief The CopyKeyCommand class
18 : */
19 :
20 0 : class CopyKeyCommand : public QUndoCommand
21 : {
22 : public:
23 : /**
24 : * @brief The command to copy and paste a ConfigNode.
25 : *
26 : * @param type Declares if the ConfigNode is a single key or a branch.
27 : * @param source The ConfigNode that is copied.
28 : * @param target The ConfigNode that is the new parent node of the copied ConfigNode.
29 : * @param parent
30 : */
31 : explicit CopyKeyCommand (QString type, ConfigNodePtr source, ConfigNodePtr target, QUndoCommand * parent = nullptr);
32 :
33 : /**
34 : * @brief undo
35 : */
36 : virtual void undo () override;
37 :
38 : /**
39 : * @brief redo
40 : */
41 : virtual void redo () override;
42 :
43 : private:
44 : ConfigNodePtr m_source;
45 : ConfigNodePtr m_target;
46 : bool m_isExpanded;
47 : int m_index;
48 : };
49 :
50 : #endif // COPYKEYCOMMAND_H
|