#include <sigc++/slot.h>
#include <sigc++/bind.h>
#include <sys/time.h>
-#include <pbd/command.h>
-#include <pbd/shiva.h>
+
+#include "pbd/signals.h"
+#include "pbd/command.h"
typedef sigc::slot<void> UndoAction;
-class UndoTransaction : public Command
+class UndoTransaction : public Command, public PBD::ScopedConnectionList
{
public:
UndoTransaction ();
private:
std::list<Command*> actions;
- std::list<PBD::ProxyShiva<Command,UndoTransaction>*> shivas;
struct timeval _timestamp;
bool _clearing;
~UndoTransaction ();
void about_to_explicitly_delete ();
-
};
-class UndoHistory : public sigc::trackable
+class UndoHistory : public PBD::ScopedConnectionList
{
public:
UndoHistory();
void set_depth (uint32_t);
- sigc::signal<void> Changed;
+ PBD::Signal0<void> Changed;
+ PBD::Signal0<void> BeginUndoRedo;
+ PBD::Signal0<void> EndUndoRedo;
private:
bool _clearing;