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
This resolves several issues:
* Interative position of a single pad did nothing, now it moves the
parent footprint (in non-free-pad mode)
* Non-interactive would move the footprint n times if you selected
n pads, now it just move once.
* Neither tool would prompt for lock overrides
Use the proper free pad collector filter to make this work and keep
behaviour consistent with other tools.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19430
The TOOL_EVENT constructor searches for ACTONS::cancelInteractive. That
action is global, so we need to ensure it is created before we try to
create these events - so switch to a create on first use paradigm for
the events.
Previously, these checks injected a custom handler to add graphic
objects to a DRC marker. This was not thread-safe and was causing
non-deterministic crashes. The DRC reporting methods now accept
a customer handler which is called on the newly created
PCB_MARKER within the commit context. This defaults to nullptr
for DRC checks which do not require graphics or other additional
processing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19282
Polygon segment dragging no longer pays attention to the
H/V/45 global setting, and now always enforces a drag normal
to the original segment. Polygon vertex editing no longer
enforces a H/V/45 constraint, instead relying on the grid and
object snap.
This field was redundant (was generally set to the footprint's LIB_ID)
but also buggy (not guaranteed to contain the footprint's LIB_ID)
and confusing (not a way to change the footprint's LIB_ID).
The chamfer corner action is only meaningful for polygons
and zones, so only enable it there.
Also move some static logic out of of the interface
of PCB_POINT_EDITOR and use SELECTION_CONDITIONS
like other similar code.
When pressing escape, act like the line tool, with two possibilities:
* The current bezier isn't "started", in which case, cancel out of
tool entirely.
* The current bezier is "started", in which case cancel it, but
stay in bezier mode to draw another one from a new starting position.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19206
This the 'activeLayers' is a more restricted set of layers than
all visible layers. When high constrast mode is off, snaps should
be available for all visible layers, not just layers in the
'activeLayers' set.
This is similar to the check done in checkVisibility, but as
pads are multi-layer items, they have this check afterwards as
well.
Note - the All Layer/Active Layer Only filtering is handled elsewhere.