Le 17/04/2017 à 22:51, Nox a écrit :
> I know that I already suggested that in another context but what about 
> changing the undo/redo
> semantic to the more common approach to maintain an global undo/redo stack 
> and switch the view
> accordingly? I know that the "per screen" is the established way in kicad and 
> that it is very
> dangerous to break existing workflows. But the undo/redo behaviour is 
> currently hardly
> "understandable" for beginners. E.g. why does the undo not follow my actions 
> but stays on one view?
> Why does exporting the netlist break the undo? Why can automatic annotation 
> not be reverted? The
> undo list wiped on a frequently basis that personally i hardly trust into the 
> undo functionality at
> all.
> 
> Would it be an option to introduce a "test version" of a global undo/redo to 
> get some feedback from
> the crowed which way would be preferred?
> 

For me, the problem is not to have a global or per screen undo/redo list, but 
what an user is
expecting when undoing/redoing a change.

We *always* expect to undo the last change.
Any undo/redo system has this behavior.

Now consider an editor (the schematic editor with 3 sheets for instance, but 
this is also the case
of text editors with 3 files opened and currently edited).

1 - in sheet1 you call a tool (component table editor, automatic annotation) 
which modify all sheets.

2 - after  that you enter sheet2 and make new changes then sheet3 and also make 
new changes.

3 - back to sheet1 and try to undelete the latest change in this sheet: this is 
the global change
(i.e. annotation). This is possible in sheet1.
But how can you undo this annotation in others sheets: this is not the latest 
change and cannot be
undone safely (you can have deleted/replaced/edited a symbol in other sheets, 
or deleted a sheet):
what is the actual meaning of "undo the annotation" in other sheets).

And ultimately:
What a undo (and therefore redo) command must undo:
1 - the latest change in the full schematic (global undo/redo)
 or
2 - the latest change in the currently edited (active) sheet (local undo/redo)

This is a choice, and the answer is for me not trivial.

It could be worth to know what is the option for global/local changes in a 
schematic hierarchy in
other schematic editors.

Multi-file text editors can undo the latest change only in the active file, not 
in all opened files.

-- 
Jean-Pierre CHARRAS

_______________________________________________
Mailing list: https://launchpad.net/~kicad-developers
Post to     : kicad-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kicad-developers
More help   : https://help.launchpad.net/ListHelp

Reply via email to