After forcing the locale-specific read/writes out of our IO, we can
remove the global LOCALE_IO calls in many places.
Still to do: exporters, pcm, specctra, settings, drawing sheets,
plotters
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.
Fix annotation when importing Eagle schematic modules. Apparently Eagle
uses hard coded module name prefixing scheme to generate module symbol
references by prefixing module name separated by a colon. Even though
this results in references that are incompatible with KiCad, they are
used so that the board and schematic can be synchronized by references
on import.
https://gitlab.com/kicad/code/kicad/-/issues/19718
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
Also adds a mode for AUTOADDED fields.
Also fixes a couple of bugs where a manual-level autoplaced
symbol would get reset back to auto-level when autoplaced.
Also fix a crash if an XML_PARSER_ERROR exception is thrown when importing
Eagle symbol libraries.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18232
(cherry picked from commit 566fefafc5aa43ad8c0e4057c0d07922bb83b65b)
Fix broken arc angle polarity due to library symbol changes.
Fix broken wire and text Y axis coordinate polarity due to library symbol
changes.
Fix broken field visibility and position on library symbols with multiple
units that have fields with different visibility and positions. Because
KiCad does not support this, when parsing the Eagle schematic file, the
last library symbol unit parsed ends up being the field visibility and
position for all units in the symbol.
Change Eagle file importer to use a two pass import. The first pass
parses the entire Eagle file into an associated E* object. The second
pass converts the parsed E* objects into the appropriate KiCad objects.
Improve handling of Eagle versioned libraries.
Add helpers to IO_BASE to ease handling of PROGRESS_REPORTER and REPORTER
objects.
ADDED: Support for importing Eagle schematic modules.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1813
This does not fix all field visibility and position issues. This is due
to LIB_SYMBOL objects not supporting per unit field properties. The
current Eagle importer sets multiple unit symbol field properties to the
last unit parsed in the Eagle schematic file. The upcoming two pass
importer will resolve this issue.