Mail Archives: geda-user/2015/10/03/20:36:48
> ... I learned that there are no less than three special modes for
> ignoring text, hiding text and/or ignoring anything but text exist. The
> bug is a crashing one, hitting Undo takes the whole application with it,
> data lost.
If Undo crashed, Undo is broken and needs to be fixed.
The "ignore text" flag was added because a lot of users were trying to
move elements and ended up moving their labels instead. The "only
text" option is for the case where they're organizing the labels at
the end of layout and don't want to accidentally move anything else.
It was a commonly asked for feature, and well received at the time.
> 1. Add a lot more special case search code to check not only for mode
> flags like ONLYNAMESFLAG, but also under which conditions this search
> happens. This easily makes one special case for every other case. 3
> names modes x 12 drawing modes = 36 cases.
Our search has much more complexity than that. Handling locked
vs unlocked and tool-specific things makes it all very complex.
> 2. Disable modes like track drawing mode while in names only
> mode. This would be the advertised behaviour. Also a lot of code and
> on top of this, unexpected user behaviour ("I can't draw tracks
> anymore and I don't know why").
I like this idea; perhaps a tool tip over the disabled tool buttons
that says 'disabled due to the "only text" option' or something.
> 3. Try to make Undo() independent from this query. It's "undo last
> operation", after all, not "undo the object under the crosshair".
Undo should always be "undo whatever changed" and should always work.
If it crashes, it should be fixed. If, after fixing, we want to
redesign the internals, that's a different problem.
> 4. Remove these special modes.
Please don't. I use them exclusively. The problem they solved was
pretty frustrating to a lot of users.
- Raw text -