EEschema optimizes wires by merging colinear segments. If a schematic opened without a valid
cache library or missing installed libraries and later saved, this optimization can cause connectivity
errors. In order to fix that we check each pin-wire connection and junctions if necessary.
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
(cherry picked from commit d8fff5c820)
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
Netlists do not accept any char in netnames (especially spice).
They must use only "/" as root sheet path name.
Especially _( "<root sheet>" ) breaks netlists because:
- there is a space in name, and special chars (< and >)
- it is a translatable name. so the actual name cannot be managed.
- most of netlist code in Kicad expects a "/" as root path.
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.
(cherry picked from commit f5284ced54)
This adds the functionality to add multiple labels to your schematic at
once by using spaces in the original label name.
Fixes: lp:1095113
* https://bugs.launchpad.net/kicad/+bug/1095113
Don't pass relative paths to the system file manager. The current working
directory may not be the current project path which may end up opening the
system file manager in an unexpected folder.
Fallback to the user's document folder when a valid project path is not
found.
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.
(cherry picked from commit f25ae373bb)
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
(cherry picked from commit 845833e8fd)
A few files snuck in with CRLF for the line endings. These make it hard
to look at diffs as every line appears to have changed. This commit
makes only line ending changes, so can be ignored
* Cleaning code
* When changing the units, the displayed sizes are converted to the new value.
* Fix incorrect changes when the aspect ration is fixed, in DPI units.
Now that our tool framework handles the hotkeys, we need to skip the
passed handling work-around for actions that are already handled in the
event.
Fixes: lp:1832604
* https://bugs.launchpad.net/kicad/+bug/1832604
This size should be the last size saved when closing the manager.
However it was frequently clamped to a smaller size by the aui manager that set a "best" size, not the asked size.
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.
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
(cherry picked from commit 909a25c147)
The returns of KiCad file extensions on GTK contain basic regex matching
case-insensitive file extensions. We need to match these in the
provider and tests