Tuesday, July 21, 2015

Abiathar Feature Idea: Time Machine (Advanced Undo/Redo)

I recently was in an IRC conversation with someone who had just created some problems for himself by using the copy/paste mode of Abiathar's Tile Property Modifier without understanding how it works. Fortunately, the damage was fairly easy to undo using the normal Undo feature, but it gave me an idea for a possible new feature which I may or may not actually implement.

A new menu option would be added to the Edit menu: Time Machine. It would bring up a dialog listing actions that had been taken with a short description of what was done (e.g. "fill rectangle", "edit foreground tile 423 properties", "create level 2") with a timestamp for each and provide UI to rewind to a certain time or action. That would allow users to quickly reverse a slew of individual actions that they took without understanding what was going on. In that person's specific case, all the "paste foreground tile properties" entries could be undone in one swoop.

The Time Machine UI itself would be easy to implement, but more information about actions would need to be added to IUndoableAction and in all the places that call PushUndoStack. Also, it wouldn't be used very often, if at all. It would be a neat feature, but I'm not sure whether I'll go ahead with it.

No comments:

Post a Comment