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