19555 Commits

Author SHA1 Message Date
Jeff Young
83fab7b02c Fix undo for move of group-of-shapes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21563
2025-08-28 13:20:14 +01:00
Mark Roszko
3e019ee4ae pcb plots dont need LOCALE_IO anymore 2025-08-27 20:44:16 -04:00
Mark Roszko
4f32146f9a nlohmann json is locale independent (uses to_chars) 2025-08-27 20:41:47 -04:00
Mark Roszko
9bc463606a More redundant LOCALE_IO 2025-08-27 20:11:26 -04:00
Seth Hillbrand
ea8206eca5 Don't both designers with unneeded changes
If we are not asking for fields to be removed when updating, then don't
say we're doing anything if all we have to do is remove fields
2025-08-27 13:30:44 -07:00
Mark Roszko
3eb6caaec6 Move gencad writer to {fmt} 2025-08-27 08:11:12 -04:00
jean-pierre charras
9725ac2215 GERBER_JOBFILE_WRITER: fix incorrect layer id in File Attributes for inner layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21569
2025-08-27 13:25:24 +02:00
jean-pierre charras
b349f1988a PAD: better HitTest( const VECTOR2I& aPosition, int aAccuracy, PCB_LAYER_ID aLayer ) 2025-08-27 13:23:02 +02:00
jean-pierre charras
963aa47778 Pcbnew: fix teardrop generation for pads having different shapes by layer.
Teardrop generator used pad::HitTest not testing the hit of a specific layer.
It created false test for some complex pads. Now use a test specific to a layer.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21560
2025-08-27 11:03:00 +02:00
modbw
57ad779797 Fix net assignment messed up in Eagle import
When there is a polygon in the Eagle project withput any pad connected 
netCode was not incremented and so the wrong nets were assigned to the 
following elements.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21243
2025-08-26 17:11:21 -07:00
Seth Hillbrand
8592b2ee70 JP's patch to fix crash in routing empty board 2025-08-26 12:41:54 -07:00
Seth Hillbrand
1e76f1a11d Ensure that we check tracks exiting pads for gaps
The DP gap check should look for sections of track that are coupled by
wider than a given spacing.  Our primitive check of looking for
collisions on the segment between the start poins causes tracks exiting
but not entering pads to be excluded.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21561
2025-08-26 12:39:59 -07:00
Seth Hillbrand
0a767acb3a Wrap net_selector widget for properties
Provides consistent interface to modify/filter nets in property panel
and dialogs

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17643
2025-08-26 11:50:12 -07:00
Seth Hillbrand
29c4d9b197 Add width/height adjustment to reference image
Allows setting specific width or height on a reference image instead of
just scale

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18567
2025-08-26 11:22:32 -07:00
Seth Hillbrand
2db8c6eca0 Maintain group membership when shoving
Keep track of the original group membership and assign this to the newly
created element as well

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20862
2025-08-26 10:34:10 -07:00
Seth Hillbrand
9c577a4f4c Allow mid-track teardrops
Tracks passing through but not stopping at pads/vias should still get
teardrops

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21246
2025-08-26 10:04:52 -07:00
John Beard
0f0527bd03 Pcbnew: fix sensitivity of via placement to large grids
Another case where large grids are overly "grabby" for snaps.

In this case, because the via was moved to the grid-snap first,
and then THAT position was used to look for things like pad-snaps,
the pad snaps would not be found if a coarse grid meant the cursor
was outside the pad.

Instead, use the mouse position when looking for the non-grid snaps
in VIA_PLACER::SnapItem.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18626
2025-08-26 23:34:46 +08:00
John Beard
3d8803f579 Pcbnew: use R-tree for pad checks in via place tool
Otherwise this is an O(n-pads-on-board) operation for every new
candidate via position.
2025-08-26 23:34:46 +08:00
John Beard
4bebd09bd0 EDA_LIST_DIALOG: Simplify ctor args
Sometimes you want to add these in the ctor of the child
class based on some logic and having to construct the vector
in the init-list is a bit ugly.

Theoretically allows to not require a vector too.
2025-08-26 23:34:46 +08:00
Seth Hillbrand
ab93dd8a68 Avoid trying to get a display when headless 2025-08-26 06:48:36 -07:00
Seth Hillbrand
cb620338db Prevent stale names in fp browser
When switching libraries, if there is an additional footprint with the
same name, we don't want to select it by default as this will prevent
updating the footprint display.  Instead, force the update

Fixes https://gitlab.com/kicad/code/kicad/-/issues/9763
2025-08-26 06:21:59 -07:00
Seth Hillbrand
b5f3d4cf7b Reduce GDI usage by caching layer swatches 2025-08-26 05:29:02 -07:00
Seth Hillbrand
8997b7bcf7 Remove old HasCorner 2025-08-25 22:06:26 -07:00
Seth Hillbrand
5b86f20476 Suppress unneeded move corner context
Doesn't really make sense in terms of a group

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21552
2025-08-25 22:04:32 -07:00
Seth Hillbrand
7841476ed6 Make all 4 corners draggable
When scaling, maybe you want to drag from the bottom left or top right

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21554
2025-08-25 22:02:20 -07:00
Seth Hillbrand
a034c30563 Properly add group size mod to commit
Allows escaping the current state

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21553
2025-08-25 21:59:13 -07:00
Seth Hillbrand
20a80a5f94 Fix shadowing variable 2025-08-25 11:49:28 -07:00
Seth Hillbrand
ef0ca4840e Revert "Check for property prefix in DRC"
This reverts commit 85397f6edc835fa6abed8fdc77d53614c94a79b1.
2025-08-25 11:37:13 -07:00
Seth Hillbrand
4e7fa189aa Refactor gfx import cleanup
Break up monolithic function into responsibilities.  Adjust cleanup to
correctly modify each graphical pairing.  Fix drc test to properly
report gap distances that are relevant to outlines

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13090
2025-08-25 11:33:26 -07:00
Seth Hillbrand
87ee9c4b49 Don't preemptively skip previously seen objects
We need to return them in order to detect the self-intersection
2025-08-25 11:31:51 -07:00
Seth Hillbrand
9cabceb773 Properly extend our outline
Previously, if we had a single gap in the outline, we would report
multiple errors depending on the order in which we parsed the outline.
This was confusing as most of those errors were invalid.  Instead, we
build the outline in both directions before reporting gaps
2025-08-25 11:31:51 -07:00
Seth Hillbrand
ba9e9a2368 Be more explicit in the board outline errors
Show the two items that are closest to the gap and put the marker
directly in the gap center.  Then report the space between them to allow
the designer more information about what to look for
2025-08-25 11:31:51 -07:00
Seth Hillbrand
ad7235e386 Don't add tiny sections
When healing the board, adding nm-sized sections is worse than just
adjusting the elements to create a full outline
2025-08-25 11:31:51 -07:00
Jeff Young
8c3026cf1a Naming conventions. 2025-08-25 12:13:38 +01:00
Jeff Young
0477fb65ec Better spacing in dialogs.
Also allows Symbol Properties to be narrower.
2025-08-25 10:48:19 +01:00
Seth Hillbrand
85397f6edc Check for property prefix in DRC
All properties must have a parent.  This is a bit hacky way to find that
or generate a warning and set the default

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21543
2025-08-24 17:58:30 -07:00
Seth Hillbrand
eb753b8a1b Old-skool THT colors
Simple option for plain-jane THT pad stacks to color them like the via
holes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21531
2025-08-24 13:31:50 -07:00
Seth Hillbrand
3ef862f7b6 Specialize the pad wall drawing
Avoids slowdown when zoom/pan with many THTs as everything remains
cached.  Still slow in Cairo but this is expected

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20506
2025-08-24 11:25:50 -07:00
Seth Hillbrand
c842f2700f Guard against div-0 in gauge 2025-08-24 08:03:31 -07:00
Jeff Young
a7772e3b91 CHANGED: flatten image properties dialogs.
Also moves scale to UNIT_BINDER for correct locale
handling.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17837
2025-08-23 20:32:11 +01:00
Jeff Young
8ce0bf7623 Can't veto a close event.
Fixes KICAD-SQM.
2025-08-23 20:32:11 +01:00
Jeff Young
7fa9aabead Don't fire asserts when reloading 3-state checkboxes.
Fixes KICAD-YVD.
Fixes KICAD-WBM.
Fixes KICAD-W89.
Fixes KICAD-WTX.
Fixes KICAD-WKP.
Fixes KICAD-W8P.
2025-08-23 20:32:11 +01:00
Seth Hillbrand
cac334bb45 Enforce board-level hole to hole on diff pairs
Makes the router behave like the DRC

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21240
2025-08-23 07:45:05 -07:00
Seth Hillbrand
8acdcafe90 Find the proper line split
And avoid leaving duplicate tracks when overlapping

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10422
2025-08-23 07:10:05 -07:00
Seth Hillbrand
26f0c03e61 ADDED: support for 45 degree crosshairs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6047
2025-08-23 06:20:00 -07:00
Seth Hillbrand
8330cf5d12 Separate reset text pos from other attr
Position is frequently usefully placed and we might not want to nuke it
just to get the updated text

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18387
2025-08-22 20:11:03 -07:00
Seth Hillbrand
206dfa2883 Allow scaling grouped graphics in pcbnew
Adds scaling handles and editpoints to drag shapes larger/smaller while
maintaining proportions.  Future additions might include non
proportional scaling

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13072
2025-08-22 20:04:38 -07:00
dsa-t
83427c38aa Revert "Use board stackup colors by default in 3D render job."
This reverts commit d2f852504a7f4893340d062e20c4b949ca6d3def
2025-08-23 00:09:42 +03:00
Seth Hillbrand
2e1910ca86 Manually check pad layers before inserting
We do not rely on GetEffectiveShape(layer) to return null for layers
that the pad does not exist on.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21523
2025-08-22 11:27:29 -07:00
dsa-t
4da77e046c Revert "Add FOLLOW_PCB, FOLLOW_PLOT_SETTINGS appearance presets to 3D render job dialog."
This reverts commit 1a9993d764fb929e5ce4c3bf10f331d0c4f82c08
2025-08-22 21:27:01 +03:00