19555 Commits

Author SHA1 Message Date
John Beard
f632bad576 Pcbnew point editor: avoid flickering when dragging
Only apply the update point to the EDIT_POINT if it will actually
change. Otherwise the intermediate position before grid snapping, etc.,
caused flickering when dragging with a large grid.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19947
2025-08-04 00:03:07 +08:00
jean-pierre charras
e1c56c71ef Fix compil warnings (some due to declarations colliding with a Windows header) 2025-08-03 16:11:14 +02:00
John Beard
8c4c3b7e5e Pcbnew: when moving, select move origin by mouse, not cursor
Selecting the origin fby the cursor position makes it impossible
to select a item further from a grid point than another. This is
especially noticeable when selecting pins while using large grids

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10471
2025-08-03 20:38:18 +08:00
John Beard
3606d25ab6 Pcbnew: improve snapping: avoid cases where a valid snap is excluded
Trimming items that don't have an "involved" real item needs to be
done at the time that the nearest point is found. Otherwise, if
there are multiple nearest points at the same location, and an
'uninvolved' one is chosen, it will later be discarded, and the
grid snap will be the fallback.

The effect of this is that grid snaps can appear to be very
agressive and also inconsistent, as it sometimes uses the item
snap (when it happens to choose an "involved" one) and sometimes not.
2025-08-03 20:38:18 +08:00
Jeff Young
57f3f22aa4 nullptr safety 2025-08-03 12:51:34 +01:00
Jeff Young
55097b9539 Formatting. 2025-08-03 12:51:34 +01:00
Jeff Young
5160bfb212 Angle is included angle, not start angle. 2025-08-03 12:51:34 +01:00
Jeff Young
5accdc2d94 Move search handlers to std::shared_ptr. 2025-08-02 22:04:53 +01:00
Jeff Young
dc3cd81a2a Don't run connectivity on non-existant layers.
Fixes KICAD-X8V.
Fixes KICAD-VH3.
2025-08-02 22:04:53 +01:00
Jeff Young
a75fd2bb23 See if copying netclasses is responsible for KICAD-V6Z (and others). 2025-08-02 22:04:53 +01:00
Jeff Young
8c85cd43f3 Copy c'tor / operator= safety.
Also fixes a memory leak of search pane handlers.
2025-08-02 22:04:53 +01:00
Jeff Young
ed40391bde Don't attempt to fetch last char of empty string.
Fixes KICAD-5ED.
Fixes KICAD-RC1.
Fixes KICAD-W0B.
2025-08-01 16:46:51 +01:00
Jeff Young
ac3eac9ed0 Nullptr safety.
Fixes KICAD-P7Q.
2025-08-01 16:46:50 +01:00
Mark Roszko
275bbf1aef Add missing copy pasta for ps jobs handler 2025-07-31 21:35:42 -04:00
Seth Hillbrand
943fa562e8 Add functionality to get board items matching condition
Precursor to highlight items matching rules
2025-07-31 09:17:13 -07:00
Jeff Young
736d3c2d26 Don't require callers to jump through hoops.
Fixes KICAD-Y6J.
Fixes KICAD-Y6H.
Fixes KICAD-Y6G.
2025-07-31 15:58:49 +01:00
Ben Gamari
e6ab1194ed pcbnew/api: Expose pad-to-die delay
Addresses #21346.
2025-07-30 22:36:50 -04:00
Ben Gamari
29c733c651 pcbnew/api: Expose pad-to-die length
Closes #21346.
2025-07-30 22:36:50 -04:00
Mark Roszko
4b70e20250 Add support for check zones before plot to plot jobsets 2025-07-30 20:49:07 -04:00
Seth Hillbrand
5b3d4fc91d Put PCH behind a cmake flag
Allows developers to turn it off if they don't like/don't want it
2025-07-30 17:04:06 -07:00
Mark Roszko
b0b07bbc41 Add option to save the pcb during drc cli (but with refill-zones required in parallel) 2025-07-29 21:12:31 -04:00
Jeff Young
fa7d67d80a Prevent stale selections. 2025-07-29 23:11:19 +01:00
Jeff Young
7a4107b985 Formatting. 2025-07-29 23:11:19 +01:00
Jeff Young
606a5c7d21 Hide dialog before running picker tool.
(If the user were to close the dialog in between,
we'd be in a world of hurt.)
2025-07-29 23:11:19 +01:00
Jeff Young
0128fb2eaf Formatting. 2025-07-29 23:11:19 +01:00
Jeff Young
d7b5456dfb Honour board's PAGE_INFO when plotting drill maps.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21393
2025-07-28 20:09:15 +01:00
Jeff Young
8de16736d3 Improve spacing, add colons to labels as necessary.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20322
2025-07-28 19:37:53 +01:00
Jeff Young
51e244d7d4 Don't remove nonexistent entries from wxArrayStrings (KICAD-PG7) 2025-07-28 19:37:52 +01:00
Jeff Young
59caea4344 Shutdown safety (KICAD-N5Y). 2025-07-28 19:37:52 +01:00
Jeff Young
37b0ba6273 Fix bad format statements (KICAD-Y1N). 2025-07-28 19:37:52 +01:00
Jeff Young
7b5603503e Fix typo. 2025-07-28 19:37:52 +01:00
Jeff Young
32afe5285e Finish off WX_GRID code sharing exercise. 2025-07-28 19:37:52 +01:00
Seth Hillbrand
66f37beff7 Move canvas selection to common
Makes all canvases obey the same rendering parameter.  Also keeps the
canvas selection with the anti-alias selection, which makes logical
sense.  Reduce the antialias selection to a single choice rather than
two different choices for different canvases
2025-07-27 20:22:59 -07:00
Seth Hillbrand
7f46f2a8d1 Remove unused variables 2025-07-27 17:23:53 -07:00
Jeff Young
046c36d060 Fix padstack/boundingbox issue.
Earlier fix to stop clearing the boundingRadius
for each unique layer also cleared it for
ERROR_INSIDE (when we aren't rebuilding it).

Re-order whole routine to make this more clear.
2025-07-27 13:55:16 +01:00
Jeff Young
8a1669dc53 Coverity tweaks. 2025-07-27 13:55:16 +01:00
Jeff Young
755537ad8c Fix some std::move() of a reference parameter issues.
Also some coding standard fixes for member variable
names.
2025-07-27 13:55:16 +01:00
Seth Hillbrand
4a07154ba3 Restrict pcbnew PCH to clang 2025-07-26 17:59:35 -07:00
Seth Hillbrand
7a94a61cfb Fix MSVC build 2025-07-26 16:40:27 -07:00
Seth Hillbrand
267b21d81c Added precompiled header support
- PCBNew
- Schematic Editor
- Common libs
2025-07-26 15:33:42 -07:00
Jeff Young
1b8119056f More code sharing. 2025-07-26 21:24:37 +01:00
Jeff Young
c58b1146de Honour pad holes when hit-testing.
They may be bigger than the pad.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21331
2025-07-26 18:37:16 +01:00
Seth Hillbrand
f875fd1d60 Add support for chamfering larger sizes
If we are only chamfering opposite corners, we can support up to 100%
chamfer

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13567
2025-07-26 10:33:36 -07:00
Seth Hillbrand
dd41e2b00b Don't prompt for rule areas and no-net shapes
Highlighting and placing vias will pop up a potential net list. This
should not include things without nets

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21381
2025-07-25 16:39:59 -07:00
Jeff Young
2dfacd648f Share more code. 2025-07-25 18:03:49 +01:00
jean-pierre charras
93d90962e5 FOOTPRINT_CHOOSER_FRAME: add tool-tips to buttons; PROJECT_TEMPLATE: fix strings
Translated strings must use Printf to be built, and cannot be created by
concatenating sub strings that fixes the word ordering (that should be
depending on language)
2025-07-25 10:09:47 +02:00
Mark Roszko
dc6e0223c7 Add cli option for zone refill before drc
Note: Does not save yet
2025-07-24 20:40:45 -04:00
Seth Hillbrand
e6f06456db Add area to Zone search panel
If the zone is a filled area, show the total filled area.  If it is a
rule area, show the area to which the rule applies (the outline area)
2025-07-24 11:22:34 -07:00
Seth Hillbrand
40125c73d0 Add option to D356 output to suppress NC pads
Since this is a net test format, some importers do not like dealing with
NC pads
2025-07-24 10:25:52 -07:00
Jeff Young
14c9ed1fda Prevent stale selection when deleting grid rows. 2025-07-24 18:16:21 +01:00