diff options
Diffstat (limited to 'externals/qhexedit/commands.cpp')
-rw-r--r-- | externals/qhexedit/commands.cpp | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/externals/qhexedit/commands.cpp b/externals/qhexedit/commands.cpp deleted file mode 100644 index 303091d1d..000000000 --- a/externals/qhexedit/commands.cpp +++ /dev/null @@ -1,115 +0,0 @@ -#include "commands.h" - -CharCommand::CharCommand(XByteArray * xData, Cmd cmd, int charPos, char newChar, QUndoCommand *parent) - : QUndoCommand(parent) -{ - _xData = xData; - _charPos = charPos; - _newChar = newChar; - _cmd = cmd; -} - -bool CharCommand::mergeWith(const QUndoCommand *command) -{ - const CharCommand *nextCommand = static_cast<const CharCommand *>(command); - bool result = false; - - if (_cmd != remove) - { - if (nextCommand->_cmd == replace) - if (nextCommand->_charPos == _charPos) - { - _newChar = nextCommand->_newChar; - result = true; - } - } - return result; -} - -void CharCommand::undo() -{ - switch (_cmd) - { - case insert: - _xData->remove(_charPos, 1); - break; - case replace: - _xData->replace(_charPos, _oldChar); - _xData->setDataChanged(_charPos, _wasChanged); - break; - case remove: - _xData->insert(_charPos, _oldChar); - _xData->setDataChanged(_charPos, _wasChanged); - break; - } -} - -void CharCommand::redo() -{ - switch (_cmd) - { - case insert: - _xData->insert(_charPos, _newChar); - break; - case replace: - _oldChar = _xData->data()[_charPos]; - _wasChanged = _xData->dataChanged(_charPos); - _xData->replace(_charPos, _newChar); - break; - case remove: - _oldChar = _xData->data()[_charPos]; - _wasChanged = _xData->dataChanged(_charPos); - _xData->remove(_charPos, 1); - break; - } -} - - - -ArrayCommand::ArrayCommand(XByteArray * xData, Cmd cmd, int baPos, QByteArray newBa, int len, QUndoCommand *parent) - : QUndoCommand(parent) -{ - _cmd = cmd; - _xData = xData; - _baPos = baPos; - _newBa = newBa; - _len = len; -} - -void ArrayCommand::undo() -{ - switch (_cmd) - { - case insert: - _xData->remove(_baPos, _newBa.length()); - break; - case replace: - _xData->replace(_baPos, _oldBa); - _xData->setDataChanged(_baPos, _wasChanged); - break; - case remove: - _xData->insert(_baPos, _oldBa); - _xData->setDataChanged(_baPos, _wasChanged); - break; - } -} - -void ArrayCommand::redo() -{ - switch (_cmd) - { - case insert: - _xData->insert(_baPos, _newBa); - break; - case replace: - _oldBa = _xData->data().mid(_baPos, _len); - _wasChanged = _xData->dataChanged(_baPos, _len); - _xData->replace(_baPos, _newBa); - break; - case remove: - _oldBa = _xData->data().mid(_baPos, _len); - _wasChanged = _xData->dataChanged(_baPos, _len); - _xData->remove(_baPos, _len); - break; - } -} |