When two arcs only barely overlapped, we cannot predict the actual point
ends as they exist in the error margins. Since arc tracks have
different radii by definition, rounding errors in calculating the
overlap angle led to some mistaken identification of parallel segments.
This adds an advanced config flag to set the preferred cutoff point
(currently 0.001°) for whether two arcs actually overlap in shared angle
space
Previously, when the search panel was hidden, the focused search control
did not lose focus, causing an inability to focus on any items in the
parent window when using shortcut keys. This forces correct focus back to the edit window
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12613
When using "New Footprint" from a selected library in the tree view
(or with an open footprint in such a library) that is read-only,
the new footprint will now be created in a "non-library-assigned" state
so the user has to Save As to save it to a library.
There will also be a warning when this happens to (try to) be less
mysterious about what just happened.
This patch uses a similar logic to that provided by Jan Wichmann in
MR !2034 - thank you!
Relates-To: https://gitlab.com/kicad/code/kicad/-/issues/18923
We checked logical pad matching when looking at pad-based mask but we
should also do the same for aperture masks
(cherry picked from commit 0c8172880f)
Previously, when attempting to paste an entire row copied from the global
table into a project table, the value would be pasted from the cell where
the cursor was focused, rather than from the first cell. This issue
occurred because the first cell, a checkbox column, was not selectable.
To resolve this, the checkbox column should be enabled for selection
when the Left Mouse Button event is triggered
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18732
According to PAD::GetEffectiveShape, (overriding the BOARD_ITEM one)
`This routine returns a COMPOUND shape` so make it always returning
a SHAPE_COMPOUND.
Another step should be to either differentiate GetEffectiveShape
returning SHAPE and GetEffectiveShape returning SHAPE_COMPOUND.
Or not using static cast but dynamic one in the calling function.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18909
This MR adds a new DRC Test provider for the angle between two connected Track segments.
Rule example:
(rule test_track_angle (constraint track_angle (min 135)) (severity error) )
When creating a footprint from the main menu, as opposed to from
a library context menu, there is no library set until it's saved
(the user will get a save-as dialog to set the library at that
point). So lack of a library doesn't mean 'read-only'.
So, don't show the 'read only library' warning in that case -
the user will not be able to save the footprint "in place" as there is
no "place" yet, but it's a reasonable and consistent workflow (like
editing a File->New'd file in a text editor).