Seth Hillbrand
b0f8055377
Revert "Pull some fixes back from master."
...
This reverts commit 5c63df28e4
.
2022-03-17 16:21:37 -07:00
Seth Hillbrand
33f4fc9873
Revert "Improved performance for Cleanup Tracks & Vias."
...
This reverts commit 14378812be
.
2022-03-17 16:21:34 -07:00
Jeff Young
d34faf30cc
Save pointer to markers provider.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11136
(cherry picked from commit a81c8d4922
)
2022-03-16 16:23:10 +00:00
Jeff Young
47de9f8f04
Fix typo which leads to catastrophic performance on boards with tons of zones.
...
(cherry picked from commit 392a3ec131
)
2022-03-16 15:16:11 +00:00
Jeff Young
14378812be
Improved performance for Cleanup Tracks & Vias.
2022-03-16 15:15:20 +00:00
Jeff Young
5c63df28e4
Pull some fixes back from master.
...
Mostly wxT(), but also some performance, and some for better response
to Cancel button.
2022-03-16 15:15:09 +00:00
Jeff Young
e5ea37507c
Exclude hidden text from selection in FP Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11111
(cherry picked from commit 06c1bccccd
)
2022-03-16 15:15:01 +00:00
Jeff Young
53bd87d792
Performance fixes for the board from hell....
...
(cherry picked from commit e4b56ab7f1
)
2022-03-16 15:14:51 +00:00
Jeff Young
b9d7a0565f
Hand cherry-pick fixes from master.
...
0a8718cd1d
7fb4a2c0a5
2022-03-15 13:19:12 +00:00
jean-pierre charras
ad2486b09f
Fix a incorrect filename in a copy command (MSW specific).
...
Also fix a regression and respect the KICAD_BUILD_QA_TESTS build option.
2022-03-14 21:14:04 -04:00
Marek Roszko
40462012ee
Don't pre-scale the line width
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11122
(cherry picked from commit d74a0cdaa3
)
2022-03-14 03:09:23 +00:00
Marek Roszko
43aa0bfdc3
Tweak the "pyd" extension if for windows to be completely inclusive
2022-03-12 15:47:48 -05:00
Jeff Young
c241032a3b
Redraw pads when mask or paste layer is visible after board setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11079
2022-03-10 17:54:38 +00:00
Seth Hillbrand
0cf1a67e29
Cache read arc data for stability
...
Arcs can be altered by the process of changing from on-disk
representation to in-memory representation. Saving back to disk without
modifying the arc should not modify the calculated values.
This stores a copy of the on-disk representation that is only used to
save back to disk in the event that the arc is not modified during
editing.
Fixes https://gitlab.com/kicad/code/kicad/issues/10442
(cherry picked from commit cd7141fd10
)
2022-03-08 10:33:49 -08:00
Seth Hillbrand
f4cdb97141
Normalize `IsInsideCourtyard`
...
(cherry picked from commit c18d9b9baf
)
2022-03-08 10:07:59 -08:00
Seth Hillbrand
0cfa88ca9a
Move temp save files to temporary directory
...
Avoid excess writes to the project directory to dodge issues with remote
file systems not fully writing data.
wxRename works across disk boundaries (in theory) and falls back to
wxCopy/wxRemove when it fails
Fixes https://gitlab.com/kicad/code/kicad/issues/10747
2022-03-08 10:05:04 -08:00
jean-pierre charras
c75c7d084a
plot_board_layers.cpp: Add missing layers (USer_x) in list
...
Fixes #11072
https://gitlab.com/kicad/code/kicad/issues/11072
2022-03-08 14:44:53 +01:00
jean-pierre charras
dd154c155f
pcbnew: Fix Bezier "Add Primitive" in Pad Creation Dialog (From master branch)
2022-03-08 14:44:05 +01:00
Jon Evans
1394509734
Settings: allow multiple project access from Python standalone
...
We can't handle this in the UI, but we can externally, so allow
it for Python scripting and eventually we'll use this in the UI
also...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10540
2022-03-05 12:50:45 -05:00
Jeff Young
1ffe0da204
Improvements for pads/vias in zones which knockout other zones.
...
1) Drop tiny islands which might cause connection problems.
2) Cleanup some dead code in filler
3) Don't estabilish a connection to an island that is fully covered
by whatever its connecting to.
Fixes https://gitlab.com/kicad/code/kicad/issues/11036
2022-03-05 15:40:30 +00:00
Jeff Young
46d423a164
Must clear arcs before calling Clipper.
2022-03-05 15:40:30 +00:00
Seth Hillbrand
c1dcfdffb1
Remove unneeded condition to rotate
...
The condition that the board must have elements on it before allowing
the rotate command is invalid as we allow rotating new elements before
placement
Fixes https://gitlab.com/kicad/code/kicad/issues/10581
2022-03-03 15:44:50 -08:00
Jeff Young
191558e2d7
Reimplementation of 513486b0ec
.
...
(For https://gitlab.com/kicad/code/kicad/-/issues/11020 .)
2022-03-03 23:29:22 +00:00
Seth Hillbrand
8f75841c85
Check for additional connections between tracks
...
Prevents removal when a track is connected not just to other tracks but
also other connected items
Fixes https://gitlab.com/kicad/code/kicad/issues/10916
(cherry picked from commit 9d927f3135
)
2022-03-03 13:08:37 -08:00
jean-pierre charras
c3f8d8b5a1
FP_TEXT::ViewGetLOD() fix incorrect test (LAYER_MOD_VALUES color has no matter)
...
Fixes #11026
https://gitlab.com/kicad/code/kicad/issues/11026
Fixes #11028
2022-03-03 11:59:03 +01:00
Seth Hillbrand
23479821e3
Fix issue with 9396735733
...
Need to select unconditionally target layer if not on copper
2022-03-02 10:46:59 -08:00
Seth Hillbrand
9396735733
Select the copper layer before processing
...
If we are converting to tracks, the copper layer needs to be selected
before any other elements are processed, otherwise, we end up with the
default undefined layer
Fixes https://gitlab.com/kicad/code/kicad/issues/11025
2022-03-02 10:17:16 -08:00
Seth Hillbrand
901c330478
Update end item before moving on track/via change
...
The move even dereferences m_enditem for logging and perhaps other
actions. We need to ensure that the end item has not been invalidated
before taking this action
Fixes https://gitlab.com/kicad/code/kicad/issues/10732
2022-03-02 09:21:52 -08:00
Jeff Young
354c320329
Make sure Cleanup handles shapes other than segments.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10955
2022-03-02 15:26:02 +00:00
Jeff Young
0ea559e3b8
Reconcile two different printing bug fixes.
...
a9f092b370
6f5cb1f97d
Fixes https://gitlab.com/kicad/code/kicad/issues/11004
(cherry picked from commit c4143b0ff6
)
2022-03-02 12:07:43 +00:00
Jeff Young
d20c2fe5c5
High-contrast mode: don't render vias that don't cross high-contrast layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8740
(cherry picked from commit bbfbfc2cd2
)
2022-03-02 12:07:43 +00:00
Seth Hillbrand
0b98acfe12
Freeze TEDIT in place
...
Avoids updating the TEDIT field, preventing merge conflicts and unneeded
VCS cruft
2022-03-01 15:53:07 -08:00
jean-pierre charras
e5a85b107f
Gerber plotter: fix broken plot of SHAPE_LINE_CHAIN with arcs.
...
Also simplify SHAPE_T::POLY plot.
From Master branch.
2022-02-28 18:26:26 +01:00
jean-pierre charras
e2982a0e47
svg importer: fix a crash when importing some files with no graphic item
2022-02-28 18:26:24 +01:00
Jeff Young
1c6f3f8f0d
Drop a knee between tracks to a single item when dragging.
...
This prevents the disambiguation menu from coming up when we don't
really care which element we start the drag on.
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
(cherry picked from commit ae85f57577
)
2022-02-27 18:20:25 +00:00
Jeff Young
6341548939
Infobar warning if symbol loading was cancelled.
...
Also makes sure the progress dialog is closed when we're done reading
symbols (it used to stay up for much of the symbol editor initialization).
Also makes sure that any cancel in the preLoad step is honoured in the
sync step. (The preload is done because it is multi-threaded and therefore
faster than the single-threaded sync.)
Also makes sure that individual threads pay attention to the cancellation,
not just the GUI thread.
Fixes https://gitlab.com/kicad/code/kicad/issues/8372
(cherry picked from commit 1f16092e29
)
2022-02-27 18:20:25 +00:00
jean-pierre charras
a91dd68444
FP editor: fix crash when trying to export a footprint to the board editor.
...
From Master branch.
2022-02-27 08:41:36 +01:00
Jeff Young
a8175f49a6
Repair tab order in Footprint Properties dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10978
(cherry picked from commit 2c6a2c3479
)
2022-02-26 17:42:02 +00:00
jean-pierre charras
05110b7bdc
DIALOG_BOARD_STATISTICS: Reset the drill count list before recalculations.
...
Fixes #10984
https://gitlab.com/kicad/code/kicad/issues/10984
2022-02-26 17:11:45 +01:00
jean-pierre charras
aadcc43dbb
APPEARANCE_CONTROLS: fix missing update when toggling a layer view.
...
Fixes #10977
https://gitlab.com/kicad/code/kicad/issues/10977
2022-02-26 10:40:47 +01:00
Seth Hillbrand
ff6f398607
Handle list double-click without shortcuts
...
The LIST_DCLICK event can be fired by spacebar or enter in GTK. This
conflicts with using the spacebar to reset local coordinates. Instead,
we capture the double-click event manually to add the footprint to the
board
Fixes https://gitlab.com/kicad/code/kicad/issues/5714
Fixes https://gitlab.com/kicad/code/kicad/issues/10633
2022-02-25 16:53:03 -08:00
Seth Hillbrand
a30ad0b54a
Honor modifier keys in diambiguation
...
Needs to be reset for the new action before selecting elements at a
point.
Fixes https://gitlab.com/kicad/code/kicad/issues/9712
2022-02-25 16:15:56 -08:00
Steffen Mauch
ab835937a7
Fixing Eagle refs that do not work with KiCad
...
KiCad has stricter requirements for what consititutes an annotated
symbol. This checks for and corrects annotations that begin with '#',
do not begin with a non-numeric character or do not end with a number
(cherry picked from commit 78620347c8
)
Fixes https://gitlab.com/kicad/code/kicad/issues/10760
2022-02-25 15:45:30 -08:00
Jeff Young
b17eb3a584
Connectivity rebuild must be done after commit push.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10608
2022-02-25 23:15:44 +00:00
Jeff Young
96bd27ef0f
Initial focus for Get and Place Footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10230
(cherry picked from commit 714c65275c
)
2022-02-25 22:02:43 +00:00
Seth Hillbrand
54f621c570
Use board polygon instead of bbox for size
...
Board BBox uses the visible size of the board, which includes edge cut
thickness. This is not appropriate for the Board characteristics.
Using the outline polygon gives accurate results and falls back to a
bounding box in the case where the outline is invalid
Fixes https://gitlab.com/kicad/code/kicad/issues/10972
2022-02-25 11:13:01 -08:00
jean-pierre charras
0f497d1b7a
Fix incorrect conversion from lines to rect in fp editor.
...
Fixes #10965
https://gitlab.com/kicad/code/kicad/issues/10965
2022-02-25 13:50:57 +01:00
Jeff Young
5f1976f341
fixup! Better DRC checking when placing vias.
2022-02-25 10:40:05 +00:00
Jeff Young
6036331b25
Debounce layer visibility buttons and fix issues with FP Editor.
...
(cherry picked from commit cb16ad7557
)
2022-02-25 10:40:05 +00:00
Jeff Young
5129143bcb
Layer visibilities aren't stored in project for footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10953
(cherry picked from commit 5c54f40eae
)
2022-02-25 10:40:05 +00:00
Jeff Young
d7d31e4b76
Implement multi-layer stitching via logic.
...
(cherry picked from commit d65f9ad2d8
)
2022-02-25 10:40:05 +00:00
Jeff Young
b00f855c26
Better DRC checking when placing vias.
...
(cherry picked from commit 369f53bb19
)
2022-02-25 10:40:05 +00:00
Jeff Young
4b0177c8fe
Handle hidden layers in FP Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10946
(cherry picked from commit 08df5c0b01
)
2022-02-25 10:40:05 +00:00
Jeff Young
b11ec85706
Copy Pad_Master when copying BOARD_DESIGN_SETTINGS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10932
(cherry picked from commit d2069e1548
)
2022-02-25 10:40:05 +00:00
Greg Davill
55bdef9bd2
action_plugin: Remove duplicated entry in UndoList
...
(cherry picked from commit 429c311ec3
)
2022-02-24 14:46:13 -08:00
Jeff Young
6ccaf5e27d
Flip all layers of a zone.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10621
2022-02-21 22:02:19 +00:00
Jeff Young
a24912d01d
A bit of safety.
2022-02-21 22:02:19 +00:00
Jeff Young
2498655cc5
Respect ERROR_OUTSIDE when inflating polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10896
(cherry picked from commit e6c617b74d
)
2022-02-21 17:32:25 +00:00
Jeff Young
a5305aa235
A more discerning un-flashed-connectivity test.
...
(cherry picked from commit aa2c8e9b0c
)
2022-02-21 11:20:48 +00:00
Tomasz Wlostowski
680163f8a8
Cherry-pick commits from Master and about SVG import:
...
*Fixes in the SVG import polygon postprocessing:
- don't drop subsequent polys when a non-filled primitive is imported 'in between'
- fix missing holes (also related to the interleaving of stroke and filled shapes, depending on the software that wrote the SVG file)
*GRAPHICS_IMPORTER_BUFFER: forgot to store the indices of the paths belonging to a compound shape
*pcbnew: GRAPHICS_IMPORTER can now recognize multi-path shapes (and postprocess polygons with holes into Kicad-compatible fractured polysets)
*SHAPE_POLY_SET: polysets can now be built from a bunch of arbitraily ordered oriented outlines.
Used by the SVG hole support
*SVG_IMPORT_PLUGIN: enable postprocessing of polygons with degeneracy and holes
*pcbnew: SVG importer support for even-odd fill rule
2022-02-21 10:50:05 +01:00
Jeff Young
f8d15a641a
Use only a physical connection to determine flashing of pads.
...
Checking for proper nets just confuses things when the nets are set
wrongly for some reason. This way we generate clearer DRC errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/10645
2022-02-20 20:52:39 +00:00
Jeff Young
d56e488f2d
Remove unnecessary validations.
...
Not sure if this will fix the bug or not as I can't reproduce it, but
I'd say odds are pretty good.
Fixes https://gitlab.com/kicad/code/kicad/issues/10467
2022-02-20 20:52:39 +00:00
jean-pierre charras
d5ca09dffc
Optimize DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS: a time consuming call (OnModify())
...
was made for each item change.
It is now made only once.
Fixes #10905
https://gitlab.com/kicad/code/kicad/issues/10905
2022-02-20 20:12:36 +01:00
Jeff Young
b24f51908b
Fix nullptr error (no router tool in footprint editor).
...
(cherry picked from commit df3291c59d
)
2022-02-20 16:57:54 +00:00
Jeff Young
246b6fcdd6
Use router to update message panel when routing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10068
2022-02-20 13:54:01 +00:00
Jeff Young
2b7c79541b
While flags are in prefs, actual clearance values are in board setup.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10852
(cherry picked from commit 7ddd3137a3
)
2022-02-20 01:03:08 +00:00
Jeff Young
7f40cac4b0
Fix collapsing name column in Net Inspector.
...
(cherry picked from commit 4966e2ebc2
)
2022-02-20 01:03:08 +00:00
Jeff Young
7978c8c291
Allow Rule Areas on all physical layers.
...
Required to do things like modify silk_clearance rules.
(cherry picked from commit 8f670552a6
)
2022-02-20 01:03:08 +00:00
Jeff Young
fc6ec23ac1
On-the-fly language updating for appearance panel & selection filter.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10040
(cherry picked from commit 6ce63d66e8
)
2022-02-20 01:03:08 +00:00
Jeff Young
02ec87b036
Cancel or commit pad edit mode when switching footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10209
(cherry picked from commit 85805b95ba
)
2022-02-20 01:03:08 +00:00
Jeff Young
762258203c
Add zone margin when subtracting other graphics and zones.
...
It was already added for pads and tracks, but not the other objects.
Fixes https://gitlab.com/kicad/code/kicad/issues/10896
(cherry picked from commit 81bed9ab96
)
2022-02-20 01:03:08 +00:00
Seth Hillbrand
f0d7a09af9
Remove broken call to normalize outlines
...
We should never be editing the user's outlines for them. This creates
broken zones that are hard to repair. In this case, there was also a
secondary zone with no outline that would crash the system
Fixes https://gitlab.com/kicad/code/kicad/issues/10904
2022-02-18 09:30:26 -08:00
jean-pierre charras
7be3a6b3c5
pcbnew: fix incorrect calculation of the board thickness from board stackup.
...
dielectric sub layers were not taken in account.
Fixes #10899
https://gitlab.com/kicad/code/kicad/issues/10899
2022-02-18 18:10:49 +01:00
Seth Hillbrand
ed2148d634
Prevent merging tracks across pads
...
When merging co-linear tracks, we should maintain the existing break if
it exists on pads, vias and other connection points
(cherry picked from commit 3a29d94c0a
)
2022-02-17 19:44:33 -08:00
Seth Hillbrand
8e9d44942f
Maintain connectivity while cleaning tracks/vias
...
When merging segments that loop back on each other, we need to merge
them in such a way to to keep the resulting endpoints connected to the
original adjoining endpoints
Fixes https://gitlab.com/kicad/code/kicad/issues/10780
2022-02-17 15:24:23 -08:00
qu1ck
8b1f1c0296
Fix double loading plugins and sys.path entires multiplying
...
(cherry picked from commit b53b68c686
)
2022-02-17 10:59:52 -08:00
Tomasz Wlostowski
4eb9440a42
router: include arc approximation tollerance in arc hull clearance calculation
...
fixes: https://gitlab.com/kicad/code/kicad/-/issues/10470
(cherry picked from commit ce28525172
)
2022-02-17 09:22:19 -08:00
jean-pierre charras
7cf7270738
GERBER_JOBFILE_WRITER: allows all *_User layers to be listed in *gbrjob file.
2022-02-17 15:35:49 +01:00
Mikolaj Wielgus
46f7223dd9
Fix sizing of the two last columns in drill statistics table
2022-02-17 14:16:31 +01:00
Mikolaj Wielgus
75bba51b0b
Fix board statistics drill grid column sizing
...
And remove the horizontal scrollbar.
2022-02-17 14:16:31 +01:00
jean-pierre charras
34ed850a23
GERBER_JOBFILE_WRITER: fix missing handling of User_1 to User_9 user layers.
...
Fixes #10878
https://gitlab.com/kicad/code/kicad/issues/10878
2022-02-17 11:48:40 +01:00
Jeff Young
71eefc8322
Don't force user to be overly pedantic when writing diffpair rules.
...
(cherry picked from commit fe7e72538e
)
2022-02-15 20:57:45 +00:00
jean-pierre charras
35968dfe18
DIALOG_PLOT: use a short living quasimodal dialog instead of a long living window.
...
In this case, a quasimodal dialog is the right way.
From master branch, commit 43f5a7c74
2022-02-15 09:24:16 +01:00
Seth Hillbrand
6147e997ff
Format string for translation
2022-02-14 09:17:53 -08:00
jean-pierre charras
54a3ca06c0
Pcbnew, DIALOG_GRAPHIC_ITEM_PROPERTIES: fix incorrect test for arcs.
...
It was due to mixing decidegrees and degrees, and seen for 180 deg arcs
Fixes #10841
https://gitlab.com/kicad/code/kicad/issues/10841
2022-02-14 09:46:57 +01:00
jean-pierre charras
0cb82a0985
Import netlist: fix issues: do not read netlist before it is selected.
...
Now the netlist must be explicitly selected and read instead of beeing
read during dialog creation.
It also avoid a useless netlist read when closing the dialog or trying
to change the netlist filename.
From master branch
2022-02-14 08:37:53 +01:00
Graham Keeth
30276fb5f7
update custom rule syntax help to make diff pair rule examples clearer
...
(cherry picked from commit 4442f76add
)
2022-02-13 20:15:47 +00:00
Jeff Young
f37531ed39
Fix repaints getting done after the wrong dialog.
...
(cherry picked from commit b7c9a1ad55
)
2022-02-13 18:37:44 +00:00
Jeff Young
fd4ac7c5df
Error messages for zone merging.
...
Also fixes a bug where zones meeting at a point would get merged
resulting in a self-intersecting zone.
Also fixes a bug where undo would not be handled correctly when zones
could not be merged.
Fixes https://gitlab.com/kicad/code/kicad/issues/10466
(cherry picked from commit d5a2059c21
)
2022-02-13 18:30:32 +00:00
Jeff Young
f561f85ebb
Move CN_VISITOR from HitTest() to Collide().
...
The former isn't sufficiently aware of layer differences (such as for
pads with some layers unflashed).
(cherry picked from commit 6e063247e5
)
2022-02-13 18:22:18 +00:00
Jeff Young
7cba8e847d
Don't use bounding box cache during insideArea.
...
For starters we can't rely on it having been updated, but we also
cache the entire result so there's no huge cost-savings anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/10821
(cherry picked from commit 8dcc933fc3
)
2022-02-13 18:20:31 +00:00
木 王
7c910c2d0b
fix-npth
2022-02-12 11:56:46 +01:00
Seth Hillbrand
861589d837
Use wxEmptyString instead of wxT( "" )
...
Also fixes places where ternaries did autopromotion instead of returning
an empty wxString
2022-02-09 10:33:52 -08:00
Seth Hillbrand
8fc831cbc2
Validate arc output when editing
...
Handles checking output of the arc to ensure we don't end up generating
an invalid arc. Also keeps the limit of the arc angle to be (360,360)
excluding 0.
Fixes https://gitlab.com/kicad/code/kicad/issues/10070
2022-02-06 17:18:04 -08:00
Jeff Young
3af606a020
Wide string decls for gerbview.
2022-02-05 19:59:29 +00:00
Roberto Fernandez Bautista
f412d8d461
CADSTAR: Fix potential nullptr dereferencing bug
...
Don't assume the footprint will have the pad index that the file references.
2022-02-05 19:22:05 +00:00
Marek Roszko
71bcc9883a
Fix typoed test condition for TH no hole pads PVS V501
...
(cherry picked from commit b9f1aaf029
)
2022-02-05 18:32:08 +00:00
Marek Roszko
be958e3fdb
Avoid potential divide by zero in footprint spreading PVS V609
...
(cherry picked from commit 8588bea4b2
)
2022-02-05 18:31:00 +00:00
Marek Roszko
b2c99dd953
Fix some leaking objects identified by PVS Studio V773
...
(cherry picked from commit a7ebfc31f9
)
2022-02-05 18:30:24 +00:00
Jeff Young
471c0c4c1d
More wide-string declarations.
2022-02-05 13:29:00 +00:00