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 : #include "editkeycommand.hpp"
10 :
11 0 : EditKeyCommand::EditKeyCommand (TreeViewModel * model, int index, DataContainer * data, QUndoCommand * parent)
12 : : QUndoCommand (parent), m_model (model), m_index (index), m_oldName (data->oldName ()), m_oldValue (data->oldValue ()),
13 0 : m_oldMetaData (data->oldMetadata ()), m_newName (data->newName ()), m_newValue (data->newValue ()), m_newMetaData (data->newMetadata ())
14 : {
15 0 : setText ("edit");
16 0 : }
17 :
18 0 : void EditKeyCommand::undo ()
19 : {
20 0 : QModelIndex index = m_model->index (m_index);
21 0 : m_model->setData (index, m_oldName, TreeViewModel::NameRole);
22 0 : m_model->setData (index, m_oldValue, TreeViewModel::ValueRole);
23 0 : m_model->model ().at (m_index)->setMeta (m_oldMetaData);
24 0 : }
25 :
26 0 : void EditKeyCommand::redo ()
27 : {
28 0 : QModelIndex index = m_model->index (m_index);
29 0 : m_model->setData (index, m_newName, TreeViewModel::NameRole);
30 0 : m_model->setData (index, m_newValue, TreeViewModel::ValueRole);
31 0 : m_model->model ().at (m_index)->setMeta (m_newMetaData);
32 0 : }
|