I have a first working proof-of-concept of a Undo/history system, but it's still buggy and unstable, and besides I'm not sure it's the best way to go.
It has the advantage that it doesn't need too many changes in existing code, as it tries to reshape a bit and use parts of code that are already there.
The down side is that it uses a rather "rough" concept, saving states of the project object in a stack serialized with cPickle, so restoring the previous state is not as fast as light.
I'm sure it can be done a lot better than this, so I hope that someone more experienced than I am can review my code and see if it is worth working on it or if it is totally dumb.
the branch is this:
lp:~francesco-hermanitosverdes/openshot/francesco_undo_redo_test
best regards to everyone
francesco
