Undo/Redo operations
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Exaile |
Confirmed
|
Wishlist
|
Unassigned |
Bug Description
A generic Undo/Redo framework could prove to be useful. Examples for where Undo/Redo should be doable are renaming of playlists, modification of playlist content, file removal (if trashed), tag changes (#570978 could profit from this), cover changes and many more.
For this "operations" need to be defined which could be done and undone. Pretty much everything could be registered as operation and could be undone if it defines a way to accomplish this. Here the particular operation should also consider the fact that the context has changed in the meantime making an undo/redo unpredictable. (Example: tracks are removed from a playlist, these tracks are then deleted from the disk, thus undo is impossible, as is redo.)
This might require a pretty invasive overhaul of how user requests are processed, thus should be planned carefully.