This still leaves a few things out in the cold,
such as hit-testing and polygon generation.
But at least it allows us to plot with a default
font.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19031
getPageNumber is actually asking for the parent path rather than the
sheet path itself. Without this, we don't match the cached page number
and instead match against the virtual page number that is position
dependent
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21296
(cherry picked from commit 8edc7b8b40a2f60b8e9959eec6901605da2aff27)
We implemented the intermediate temporary file in order to avoid issues
during save. Unfortunately, this is heavily system-dependent and seems
to cause problems with unusual setups. Now that we cache writing using
the prettifier, the errors during output will not affect the existing
file
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21330
WALKAROUND::singlestep is used by both shove and walkaround modes and
can bog down when applied to clusters with many objects. In these
cases, we are unlikely to find a viable solution and it is beter to
allow the user to find a different ending position
(cherry picked from commit d9cfb942812a57238d5ed6bbaa2c1d22a8676071)
When editing using synchronized pins mode, you place a pin on all units
but if you already have a pin that only exists on one unit, you might
get a confusing error. This helps nudge people with to to resolve it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18466
After placing a zone, we want to be able to immediately edit the zone
points. But in the zone tool, we have the intermediate context menu
that doesn't help, so breaking back to the selection tool simplifies
that workflow
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21319
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
Use only C-locale functions wxString::ToCDouble and fmt::format{}
functions so that we do not need to set the locale for file io
operations
This also introduces a cmake check that looks for certain banned
functions (strtod, strtof and atof) that convert strings into doubles
by the user locale or formatting specifiers like %f/%g that convert
doubles into strings by the users locale. It will prevent compilation
in this case.
For the limited cases where we want to show the user a string in their
locale, we have an override string "format:allow" that can be added to
lines in order to allow them with %f/%g format specifiers
This will also handle the case when more than two items are subtracted,
e.g. many small items witrhin one larger item. Again, thanks to
Kliment for a smart idea!