Without this there's no way to re-adjust the column width when new
items are added. Doing more auto-sizing would be another option,
but at some point we have to stop trying to be smarter than the
user. (And the resize algo already has bugs on Mac causing us to
make the column too short for "${ITEM_NUMBER}" for some reason.)
Only special strings starting with a dot are supported. Parsing of concatenated special strings using quotes needs to be implemented, but at least a few test-cases are already there now.
Some how symbol names that still have escaped '/' character get mixed with
symbol names that have '/' characters now that it is no longer an invalid
LIB_ID character. This was causing derived symbols to loose the link to
the parent symbol. This fix replaces any instances of "{slash}" with "/"
to convert symbol names to the proper escaping.
Thanks to JP for the inspiration for the fix.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15715
When using symbol names as filenames, invalid characters and
characters that might be mis-interpreted (e.g. '/') have to be
removed from the name to prevent unexpected behavior.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15751
Create 2 wrappers for it: DIALOG_FOOTPRINT_CHOOSER and
FOOTPRINT_CHOOSER_FRAME. The first now gets called from wxGrid
editors, text button editors (such as Change Footprints), etc.
Retire FOOTPRINT_VIEWER_FRAME_MODAL. FOOTPRINT_VIEWER_FRAME still
exists, but has very few uses at this point.
When duplicating and existing symbol, we must set the pins before
setting the lib symbol as the lib symbol will generate a pin map that
will be broken by the shift to new pins
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15728
(the pixel size was the default for 300PPI, so the bounding box was incorrect
for images not using 300 PPI)
Avoid also magic numbers in SCH_BITMAP code.
The x-axis only needs to be fetched once per update. Same for
redrawing the screen. And there's no reason to fetch more y data
than we have x data for (which happens to subsequent traces as
the sim is still running as we're updating).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15673
SCH_PIN pointers are used through KiCad and removing them without a
global refresh risks crashes. A safer approach is to simply reuse the
SCH_PIN structures, updating the data to the revised library
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15715