* Implement proper natural sorting of the reference values
* Perform quoting of all items in BOM generators that use csv.writer
Fixes: lp:1833822
* https://bugs.launchpad.net/kicad/+bug/1833822
When approximating arcs for polygons, we should allow for large radius
arcs/circles without coarsening the arc beyond a limit. This is a
5.1.x-only patch to address this issue. It should not be picked to
master as this is already addressed separately by max_error
We do not allow non-copper routed tracks and they will break assumptions
elsewhere in the code. We drop them in the beginning so that they are
not saved.
* Changed the KICAD_SCRIPTING flag to be a global disable, so it
will disable all other scripting flags when set to OFF
* Added version testing with the wxPython flags to ensure the
proper version is found for the flags provided
(cherry picked from commit 42e14b5a4e)
Oblong holes (slots) use now a aperture attribute similar to round holes.
(The previous attribute "slot" is now deprecated)
However they have a specific aperture, and a comment is added in drill files for these apertures.
Prevent the symbol and footprint library table editors from substituting
the current project path (${KIPRJMOD}) when adding libraries to the global
library table. This will almost assuredly fail when opening a different
project. We still allow users to manually use ${KIPRJMOD} in global table
paths under the assumption that if they are typing this in then they most
likely understand environment variable substitution.
Fixes lp:1830694
https://bugs.launchpad.net/kicad/+bug/1830694
(cherry picked from commit 288982b15d)
Footprint library nicknames are case sensitive but the comparison for
the library tree control was case insensitive.
Also make the footprint name comparisons case sensitive as well. While
not strictly necessary, the plan is to start using the name defined in
the footprint file instead of the file name which will allow for case
sensitivity.
Fixes lp:1833701
https://bugs.launchpad.net/kicad/+bug/1833701
The QA objects link to the direct kiface objects, which creates a second
dependency on the generated lexer files. To ensure that the primary
apps are finished building them in a (potentially) different thread, we
set a false dependency on the final build product in the qa CMake.
Fixes: lp:1833851
* https://bugs.launchpad.net/kicad/+bug/1833851
(cherry picked from commit 172542cfc4)
Non-copper zones do not have a fillet/chamfer option, so we need to
clear it before the zone tool uses the last-used option.
Fixes: lp:1833672
* https://bugs.launchpad.net/kicad/+bug/1833672
This allows a setting where the path is not one of the options. This
permits the user to select once to go to any path option (rather than
off the current and then back to currect) when the filetree doesn't
match the dropdown. This also selects the drop down item if it matches
the tree.
The previous commit missed a case where the number was so large that it
overflowed the integer invalidating the comparison. This protects
against that case by using floating point comparison.
This checks the movement against a maximum value that would place the
selection outside of the valid area for the footprint or board.
Fixes: lp:1833478
* https://bugs.launchpad.net/kicad/+bug/1833478
Use the wxTextValidator style flag to allow the user to clear the library
identifier string. Use wxTextValidator::SetStyle( wxFILTER_EMPTY ) to
prevent empty library identifier strings which is the current behavior.
(cherry picked from commit 9f9e87f11f)
Custom pads are referenced to the anchor pad 0-point, so flipping the
polygon should be about 0 and not the flip point.
Fixes: lp:1831311
* https://bugs.launchpad.net/kicad/+bug/1831311
Prefix the sheet name with "Sheet: " and the sheet file name with "File: "
when plotting so that it matches the display sheet rendering.
Improve the root sheet plot file name.
Fixes lp:1832081
https://bugs.launchpad.net/kicad/+bug/1832081
(cherry picked from commit 7235da0979)
And place bitmaps behind other items. This ensures they are drawn in
the background of the page rather than covering schematic elements.
This also hacks around the buggy wxPostScriptDC implementation that
resets the page to print an image.
Fixes: lp:1819934
* https://bugs.launchpad.net/kicad/+bug/1819934
The grid apply code was always preventing empty fields. Change this the
broken behavior to allow any field to be empty except the reference and
value fields.
Fixes lp:1832722
https://bugs.launchpad.net/kicad/+bug/1832722
(cherry picked from commit d74ec1a1b2)
When selecting the "Print in B&W", all items on the schematic should be
printed using black and white. This converts the embedded images
greyscale before outputting to the printer
DIALOG_EXIT was not being laid out correctly after setting the dialog
message. Rather than fix our custom DIALOG_EXIT, wxMessageDialog and
wxRichMessageDialog were substituted as direct replacements for all
of the variants of DIALOG_EXIT. This make message dialogs appear more
consistent because wxMessageDialog uses the default platform message
dialog and wxRichMessageDialog uses the default platform rich message
dialog on windows.
Remove DIALOG_EXIT_BASE as it is no longer required.
Fixes lp:1832899
https://bugs.launchpad.net/kicad/+bug/1832899
(cherry picked from commit 3f665318f4ab5c02b7d3c29b5233a273fdac2e4e)
Re-arranging the stack will invalidate the iterator that is removed and
inserted (begin()). Because this is not a threaded operation, we can
only do it to ourselves, so check that the operation isn't a NOP before
performing.
Fixes: lp:1832930
* https://bugs.launchpad.net/kicad/+bug/1832930
(cherry picked from commit 552815d486)