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
Jeff Young
9e5e46514d
More wide-string declarations.
2022-02-05 13:29:00 +00:00
jean-pierre charras
ba70f202ce
Fix a compil issue.
2022-02-05 11:16:56 +01:00
Jeff Young
4657614e4f
More wxString wide literals.
2022-02-04 23:12:09 +00:00
Jeff Young
2365c1e96f
Add duplicated items to parent group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10155
(cherry picked from commit 42917874dd
)
2022-02-04 18:14:25 +00:00
Jeff Young
430c4862b6
Log an undo item when filling zones.
...
If we wanted to put it into the parent's undo item, then the *parent*
would need to not start a new undo record. Not starting one in the
zone filler tries to add it to the *previous* change, not to the parent
change.
Fixes https://gitlab.com/kicad/code/kicad/issues/10091
(cherry picked from commit 4cc1ced2f3
)
2022-02-04 18:14:25 +00:00
Seth Hillbrand
4c81307391
Allow dialogs to force evaluation of UNIT_BINDER
...
When setting previous values, we don't get the "OnFocus" event, so the
evaluation would not get triggered by simply repeating (using the
keyboard)
Fixes https://gitlab.com/kicad/code/kicad/issues/10752
2022-02-04 10:03:23 -08:00
Marek Roszko
50d3a507d0
Mark some limits as constexpr
...
gcc doesn't need it and computes during compile regardless, but experimenting in godbolt, both clang and MSVC actually do need it or else it's partially computed at runtime
(cherry picked from commit ca7840334c
)
2022-02-04 12:50:54 +00:00
Jeff Young
69b69aa431
Update text variables when they change.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10734
2022-02-04 00:34:20 +00:00
Seth Hillbrand
0a13f15a9d
Ensure we can version scripting properly
...
Adds Version() and FullVersion() calls to support reporting version to
scripts and scripting window
Fixes https://gitlab.com/kicad/code/kicad/issues/10079
2022-02-03 15:54:07 -08:00
Seth Hillbrand
ef94f31204
Update error message to match new arc dialog
...
We now provide arc end points and interior angle, so we cannot check for
null radius in the same fashion. Instead, the starpoint==endpoint
indicates a zero radius
Fixes https://gitlab.com/kicad/code/kicad/issues/10714
2022-02-03 14:31:58 -08:00
Seth Hillbrand
7601a3385f
Convert strings to wide when using wxString routines
...
WxString does not allocate space for wide strings needed during
conversion unless the string is explicitly wide. This can cause buffer
over/underflow
Fixes https://gitlab.com/kicad/code/kicad/issues/10605
2022-02-03 13:08:07 -08:00
Seth Hillbrand
901685f01b
Don't convert KIID on the fly
...
Converting to string on save prevent unneeded ops
2022-02-03 10:34:14 -08:00
Jeff Young
b883eee911
Use superclass's copy c'tor from within subclass copy c'tor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10481
(cherry picked from commit 8c758aeeb5
)
2022-02-03 15:00:39 +00:00
Jeff Young
2425444947
Map zone layers before checking their visibility.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10509
(cherry picked from commit 09d0f6e17c
)
2022-02-03 15:00:39 +00:00
Jeff Young
66e12af548
Expand text vars in titleblock before exporting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10197
(cherry picked from commit 407660201e
)
2022-02-03 15:00:39 +00:00
Jeff Young
ea38056e33
Resolve textvars in plot directory.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10405
(cherry picked from commit e5d5ee07f0
)
2022-02-03 15:00:39 +00:00
Jeff Young
c805144c08
Support (and save/recall) zoom in/out in Custom Rules editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5796
(cherry picked from commit 0036f44e37
)
2022-02-03 15:00:39 +00:00
Seth Hillbrand
6d84acfacd
Handle invalid pads more gracefully
...
Pads generated outside of KiCad may have self-intersecting polygons that
simplify to multiple sets. We handle this by adding multiple primitives
for such polygons and limiting our fracture calls to only polygons that
have holes
Fixes https://gitlab.com/kicad/code/kicad/issues/10712
2022-02-02 13:36:24 -08:00
Steffen Mauch
169881dcf1
EAGLE plugin: use specified RATIO value for text size calculation
...
(cherry picked from commit 61b2b0ff0c
)
2022-02-02 08:48:25 -08:00
jean-pierre charras
3d11ce5139
export D356 netlist: fix incorrect id for pads type connectors.
...
these pads are similar to SMD pads and should have the same id.
Fixes #10694
https://gitlab.com/kicad/code/kicad/issues/10694
2022-02-01 08:45:02 +01:00
Seth Hillbrand
833ce19221
Be more diligent in preventing drag line errors
...
They can happen even when there are no collisions, so we need to reset
the 'ok' flag before using the line again.
Fixes https://gitlab.com/kicad/code/kicad/issues/9555
2022-01-31 16:09:14 -08:00
jean-pierre charras
42dfdf8c38
PCB_CONTROL::unfilledZoneCheck(): skip rule areas: they are not filled by definition.
...
Fixes #10691
https://gitlab.com/kicad/code/kicad/issues/10691
2022-01-31 17:04:05 +01:00
jean-pierre charras
26dfc4477f
PCB_TARGET: add missing TransformShapeWithClearanceToPolygon() method.
...
From Master branch.
2022-01-29 20:07:14 +01:00
Seth Hillbrand
38a4894d92
Prevent multiple single-point line solutions
...
Suggested by @rivimey, we test the case where both lines return singular
point lines and prevent them leaking into our drag solution
Fixes https://gitlab.com/kicad/code/kicad/issues/9555
2022-01-29 07:07:03 -08:00
Seth Hillbrand
c2707f3cc0
Fix large memory leak in DRC
...
All elements get effective shapes, many of which get triangulated. This
memory needs to be freed when destroying the tree
2022-01-28 17:07:11 -08:00
Seth Hillbrand
8753051db6
Don't count zero-length as duplicate
...
We were checking for duplicate tracks by looking to see if the two
tracks had two shared points. A null track always matched this case,
which removed the valid track. We solve this by avoiding null tracks in
the duplicate checker. They are removed separately in the null track
stage.
This also fixes a GTK-specific tree issue where we require the
BeforeReset()/AfterReset() calls instead of Cleared() to prevent GTK
from dereferencing a parent after freeing
Fixes https://gitlab.com/kicad/code/kicad/issues/10624
2022-01-28 16:34:00 -08:00
Seth Hillbrand
8ae304dcca
Don't allow degenerate lines in dragger
...
If walkaround returns an invalid line, don't consider it for a track
Fixes https://gitlab.com/kicad/code/kicad/issues/9555
2022-01-28 15:18:42 -08:00
Seth Hillbrand
796893de56
Fix negative arc angles in PCAD import
2022-01-28 10:18:17 -08:00
jean-pierre charras
3f6a4296d9
Pcbnew, export svg: Fix incorrect saving of layer set.
...
From Master branch
2022-01-27 13:07:40 +01:00
jean-pierre charras
60ae18893e
PCB_POINT_EDITOR: fix missing init of PAD pos0 after changing
...
(From Master branch)
2022-01-22 10:43:23 +01:00
Steffen Mauch
d6c4215a1f
pcbnew: EAGLE importer does map value to wrong layer if nothing is defined in original EAGLE footprint
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10311
(cherry picked from commit 55b782d66e
)
2022-01-21 13:16:41 -08:00
Jeff Young
c02cadec2a
Exclude rules which match no enabled layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10227
(cherry picked from commit 0967cc82e2
)
2022-01-21 15:06:18 +00:00
Jeff Young
b608ebd058
Don't findnext on an empty string; show the dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10313
(cherry picked from commit 60fc75e239
)
2022-01-21 15:05:27 +00:00
Jeff Young
6d7659fb20
Flip arc endpoints when mirroring in FPEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10550
(cherry picked from commit 7f6bc28f87
)
2022-01-21 15:02:15 +00:00
Seth Hillbrand
dd7029ea07
Always use the project directory for default save
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10478
2022-01-20 11:51:16 -08:00
Wayne Stambaugh
da28ade004
Footprint editor: use most recently used path on footprint import.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10418
(cherry picked from commit c154e85ebd
)
2022-01-16 09:48:21 -05:00
Jon Evans
2306d00c89
Do not check key states for non-key events in TryBefore
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10127
2022-01-13 22:28:45 -05:00
Jon Evans
20bbf9b179
PNS: Do not clear layer pairs when importing new sizes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10225
2022-01-13 20:37:37 -05:00
Jon Evans
cf4d46b24d
PNS: Do not allow smart pads when in 90-degree mode
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10386
2022-01-13 20:21:19 -05:00
qu1ck
739c14eaa2
FOOTPRINT::GetProperty() swig extension
...
(cherry picked from commit 33a4c9b08e
)
2022-01-13 13:10:44 -08:00
Wayne Stambaugh
adfbfc27af
Footprint editor: fix Eagle plugin footprint library layer mapping bug.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10354
(cherry picked from commit a77b5649cc
)
2022-01-12 20:52:55 -05:00
dana
57d58fe335
Handle Unicode clipboard data in pcbnew and symbol editor
...
Fixes #10323
(cherry picked from commit 8373180cbb
)
2022-01-12 09:23:24 -08:00
Roberto Fernandez Bautista
b2ecf097ed
Include Footprints within Groups when re annotating duplicates
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10329
(cherry picked from commit de7158b80e
)
2022-01-11 20:52:01 +00:00
Seth Hillbrand
8dca61ce9c
Fix copy-paste error
2022-01-11 06:08:15 -08:00
Seth Hillbrand
bd7841bf96
Handle arcs in global track width changes
...
Also add defensive code against invalid indices
Fixes https://gitlab.com/kicad/code/kicad/issues/10325
2022-01-10 17:19:49 -08:00
Seth Hillbrand
a74d1d9962
Keep ratsnest setting when pasting
...
Paste items should copy the global ratsnest visibility setting
Fixes https://gitlab.com/kicad/code/kicad/issues/10346
2022-01-10 12:48:03 -08:00
Seth Hillbrand
4d899d7820
Remove default hotkey for toggle zone display
...
It is too easy to accidentally hide your zones and the 'A' hotkey is
intuitively mapped to Add Footprint, to match Add Symbol in eeschema.
This won't change current hotkey customizations but will help prevent
future user error. Users can still map the action to a hotkey if the
new toggle is useful to their workflow
2022-01-10 11:48:26 -08:00
Seth Hillbrand
4907b90215
Fix FP circle validity check
...
Radius is encoded by m_endX
Fixes https://gitlab.com/kicad/code/kicad/issues/10337
2022-01-10 10:54:23 -08:00
Wayne Stambaugh
bbf00e0461
Pcbnew: honor footprint exclude from BOM setting.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10297
(cherry picked from commit f379c49084
)
2022-01-09 11:30:06 -05:00
Jon Evans
76f21d950d
Ensure LIB_TREE cleans up while frame still exists
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10266
2022-01-08 17:32:17 -05:00
Seth Hillbrand
bfca928900
Plot pads in layer color
...
v6 pads are not allowed to be a different color from the rest of the
copper layer, so don't query the GAL layer for a color
Fixes https://gitlab.com/kicad/code/kicad/issues/10293
2022-01-07 08:55:59 -08:00
qu1ck
4bcfa8df1f
Template for vector<VECTOR2I> in swig
2022-01-06 23:48:52 -05:00
Seth Hillbrand
78e737b9d8
DRC scripting: load project from board if possible
...
s_SettingsManager is not always initialized when the WriteDRCReport is
run. We should first attempt to extract the project from the actual
board being checked. Failing that, we fall back to the static settings manager and then exit if we don't have a project associated.
Fixes https://gitlab.com/kicad/code/kicad/issues/10221
2022-01-06 11:50:21 -08:00
Steffen Mauch
362eedc510
pcbnew: EAGLE plugin is case sensitive to >VALUE / >NAME
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10253
(cherry picked from commit 82f147ecef
)
2022-01-05 08:07:41 -05:00
Steffen Mauch
11402e2db1
pcbnew: fixing eagle_plugin with empty class names
...
Fixes #10229
https://gitlab.com/kicad/code/kicad/issues/10229
(cherry picked from commit a5307c6f59
)
2022-01-05 07:22:01 -05:00
Jon Evans
f9d8ec6137
Handle footprint shapes in polygon creation
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10259
2022-01-04 21:31:22 -05:00
Jon Evans
e9b91b6fab
Fix creating polygons from footprint rule areas
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10257
2022-01-04 21:28:04 -05:00
Seth Hillbrand
873353d8d7
Prevent clipping by default
...
The text bbox inflation from fb4343bc
clips dimensions by default. This
restores the default size to not clip the dimension line. It is still a
bit larger than I'd like it to be but is usable
Fixes https://gitlab.com/kicad/code/kicad/issues/10033
2022-01-04 12:11:23 -08:00
Thomas Pointhuber
dec310f7f8
altium: Fix board outline import with arcs using SHAPE_LINE_CHAIN instead of a hack
2022-01-04 19:57:26 +01:00
Seth Hillbrand
ca8cf14dff
Fix missing FOOTPRINT cast in swig
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10236
2022-01-04 10:49:29 -08:00
Seth Hillbrand
ed9a3deb57
Fix pad snapping in renumber pads
...
Snap shouldn't be looking for other items in this routine or using the
grid
Fixes https://gitlab.com/kicad/code/kicad/issues/10238
2022-01-03 17:18:03 -08:00
Seth Hillbrand
1874ad2f7e
Catch errors from `load()`
...
Loading footprints may throw in some cases. We need to catch these
nicely without breaking out of the full loading process
Fixes https://gitlab.com/kicad/code/kicad/issues/10213
2022-01-03 15:30:20 -08:00