-/*
+/*
Copyright (C) 2001 Brett Viren & Paul Davis
This program is free software; you can redistribute it and/or modify
clear ();
}
-void
+void
command_death (UndoTransaction* ut, Command* c)
{
if (ut->clearing()) {
}
}
-UndoTransaction&
+UndoTransaction&
UndoTransaction::operator= (const UndoTransaction& rhs)
{
if (this == &rhs) return *this;
XMLNode &UndoTransaction::get_state()
{
XMLNode *node = new XMLNode ("UndoTransaction");
- stringstream ss;
- ss << _timestamp.tv_sec;
- node->add_property("tv_sec", ss.str());
- ss.str("");
- ss << _timestamp.tv_usec;
- node->add_property("tv_usec", ss.str());
- node->add_property("name", _name);
+ node->set_property("tv-sec", (int64_t)_timestamp.tv_sec);
+ node->set_property("tv-usec", (int64_t)_timestamp.tv_usec);
+ node->set_property("name", _name);
list<Command*>::iterator it;
for (it=actions.begin(); it!=actions.end(); it++)
class UndoRedoSignaller {
public:
- UndoRedoSignaller (UndoHistory& uh)
- : _history (uh) {
- _history.BeginUndoRedo();
+ UndoRedoSignaller (UndoHistory& uh)
+ : _history (uh) {
+ _history.BeginUndoRedo();
}
- ~UndoRedoSignaller() {
- _history.EndUndoRedo();
+ ~UndoRedoSignaller() {
+ _history.EndUndoRedo();
}
private:
}
UndoList.push_back (ut);
- /* Adding a transacrion means that redo is meaningless from this point. */
+ /* Adding a transacrion makes the redo list meaningless. */
_clearing = true;
for (std::list<UndoTransaction*>::iterator i = RedoList.begin(); i != RedoList.end(); ++i) {
delete *i;
{
UndoRedoSignaller exception_safe_signaller (*this);
-
+
while (n--) {
if (RedoList.size() == 0) {
return;
Changed (); /* EMIT SIGNAL */
}
-XMLNode&
+XMLNode&
UndoHistory::get_state (int32_t depth)
{
XMLNode *node = new XMLNode ("UndoHistory");