track naming patch from brian; slightly modified F11-bug workaround from brian; undo/redo items in edit menu now show operation to be undone/redone; canvas allocations now handled by an idle handler; region views respond to changes in fade/in/out curves ; undo/redo possible for some fade in/out operations; automation tracks extend to max_frames
git-svn-id: svn://localhost/ardour2/trunk@1134 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
@@ -74,7 +74,7 @@ class UndoTransaction : public Command
|
||||
friend void command_death (UndoTransaction*, Command *);
|
||||
};
|
||||
|
||||
class UndoHistory
|
||||
class UndoHistory : public sigc::trackable
|
||||
{
|
||||
public:
|
||||
UndoHistory();
|
||||
@@ -97,6 +97,8 @@ class UndoHistory
|
||||
XMLNode &get_state();
|
||||
void save_state();
|
||||
|
||||
sigc::signal<void> Changed;
|
||||
|
||||
private:
|
||||
bool _clearing;
|
||||
std::list<UndoTransaction*> UndoList;
|
||||
|
||||
@@ -157,6 +157,8 @@ UndoHistory::add (UndoTransaction* const ut)
|
||||
UndoList.push_back (ut);
|
||||
|
||||
/* we are now owners of the transaction */
|
||||
|
||||
Changed (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
void
|
||||
@@ -168,6 +170,8 @@ UndoHistory::remove (UndoTransaction* const ut)
|
||||
|
||||
UndoList.remove (ut);
|
||||
RedoList.remove (ut);
|
||||
|
||||
Changed (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
void
|
||||
@@ -182,6 +186,8 @@ UndoHistory::undo (unsigned int n)
|
||||
ut->undo ();
|
||||
RedoList.push_back (ut);
|
||||
}
|
||||
|
||||
Changed (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
void
|
||||
@@ -196,6 +202,8 @@ UndoHistory::redo (unsigned int n)
|
||||
ut->redo ();
|
||||
UndoList.push_back (ut);
|
||||
}
|
||||
|
||||
Changed (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
void
|
||||
@@ -204,6 +212,9 @@ UndoHistory::clear_redo ()
|
||||
_clearing = true;
|
||||
RedoList.clear ();
|
||||
_clearing = false;
|
||||
|
||||
Changed (); /* EMIT SIGNAL */
|
||||
|
||||
}
|
||||
|
||||
void
|
||||
@@ -212,6 +223,8 @@ UndoHistory::clear_undo ()
|
||||
_clearing = true;
|
||||
UndoList.clear ();
|
||||
_clearing = false;
|
||||
|
||||
Changed (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
void
|
||||
@@ -219,6 +232,8 @@ UndoHistory::clear ()
|
||||
{
|
||||
clear_undo ();
|
||||
clear_redo ();
|
||||
|
||||
Changed (); /* EMIT SIGNAL */
|
||||
}
|
||||
|
||||
XMLNode & UndoHistory::get_state()
|
||||
|
||||
Reference in New Issue
Block a user