This also removes the GROUP/UNGROUP-specific undo actions.
This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.
This also fixes some undo bugs when dividing wires etc.
This also fixes some bugs with new sch items not
being created within an entered group.
Prevent the file formatter from writing and the file parser from loading
symbol pin alternates that have an empty name or when the alternate name
is the same as the default pin name. Apparently at some point they were
able to be created and saved.
Do not allow SCH_PIN::SetAlt() to set an alternate name when the name
does not exist in the library symbol pin alternate list. This required
fixing the associated QA test.
When updating or changing schematic symbols from library, reset the pin
alternate to the default when the alternate no longer exists in the
symbol.
Do not populate pin alternates context menu with duplicate default pin.
Clear orphaned pin alternates to the default when saving symbols from
symbol editor.
Fields that are forced to be shown need to be re-hidden when the find
dialog closes. While they are _also_ brightened, this flag may be
cleared by other processes, so we need to test for the forced visibility
as well.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20865
This uses a fairly simple way to determine if the pin is in the
selection, but avoids doing it by keeping pointers, so it should be
possible for the selection membership to persist across things like
CSV import which otherwise would stop matching on pointers.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13662
This isn't the best possible UX (having the various modes immediately
available as graphical affordances would be best). But it's somewhat
discoverable, and at least shows the hotkey, if any, and it in the
context menu and not hidden in a toolbar right click menu. So if the
affordance-type system doesn't make it for v10, this will at least
provide something in eeschema.
This is now used when marking selection candidates in the schematic
selection tool. This avoids using CANDIDATE, which can case issues
with connectivity updates if it is not cleared after use.