Seth Hillbrand
be86e9f57f
Prevent UI events during footprint dialog ctor
...
Errors may get thrown when the 3d models are loaded for missing search
paths. This triggers the idle event that makes assumptions about the
state of the dialog. We halt event handling until the ctor finishes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12944
2022-11-29 19:38:48 -08:00
Jeff Young
ec92def539
Add support for unitless values to PCB_EXPR_EVALUATOR.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13016
(cherry picked from commit 8260f0ee13
)
2022-11-29 23:28:37 +00:00
Jeff Young
d7a7ddd80e
Allow pads in selection and filter them for free-pads later.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12912
(cherry picked from commit cefc5268ab
)
2022-11-29 23:15:39 +00:00
Jeff Young
2f47857abc
Move zone borders back to their "host" layer.
...
Zone borders shouldn't be affected by zone-opacity control; we always
draw them in full layer opacity.
Fixes https://gitlab.com/kicad/code/kicad/issues/12438
(cherry picked from commit 25f06eed8c
)
2022-11-29 23:05:50 +00:00
Jeff Young
a09a3dfe68
Be careful of interveneing priority zones when doing divot prevention.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12797
(cherry picked from commit 1f4e51b008
)
2022-11-29 22:43:41 +00:00
Jeff Young
e083cbaf50
Allow a single net collision with a free pad.
...
(cherry picked from commit 3534cfbba8
)
2022-11-29 22:16:15 +00:00
Seth Hillbrand
9d401b00d8
Allow groups in groups
...
This was allowed in the qa test, so we allow it going forward
(cherry picked from commit 137b4de1c2
)
2022-11-28 11:28:51 -08:00
Seth Hillbrand
c9cc29593a
Don't add non-groupable items to groups
...
This is a re-implementation of 259e41be
Fixes https://gitlab.com/kicad/code/kicad/issues/13026
2022-11-28 09:26:48 -08:00
Seth Hillbrand
42bd43407a
Remove clone's group info
2022-11-28 09:17:17 -08:00
Tomasz Wlostowski
cca7f1dbda
router: use actual snap point position for routability checks of a segment instead of the segment endpoint(s).
...
Explanation:
- place a long segment A with something violating the rules close to its endpoint
- try to start routing in the 2/3 of the length of A (on the obstacle side)
- bummer - the router picks the nearest endpoint of A for the collision check (even though we don't care about this collision since we want to route far away from it)
(cherry picked from commit e558893851
)
2022-11-23 06:57:11 -08:00
Seth Hillbrand
2cf4cb937f
Fix graphic snapping
...
If the user has requested the ability to snap to graphics, we want to
add any of the graphical layers to the limit list
2022-11-23 06:57:11 -08:00
jean-pierre charras
f136f3d7ee
pcbnew, SVG import: fix an issue for SVG files using a CR+LF end of file
...
The issue was in a validity test working only if CR+LF is not replaced by LF
Fixes #10096
https://gitlab.com/kicad/code/kicad/issues/10096
2022-11-09 09:36:06 +01:00
Seth Hillbrand
61d4a5bfbe
Resolve embedded text vars
...
Title Block text variables are embedded into the pcb file and should
be used for resolving when the project file is missing
(cherry picked from commit d1bf889e71
)
2022-11-03 10:26:06 -07:00
Mike Williams
6289a82a18
PCB Router: return to original active layer after routing
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12313
(cherry picked from commit fa3e9efdce
)
2022-11-03 10:16:26 -07:00
Jeff Young
882756b676
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12753
(cherry picked from commit c026c3af7b
)
2022-10-25 17:40:33 +00:00
Jeff Young
8c3cd200d1
Clean up layer handling and normalize to remove magic numbers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12747
(cherry picked from commit 5fe5534822
)
2022-10-25 14:21:03 +01:00
Jon Evans
2d2912c23d
Improve logic of Position Relative tool
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12672
2022-10-24 18:46:15 -04:00
Jeff Young
3106f6c9f4
We must check clearance on all layers of multi-layer items.
...
(One layer may have a custom rule.)
Fixes https://gitlab.com/kicad/code/kicad/issues/12733
(cherry picked from commit 2dec37f806
)
2022-10-24 10:57:07 +01:00
Jeff Young
fde2b429b9
Make sure pair caches are layer-specific where they need to be.
...
(cherry picked from commit 909358e643
)
2022-10-24 10:57:07 +01:00
jean-pierre charras
8e331628b6
Do not add a title/comment in mandatory field strings when writting netlists.
...
This is mainly for "Sheetfile" property because current it is the only one
that has a title when plotting/drawing it.
2022-10-22 15:38:26 +02:00
jean-pierre charras
02d38db577
Fix about fix_swig_imports.py, useless or not working with swig 4, but needed by swig 3
...
fix_swig_imports.py cleans pcbnew.py, but the section to clean does not exist
in swig 4, only in swig 3.
2022-10-21 16:33:01 +02:00
Alex
6de30b19a0
Don't sync the world twice in inline router tools.
...
Activate() already clears and syncs the world via PNS::TOOL_BASE::Reset,
so there's no need to sync in InlineDrag and InlineBreakTrack.
(cherry picked from commit cc4e34ef49
)
2022-10-21 17:21:24 +03:00
Alex
152252c685
Fix selecting pads of footprints in groups.
...
(cherry picked from commit 67985510a8
)
2022-10-21 17:19:05 +03:00
Alex
3b0466f3e8
Fix selection and entering in nested groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12586
(cherry picked from commit 0fea6f5ac3
)
2022-10-21 17:18:07 +03:00
Seth Hillbrand
2ca7a76693
Don't connect disparate nets
...
Only some elements get their nets assigned based on connectivity. Other
elements should be keps in different clusters for connection
Fixes https://gitlab.com/kicad/code/kicad/issues/12622
(cherry picked from commit c9f11827a7
)
2022-10-21 11:35:31 +01:00
Jeff Young
549dca1a05
Copy connected-only and keep-top-bottom properties.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12691
(cherry picked from commit 585fac19c6
)
2022-10-21 11:12:02 +01:00
Jeff Young
da520f83ee
Use comma to separate diff pair nets/netclassse rather than /.
...
("/" is problematic because it's more likely to appear in netnames.)
Fixes https://gitlab.com/kicad/code/kicad/issues/12592
(cherry picked from commit 6fd195c389
)
2022-10-21 11:11:02 +01:00
Jeff Young
47547713de
Broaden reset-sizes-after-layer-switch algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12576
(cherry picked from commit 40ad5b6de3
)
2022-10-21 11:09:47 +01:00
jean-pierre charras
705570923e
Fix some outdated things (mainly about fix_swig_imports.py, useless with swig version 4)
...
From Master, commit 397a9302
.
Fixes #12414
2022-10-20 17:12:57 +02:00
jean-pierre charras
2827835720
board_stackup_manager: fix incorrect behavior when adding a new dielectric layer.
...
From Master branch
Fixes #12680
https://gitlab.com/kicad/code/kicad/issues/12680
2022-10-20 11:47:04 +02:00
Jeff Young
bf95906f90
Re-entrancy guard for router tool.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12604
(cherry picked from commit 413fd82813
)
2022-10-19 18:24:33 +01:00
Jeff Young
e8d2c222b6
We need both a tool-oriented delete and one that doesn't push/pop, etc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12600
(cherry picked from commit 46752499df
)
2022-10-19 18:22:32 +01:00
Jeff Young
f891c4641b
We were saving the old board pointer, but not updating the current one.
...
This also makes a few other adjustments to order and to where we look
for the enabled layers which should make it more robust.
Fixes https://gitlab.com/kicad/code/kicad/issues/10925
(cherry picked from commit 631980b0ab
)
2022-10-19 18:17:40 +01:00
Jeff Young
a65fc7f82a
Pin 0-sized pads at 1um rather than throwing them out.
...
(See bug report for more commentary.)
Fixes https://gitlab.com/kicad/code/kicad/issues/12617
(cherry picked from commit 46a41e2e34
)
2022-10-19 18:15:49 +01:00
Jeff Young
5bcd0a5828
Update router sizes when switching layers.
...
We may have layer-specific rules involved. Note that at some point
we also need to do something similar on every "fix route" step to
handle area-specific rules.
Fixes https://gitlab.com/kicad/code/kicad/issues/12576
(cherry picked from commit d8a3ba7917
)
2022-10-19 14:47:08 +01:00
Jeff Young
74d8040e8c
Force flashing when generating SOLIDs.
...
We only have a single SOLID per pad, so the solid's shape must always
be the flashed shape and then we can do layer-specific flashing tests
internally.
Fixes https://gitlab.com/kicad/code/kicad/issues/12458
(cherry picked from commit 08260661b8
)
2022-10-19 14:43:13 +01:00
Jeff Young
c5514d43c7
Don't reset editPad if it still exists after model reset.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12630
(cherry picked from commit 8b9cbd5805
)
2022-10-19 14:42:16 +01:00
Jeff Young
0704e37eb5
Make sure a collector has a guide before handing it to a client filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12460
(cherry picked from commit 1566bd8b14
)
2022-10-19 14:41:30 +01:00
Jeff Young
c94de31a8c
Try to reconcile SELECTION and BRIGHTENED use of overlay.
...
For some reason the overlay doesn't get redrawn during the PCBNew
selection disambiguation menu, so we need to not hide BRIGHTENED
items.
Fixes https://gitlab.com/kicad/code/kicad/issues/12547
(cherry picked from commit 436d75e7f9
)
2022-10-19 14:40:07 +01:00
Jeff Young
2793e67bab
Bring adding-to-group and hiding in sync.
...
(cherry picked from commit 6a6ef9b1f4
)
2022-10-19 14:39:45 +01:00
Jeff Young
3213ea582d
Avoid trying to draw empty pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12605
(cherry picked from commit e866dfe137
)
2022-10-19 14:38:40 +01:00
Jeff Young
6003097411
Areas might have layers defined in area as well as rule.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12584
(cherry picked from commit 51c20da93e
)
2022-10-19 14:34:22 +01:00
Jeff Young
6390633a7b
Use GetCurrentNets(), not m_startItem for message panel updates.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12592
(cherry picked from commit cbb997a3b5
)
2022-10-19 14:28:06 +01:00
Jeff Young
dde5f2bed1
Respect DRCEpsilon in diff-pair coupling test.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12587
(cherry picked from commit 9119b5072a
)
2022-10-19 14:26:19 +01:00
Jeff Young
914e396e2e
Implement annular ring checking for pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12109
(cherry picked from commit 9a4136de00
)
2022-10-19 13:49:40 +01:00
Jeff Young
f6bdd40c30
Manual cherry-pick of ba630971af
.
2022-10-19 13:31:16 +01:00
Jeff Young
da85a5f6bf
Work around more instances of the wxWidgets color string locale bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12552
(cherry picked from commit c0a666507c
)
2022-10-19 12:56:17 +01:00
Seth Hillbrand
61cfe53be1
Correctly sort positions for default align
...
When not aligning under mouse cursor, choose the X-most element where X
is top/bottom/left/right. Previous sorting was not correct for two
directions
Fixes https://gitlab.com/kicad/code/kicad/issues/12627
(cherry picked from commit 697056fa7e
)
2022-10-14 16:15:51 -07:00
Seth Hillbrand
292492bd01
Prevent crashes when canceling duplication
...
Duplicating multiple footprints, moving and then pressing Esc could
crash when we attempt to re-select the original items. This allows
bypassing the issue when running from the duplication tool
2022-10-13 16:32:56 -07:00
Jeff Young
f1029b7280
We don't always have a line when dragging.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12612
(cherry picked from commit b2f05c758b
)
2022-10-13 09:15:24 -07:00