Also cleans up a misconception about table header borders,
and renames the getter/setter to be clearer.
Also makes sure that table cells are updated when the table
layer changes.
And another bug where we were writing the grey color value
back to the cell for hidden cells.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20319
GuessPluginTypeFromLibPath() was previously testing the type, but also the
existence of the lib file of *.kicad_sym filename, but when creating a new lib,
its existence obviously must not be tested
GuessPluginTypeFromLibPath() was previously testing the tye, but also the
existence of the lib file, but we only need to know the plugin type of
the given file, regardless it exists or not.
Handle Altium project file format
Parse individual schematic files and layout files
Create top-level schematic file
Link imported UUIDs between schematic symbol and footprints based on
refdes
Create KiCad project
Map Altium layout layers between KiCad
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2117
Some libs (2021 versions) encoded an arc with start, end, center points,
start, end angles. Since the Y axis was reversed in symbol editor,
180 deg arcs were not correctly converted.
This is now fixed.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19970
Symbols with the same name but different source libraries may, in fact,
be different. Keep track of the source library to properly dedup them
when adding. This is probably insufficient for corner cases but will
catch the vast majority of usage
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19625
The m_imageData buffer in the BITMAP_BASE is an
internal implementation - the public API to persist the
data to a stream appears to be SaveImageData - so use that,
which hides the implementation (and generates the image data
"live" when needed).
Remove the public access to the m_imageData buffer as it isn't
needed for public use, and also is misleading.
Also break out the formatting of the data into KICAD_FORMAT,
as it's currently replicated in eeschema/pcb/pagelayout
formatting code.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19772
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
We still conflate the fieldID, the position in the
array of fields, and whether or not that means the
field is mandatory. But this attempts to clean up
*some* of that, without introducing too much risk.
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
It's too fragile due to the way we move things around. Instead
store the unresolved name in the EDA_TEXT item and then scan the
whole document to resolve the EDA_TEXT items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19383
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.
Use the ordinal symbol reference and unit when saving schematics to
prevent file changes instead of the first instance. The first instance
would change when sheets were moved and the hierarchy order changed.
The ordinal instance is defined as the first sheet instance when the
hierarchy sorted by page number.
Also move this and previous fix to use existing machinery to exchange
the font map entry, rather than repeating the functionality at
multiple call sites
I don't think this was the original intent, but the
GUI for setting the flag leaked out via the
properties inspector so it kind of needs to work.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18760