After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 709471 - [regression] Need to reimplement undo/redo everywhere
[regression] Need to reimplement undo/redo everywhere
Status: RESOLVED FIXED
Product: pitivi
Classification: Other
Component: General
Git
Other Linux
: Normal normal
: 0.94
Assigned To: Thibault Saunier
Pitivi maintainers
: 721974 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2013-10-05 15:13 UTC by Jean-François Fortin Tam
Modified: 2014-05-26 17:36 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
pitivi: Reimplement undo redo (28.27 KB, patch)
2014-02-14 13:20 UTC, Thibault Saunier
none Details | Review
fixes the reported issue (25.20 KB, patch)
2014-04-02 01:47 UTC, Mathieu Duponchelle
none Details | Review

Description Jean-François Fortin Tam 2013-10-05 15:13:31 UTC
We need to make sure that it works for

Timeline operations:
- Splitting
- (un)grouping
- Deleting clips (or portions of clips)
- Inserting clips
- Moving, trimming, ripple/roll editing

Adding/removing effects
Changing an effect's property (including keyframes?)

etc.

Ideally all of this should be proven/tested with dogtail tests, or some other internal tests, or big fat warnings spitted by loggable whenever undoable detects something wrong...
Comment 1 Thibault Saunier 2013-10-05 15:16:48 UTC
Just as a reference, it is mostly done at: https://github.com/thiblahute/Pitivi/tree/undo
Comment 2 Jean-François Fortin Tam 2013-10-05 15:40:22 UTC
And for the record, here's what Mathieu had to say last month about saving this into the file formats:


Using and adapting the newly disclosed scenario API from Thibault, we want to serialize undo / redo actions as a scenario. This serves many purposes:

- It will make undo / redo persistent
  (you can close pitivi and get back the history)

- It will make debugging easier and independent from pitivi,
  as you shall be able to ges-launch a scenario.

-  Eventually we should be able to "revert to last saved version".
Comment 3 Thibault Saunier 2013-10-06 17:36:52 UTC
(In reply to comment #2)
> Using and adapting the newly disclosed scenario API from Thibault, we want to
> serialize undo / redo actions as a scenario. This serves many purposes:
> 
> - It will make undo / redo persistent
>   (you can close pitivi and get back the history)

I am not sure at all about that, the goal is to make it easier to
reproduce bugs, and avoid to need the whole pitivi stack to reproduce
making debugging easier. I think making undo redo persistant is another
problem, and is out of the scope of the scenarios.
Comment 4 Jean-François Fortin Tam 2014-01-11 04:42:11 UTC
*** Bug 721974 has been marked as a duplicate of this bug. ***
Comment 5 Thibault Saunier 2014-02-14 13:20:43 UTC
Created attachment 269121 [details] [review]
pitivi: Reimplement undo redo

This is a rebased version of my patch, I think it still need some work but a first review would be good to have.
Comment 6 Mathieu Duponchelle 2014-04-02 01:47:50 UTC
Created attachment 273442 [details] [review]
fixes the reported issue
Comment 7 Mathieu Duponchelle 2014-04-02 01:49:03 UTC
Reviewed, rebased on python3 + headerbar, and fixed issues with EffectAdded / EffectRemoved, good to go for me, Thibault was there anything that was wrong with the patch apart from the EffectAdded / Removed issues ?
Comment 8 Thibault Saunier 2014-04-02 05:56:35 UTC
(In reply to comment #7)
> Reviewed, rebased on python3 + headerbar, and fixed issues with EffectAdded /
> EffectRemoved, good to go for me, Thibault was there anything that was wrong
> with the patch apart from the EffectAdded / Removed issues ?

We will need some more testing fixing, but I think it makes sense to push it.
Comment 9 Thibault Saunier 2014-05-26 17:36:04 UTC
OK this is no FIXED! Closing.