Marek Roszko
24ca892afb
Update tinysplice to latest
...
A few years worth of bug fixes
2022-12-06 22:28:23 -05:00
Marek Roszko
61119fbf64
Poke a const to make gcc happy
2022-12-06 22:00:23 -05:00
Marek Roszko
c0b5fe58c3
Implement output targeting of symlib/fplib upgrade per request
2022-12-06 21:20:27 -05:00
jean-pierre charras
593dc9e8b6
Some fixes in Gerber job file:
...
- Ensure colors use a normalized value (normalized name or RnnGnnBnn notation).
- Better code.
2022-12-06 17:01:37 +01:00
Alex
008704fc6f
router: Allow highlighting both DP nets when routing.
2022-12-06 05:24:23 +03:00
Jon Evans
38a509e768
Properties: support bitmaps
2022-12-05 18:31:40 -05:00
Jeff Young
c771d866f5
Cleanup 3D caches before d'tors run.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10973
2022-12-05 22:39:09 +00:00
Seth Hillbrand
d8f94962ff
Prevent halting the main GUI thread
2022-12-05 11:10:57 -08:00
Alex
0089df8ca4
Update comment in zone filler.
2022-12-05 21:48:12 +03:00
Alex
c4aed1d941
Make sure that threads are not running after zone filling.
2022-12-05 21:36:59 +03:00
Alex
6d513e7ecf
Expose changing arc edit mode in arc button context menu and Preferences
...
Ctrl+Space can still be used to cycle through modes.
Fixes https://gitlab.com/kicad/code/kicad/issues/5412
2022-12-05 21:28:16 +03:00
jean-pierre charras
c3dddaf41f
panel_board_finish: mark board as modified when a finishing parameter is modified.
...
Fixes #13074
https://gitlab.com/kicad/code/kicad/issues/13074
2022-12-05 18:39:18 +01:00
Jeff Young
295ef6588d
Fix uninitialized variable.
2022-12-05 14:42:05 +00:00
Jeff Young
b7d41e0e56
Update simulator with NUMERIC_EVAL, decimal separator processing, etc.
...
Also includes fixes for instance data and resolving of textvar
references.
Also includes virtual d'tors for IBIS parser to get rid of all the
compile warnings on CLang.
Fixes https://gitlab.com/kicad/code/kicad/issues/12357
2022-12-05 12:40:29 +00:00
Alex
4482e9f634
Minor UI fixes.
2022-12-05 00:37:25 +03:00
Seth Hillbrand
47e7cd2e90
Don't allocate/delete a PG_UNIT_EDITOR unless needed
...
We cannot actually delete the PG_UNIT_EDITOR without substantial issues
from the global variables in wx.
2022-12-04 10:27:38 -08:00
Alex
90ad4dcc05
router: Various bugfixes in length tuning meandering
...
- When fine-tuning, keep adjust to the original baseline length
- Enforce a minimum amplitude based on settings, DP gap and track width
- Use binary search to fine-tune amplitude if the length is not trivial
- Account for inequalities in balancing
- Don't add the meander if adding it with min. amplitude will make the
tuning worse
- Keep a distance after meandering end to prevent overlaps in DP
Fixes https://gitlab.com/kicad/code/kicad/issues/9267
Fixes https://gitlab.com/kicad/code/kicad/issues/1776
2022-12-04 16:30:00 +00:00
Graham Keeth
ef83d01455
Minor string changes: "eeschema" / "pcbnew" in tooltips, and power port terminology
2022-12-04 14:29:57 +00:00
Jeff Young
f6822120b3
Enable tab and return commit in property grid.
2022-12-04 11:51:44 +00:00
Jeff Young
f805fd267f
Divorce UNIT_BINDER from wxFrame.
...
This allows us to supply Pcbnew or Eeschema as the unitsProvider when
called from the main frame.
Fixes https://gitlab.com/kicad/code/kicad/issues/13066
2022-12-04 11:51:44 +00:00
Jeff Young
96819f6c01
Better cache invalidation for text objects with references.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13059
2022-12-04 11:51:44 +00:00
Jeff Young
8c97a7b8c6
If fps contain complete board-edge holes then exclude those edges from main calc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12921
2022-12-04 11:51:44 +00:00
Seth Hillbrand
92266635cc
Add an advanced config value for the minimum sliver
...
The hard coded value was too small for certain calculations. Better to
have a configurable value that is initially set to our error level to
allow for deviations that don't meet the visibility test for spikes.
These have become more apparent with Clipper2
2022-12-03 16:03:43 -08:00
Seth Hillbrand
b5bd633625
Strict-order points in connection_width
...
The connection width checker uses morton codes to order elements. The
sort should be primarily morton-based but needs to be stable in order to
ensure that nextZ/prevZ elements are properly placed as the actual
next/prev elements in the list. Otherwise, hitting a fracture point
might make us skip in the wrong direction
Fixes https://gitlab.com/kicad/code/kicad/issues/12831
2022-12-03 16:03:43 -08:00
jean-pierre charras
497b368006
Pcbnew menubar: View/Drawing Mode/Sketch Text Items and Skecth Graphic Items:
...
Handle the Checked/Unchecked bitmap symbols of these 2 submenus.
2022-12-03 11:03:14 +01:00
Jon Evans
4134db3c47
GCC fixes
2022-12-02 22:38:15 -05:00
Jon Evans
050d282c12
Properties: Hide some copper-only properties from non-copper zones
2022-12-02 21:59:17 -05:00
Jon Evans
a5f7ecbe00
Properties: support text knockout
2022-12-02 21:46:03 -05:00
Jon Evans
0bc06d506c
Properties: reselect after canceled move
2022-12-02 21:40:21 -05:00
Seth Hillbrand
f9a36b9c91
Update thread_pool to 3.3
...
Fixes an issue with `wait_for_tasks()` and adds a lower-overhead
`push_loop` helper. We replace our usage of `parallelize_loop` with
`push_loop` as we didn't use the multi-future vector return and don't
need the extra overhead.
2022-12-02 12:01:34 -08:00
jean-pierre charras
50d34e232b
pcbnew: fix a bug that crashes pcbnew on startup when running under gdb/msys2
2022-12-02 15:14:17 +01:00
Jeff Young
bba8a0826e
Clear caches before undo operation.
...
The undo will remove/re-add items to the view in order to update the
RTree. However, if we only clear caches at the end (in the OnModify
call), then the (stale) bbox caches are still used for the re-add
operation, and they end up at the wrong place in the RTree.
Fixes https://gitlab.com/kicad/code/kicad/issues/13048
2022-12-02 10:59:48 +00:00
jean-pierre charras
93c631af44
drawing_stackup_table_tool: fix incorrect color of dielectric sublayers.
...
when a dielectric has sublayers, the printed color was always the main layer color.
2022-12-02 10:41:20 +01:00
Jon Evans
73b3f28c25
Properties: mask layer property for items that can't set it
2022-12-01 22:22:29 -05:00
Jon Evans
ef3f2a8f1e
Properties: ignore shape props for textbox
2022-12-01 21:54:12 -05:00
Jon Evans
e0ff8ba09c
Fix normalize flags for wx3.1
2022-12-01 18:49:08 -05:00
Alex
e56064696b
router: Refactor m_padToDieLength out of meander placer base.
2022-12-02 01:03:34 +03:00
Jon Evans
3b25fdc212
Properties: Fix zones stomping on position props for other items
2022-12-01 16:55:12 -05:00
Jon Evans
6066ccdfd5
STEP: Normalize path to kicad-cli
...
Keeping the path relative messes up the logic that loads the DSO
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12728
2022-12-01 16:55:12 -05:00
Jeff Young
3501ad1b4d
Record layer for starved thermal exclusions.
2022-12-01 18:04:34 +00:00
Jeff Young
20791c99ac
Allow conversion of single track segments and vias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13047
2022-12-01 17:15:29 +00:00
Alex
1aa05c0e10
router: Fix up single meander side switching.
2022-12-01 18:39:19 +03:00
jean-pierre charras
d7368588db
stackup manager: fix incorrect handling of colors for multi-layer dielectrics
...
The dialog allows a color selection for each dielectric layer.
However for a "dielectric" defined by more than one layer, the color was handled
only for the first layer, and not for the other sub-layers.
2022-12-01 16:19:13 +01:00
jean-pierre charras
c378d01068
code cleaning.
2022-12-01 16:01:38 +01:00
Jeff Young
6befa1c57e
A bit of cleanup to recent convert tool changes.
2022-12-01 14:53:13 +00:00
Jeff Young
4d8e73a630
Allow tracks as input to bounding hull generation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13047
2022-12-01 14:53:13 +00:00
Jon Evans
757b73e50e
Hide some unusable zone properties
2022-11-30 23:36:53 -05:00
Alex
7dbdb68730
router: ADDED option to create single-sided meanders.
2022-11-30 20:39:02 +00:00
Seth Hillbrand
b31349b679
Get consistent point for gfx import
...
TopLeftItem() should always return same element for our import
Fixes https://gitlab.com/kicad/code/kicad/issues/13041
2022-11-30 12:25:34 -08:00
Seth Hillbrand
cf33f33899
Standardize placement tool modifiers
...
PlaceImage, PlaceImportedGraphics and PlaceText need to handle the grid
and hotpoint snapping as well as the modifiers to disable them
2022-11-30 10:57:42 -08:00
Jeff Young
3c4c4e5166
Remove shortened debug time from zone refill message.
...
Also adds a time-out for it.
2022-11-30 17:38:02 +00:00
Jeff Young
074c087c21
Allow disabling of grid snapping while placing imported image.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13040
2022-11-30 14:38:22 +00:00
Jeff Young
98ab078905
Remember conversion strategy.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13043
2022-11-30 14:29:16 +00:00
Mike Williams
17bb57cc73
PCB: fix stale ratsnest between moves in Move Individually
2022-11-30 09:11:37 -05:00
Jeff Young
03f79f512c
Nullptr safety.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12966
2022-11-30 14:02:22 +00:00
jean-pierre charras
6dc1c9b0b7
Step exporter: filter very small segments when exporting them.
...
very small segments create issues in step export.
Add also more messages and more controls.
Fixes #13038
https://gitlab.com/kicad/code/kicad/issues/13038
Fixes #12905
2022-11-30 14:56:02 +01:00
Jeff Young
8dbd6fee00
Go back to smaller chaining epsilon.
...
Using a large epsilon here to allow for sloppy drawing can cause
the algorithm to miss very short segments in a converted bezier.
So use an epsilon only large enough to cover for rouding errors in
the conversion.
Fixes https://gitlab.com/kicad/code/kicad/issues/12951
2022-11-30 13:26:45 +00:00
Jeff Young
19eab62516
More safety around ratsnest state.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13011
2022-11-30 13:00:21 +00:00
Jeff Young
9fa8b9e49f
Fix memory leak and re-code non-memory-leak so Coverity can understand it.
2022-11-30 13:00:20 +00:00
jean-pierre charras
ec4fd42bee
Pcbnew: force courtyard area shape rebuild afret rotation/flip.
...
Fixes #13039
https://gitlab.com/kicad/code/kicad/issues/13039
2022-11-30 09:07:32 +01:00
Alex
8c468dcffc
Use ecoords for distance comparison in PCB grid helper.
...
Fixes a bug where a cursor would jump to a far location while hovering
over some 45-degree tracks.
2022-11-30 08:18:19 +03:00
Seth Hillbrand
e4b7bc82be
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
(cherry picked from commit be86e9f57f
)
2022-11-29 19:39:35 -08:00
Jon Evans
81ab8a0499
Properties: Move orientation to basic
2022-11-29 18:56:15 -05:00
Jon Evans
41ca2789a6
Get rid of shadowing warning
2022-11-29 18:12:39 -05:00
Seth Hillbrand
1a670f4673
Catch IO_ERROR thrown in timestamp gen
...
Missing nickname can throw when generating a timestamp, this should be
caught and prevent further work in the footprint loading (the entry does
not exist)
Fixes https://gitlab.com/kicad/code/kicad/issues/13029
2022-11-29 14:09:22 -08:00
Jeff Young
abd818a426
Update msgpanel after entering or exiting group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13031
2022-11-29 21:33:04 +00:00
Jeff Young
31eb91e9e5
Infobar for slow zone auto-refill.
2022-11-29 21:09:16 +00:00
Seth Hillbrand
0ee7f8e2bd
Fix 436f95e02e
...
NanoSVG does handle opacity (thanks Mark) but the check needs to be
unsigned if we are comparing the resulting down-shifted value against
zero
Fixes https://gitlab.com/kicad/code/kicad/issues/13033
2022-11-29 11:21:16 -08:00
Seth Hillbrand
436f95e02e
Don't look for alpha in nanosvg color
...
Nanosvg colors are only RGB, so we will never get an alpha value here.
Fixes https://gitlab.com/kicad/code/kicad/issues/13033
2022-11-29 10:44:03 -08:00
Jeff Young
b6bd74d822
Replace single zone fill under "draft" terminology.
...
Also sets Autofill Zones to default to on.
2022-11-29 18:13:36 +00:00
Seth Hillbrand
5fc5a2132b
Fix Properties panel to reference the correct frame
...
The properties editors are global but the frame that they reference is
not static, so we need to be able to update the frame reference when
restarting pcb editor from the main window. This updates the frame,
being careful to remove the signalling when closing pcbnew but keeping
the instance of the editor in place.
Fixes https://gitlab.com/kicad/code/kicad/issues/12297
2022-11-29 09:24:41 -08:00
Mike Williams
ad6ef35c9f
PCB: Add skip action to Move Individually
2022-11-29 15:42:03 +00:00
Jeff Young
6d52601241
Update stale tooltip.
2022-11-29 15:21:20 +00:00
Jeff Young
b2177718a1
Tighten up refresh logic for net & netclass references.
...
Also tightens it up a bit for text variables which can reference things
like netnames and netclasses, but also board settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/13032
2022-11-29 15:18:36 +00:00
Jeff Young
8260f0ee13
Add support for unitless values to PCB_EXPR_EVALUATOR.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13016
2022-11-29 14:24:20 +00:00
Marek Roszko
25d5defc10
Add cli for "fp" upgrade
2022-11-28 20:48:14 -05:00
Seth Hillbrand
bd40684ecd
Handle polygons' triangulation
...
Graphic polygons may be invalid and so need to be explicitly simplified
before triangulation.
Also clean up hole handling in triangulation routine
2022-11-28 15:46:12 -08:00
Jeff Young
8165fc6c44
Give up trying to infer what kind of polygon the user wants.
...
In many instances there are 3 valid answers: mimic linewidths, use
centerlines, and build a bounding hull.
Fixes https://gitlab.com/kicad/code/kicad/issues/12950
2022-11-28 22:12:53 +00:00
Seth Hillbrand
137b4de1c2
Allow groups in groups
...
This was allowed in the qa test, so we allow it going forward
2022-11-28 11:28:31 -08:00
Mike Williams
4a4fab78a3
PCB: allow swap while moving
2022-11-28 14:16:08 -05:00
Mike Williams
3042633f4a
PCB: block unroute and move individually when already moving
2022-11-28 14:16:08 -05:00
Seth Hillbrand
259e41be2d
Don't add non-groupable items to the group
...
Things like markers and netinfo should never get added to the group,
even if we are inside the group while adding the items
Fixes https://gitlab.com/kicad/code/kicad/issues/13026
2022-11-28 09:11:20 -08:00
Seth Hillbrand
d232ade752
Remove cloned items from groups
...
When destroying, the group must be null and there's no group purpose in
the DRC checks
2022-11-28 09:11:20 -08:00
Jeff Young
eb19e32b40
Performance optimization for pad drawing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12999
2022-11-28 13:20:12 +00:00
Jon Evans
b2b3f5752f
Properties: Add grouping and sorting by creation order
2022-11-27 22:40:23 -05:00
Jon Evans
64f315c649
Move properties panel to widgets with the other AUI panels
2022-11-27 22:40:23 -05:00
Seth Hillbrand
3460c50afa
Attempt to avoid double-free when shutting down on Windows
2022-11-27 16:21:06 -08:00
Jon Evans
5bbe21f540
Properties: don't rebuild the panel when closing an editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12984
2022-11-27 14:29:16 -05:00
Jeff Young
c0ab2258a4
Update LAYER_PAD_FR when F_Cu colour changes (and same for back).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13012
2022-11-27 18:55:00 +00:00
Jeff Young
ec9c6a8053
Separate creation of polygons for open and closed shapes.
...
This allows us to create a bounding hull from an open shape-line-chain,
which is useful for defining milled slots.
2022-11-27 18:29:41 +00:00
Jeff Young
740e193871
Increase bounding box of stroke text and the leader box of all text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13009
2022-11-27 15:27:30 +00:00
Jeff Young
1e3186b9cb
Allow pad-to-copper-graphic collisions in net-ties.
...
This is done under the same conditions as track-to-copper-graphic --
the pad or track must also collide with a net-tie pad, and the pad or
track to copper-graphic collision must be within the boundary of said
pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/13008
2022-11-26 15:04:33 +00:00
jean-pierre charras
3f50199dad
TEARDROP_MANAGER: fix a corner case that generate a invalid teardrop polygon.
...
Also add a better handling of connected tracks when searching for a track connected
to a too short track to create a teardrop, search was stopped to Y connections.
Now the selected track is the longest of these 2 candidates.
Fixes #13006
https://gitlab.com/kicad/code/kicad/issues/13006
2022-11-26 14:37:20 +01:00
Jeff Young
86d7638f10
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13005
2022-11-26 10:45:07 +00:00
jean-pierre charras
b3559ae12c
Minor fix: make DIALOG_EXPORT_STEP_PROCESS_BASE correctly re-sizable.
2022-11-26 07:40:48 +01:00
Jon Evans
74a2e4cad9
Properties: Add support for zone connection style
2022-11-25 18:44:02 -05:00
Jon Evans
96fe93618e
Properties: Stop sorting by name
...
It's more useful to have properties shown in add order,
since we can group them
2022-11-25 16:29:56 -05:00
Jon Evans
611c19016f
Properties: add support for string escaping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12975
2022-11-25 13:15:46 -05:00
Jon Evans
5061f0556f
Properties: implement ellipsization for name column
2022-11-25 12:37:47 -05:00
Jon Evans
220ef6fb44
Properties: Add some missing footprint properties; cleanup
...
Add concept of "internal" properties that will be accessible from
Python/DRC but not shown in the Properties Manager
2022-11-25 12:37:47 -05:00
Jeff Young
4aff5c7618
Keep courtyard caches alive during move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12999
2022-11-25 17:20:11 +00:00
Simon Richter
fbc321c4c1
Fix initialization order
...
This avoids a conditional branch on an uninitialized value in valgrind.
2022-11-25 16:00:23 +00:00
Jon Evans
8c7691fbc3
Harmonize on "Manager" for now, since we use that in the docs
2022-11-25 09:13:23 -05:00
Jon Evans
bbea5b3fbc
Save and restore properties and search panel sizes
2022-11-25 09:11:30 -05:00
Jon Evans
308576b78d
Properties: Use parent footprint references instead of UUIDs
...
Also remove redundant Net Name property (Net is used)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12334
2022-11-24 22:40:45 -05:00
Jon Evans
11e784cf10
Properties: specialize layer setting for footprints
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12480
2022-11-24 22:11:26 -05:00
Jon Evans
88495e5be1
Properties: Fix masking of layers for non-copper items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12884
2022-11-24 20:34:40 -05:00
Jon Evans
7a9467b0d5
Get rid of some gcc warnings
2022-11-24 17:05:58 -05:00
Jeff Young
32836da14b
Don't show annular rings controls for vias that span only a single layer.
2022-11-24 18:05:37 +00:00
Jeff Young
d6ae915616
Pay attention to layers when sorting pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-11-24 15:47:10 +00:00
Seth Hillbrand
47d86e5d9e
Don't crash when canceling graphics import
...
Grouped graphics need to have their group removed from the preview
before deleting the elements to avoid reading freed memory when
redrawing
2022-11-23 16:21:06 -08:00
Jeff Young
16db0440ba
Fix logic that was accidentally flipped in earlier commit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12962
Fixes https://gitlab.com/kicad/code/kicad/issues/12969
2022-11-23 23:10:28 +00:00
Jeff Young
1aad2fb37b
Change via keep-start-end to be start/end, not top/bottom.
...
The implementation used to always check F_Cu and B_Cu, rather than
where the via started and ended (which will be different for blind/
buried vias and microvias).
2022-11-23 21:37:50 +00:00
Jeff Young
5de4bfde93
Move drilled NPTH holes to hole-clearance checking. Edge-clearance
...
checking is just for milled holes (slots).
Fixes https://gitlab.com/kicad/code/kicad/issues/12980
2022-11-23 13:31:51 +00:00
Jeff Young
e62463b52b
Don't store optimized anchors in CN_ITEMs.
...
It appears that multiple RN_NETs can refer to the same CN_ITEMs meaning
that we run into threading problems if we modify the CN_ITEM.
Fixes https://gitlab.com/kicad/code/kicad/issues/12968
2022-11-23 00:46:06 +00:00
Mike Williams
60d42a7b1e
Spelling: fix various suppress misspellings
2022-11-22 13:47:10 -05:00
Jeff Young
b42d5da07d
Check keepTopBottom when determining whether or not to flash a pad/via.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12961
2022-11-22 18:18:43 +00:00
Jeff Young
8b1ffca7fa
Better reporting of nets and netclasses.
2022-11-22 14:54:08 +00:00
Jeff Young
97fd99ec99
Re-resolve netclasses after assigning netclass to pattern.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12965
2022-11-22 14:54:08 +00:00
Seth Hillbrand
9403b5ce99
Unescape strings in search panel
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12963
2022-11-22 05:51:31 -08:00
Jeff Young
50089ce558
Fix errors in handling of std::shared_ptrs.
...
We can't reset to a pointer owned by another std::shared_ptr.
2022-11-22 13:14:00 +00:00
Jeff Young
226529235c
Mostly const safety, but also performance opt. by avoiding shared_ptr overhead.
2022-11-22 12:21:30 +00:00
Seth Hillbrand
740dbdf09a
De-initialize propertygrid when done
...
There doesn't appear to be a nice way to de-register wxPropertyGrids, so
we need to reach into the singleton and remove our registered editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/12297
2022-11-21 16:36:00 -08:00
Seth Hillbrand
0e818360c4
Unescape netnames in search panel
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12960
2022-11-21 15:47:14 -08:00
Seth Hillbrand
50ecb5b498
Remove errant printf
2022-11-21 15:19:45 -08:00
Jeff Young
11130bfd88
Backing out earlier fix in favour of fixing std::shared_ptr usage.
...
Assigning to a reference to a std::shared_ptr does not update the
reference to a different std::shared_ptr; it changes what the
std::shared_ptr points to.
Fixes https://gitlab.com/kicad/code/kicad/issues/12968
2022-11-21 21:56:17 +00:00
Jeff Young
106508f266
Split ratsnest optimization into separate parallel threads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12968
2022-11-21 18:50:44 +00:00
Seth Hillbrand
3b31955d98
Get hit test in group members
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12957
2022-11-21 09:28:49 -08:00
Seth Hillbrand
01138a2e19
Fix fillet action for lines
...
Generalize fillet action behavior to all straight lines in pcbnew
Fixes https://gitlab.com/kicad/code/kicad/issues/4742
2022-11-21 07:01:14 -08:00
Jeff Young
c1510f07d8
Fix some issues with group bounding boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12958
2022-11-20 23:57:36 +00:00
Jeff Young
0120df014e
Give group the right parent when pasting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12954
2022-11-20 22:52:06 +00:00
Alex
12a55f20d3
Fix a mistake in grip margin.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12952
2022-11-21 00:25:19 +05:00
Alex
dd2f19ca5f
Allow router cursor snapping to points on the arc.
...
Also don't disable grid snapping when holding Shift over arcs.
2022-11-20 16:56:25 +05:00
Alex
110bc6abd1
Fix router cursor glitching on H/V track segments.
...
Also don't disable grid snapping when holding Shift over tracks.
2022-11-20 16:56:25 +05:00
Kliment
c5fe265eb4
Take axis inversion into account when importing graphics. Fixes #9351 .
2022-11-19 17:25:27 +01:00
Jeff Young
9b2606018e
Fix shadowed variable.
2022-11-19 11:53:33 +00:00
Jeff Young
bab2b6c4b6
Don't assume a 1:1 map between Altium and Kicad nets.
...
We've found at least one Altium board which has duplicate netcodes
for the same net.
Fixes https://gitlab.com/kicad/code/kicad/issues/12909
2022-11-19 11:53:33 +00:00
Jeff Young
b82ec9595a
Allow board importing into project.
2022-11-19 11:53:33 +00:00
jean-pierre charras
035031d902
BOARD_CONNECTED_ITEM::GetShortNetname(): protect against nullptr.
...
m_netinfo was not tested against nullptr in this method, although it is
tested in all other places.
2022-11-19 11:16:47 +01:00
jean-pierre charras
9f0c03db94
Export STEP dialog: Fix outdated text (virtual components). Replaced by
...
"not mounted components" and added a tooltip.
No actual code change.
Fixes #12922
https://gitlab.com/kicad/code/kicad/issues/12922
2022-11-19 09:31:37 +01:00
Alex
126d224e44
array_creator: Transform item before adding, modify only the first one.
2022-11-19 04:07:35 +05:00
Jeff Young
11dddefd05
Implement GetEffectiveShape for groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12940
2022-11-18 21:13:23 +00:00
Alex
38fd1c9985
pcbnew: Improve performance when something is selected.
2022-11-19 01:53:30 +05:00
Jeff Young
c409646aad
Update message panel after rebuilding connectivity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10122
2022-11-18 15:29:16 +00:00
Tomasz Wlostowski
24c271d508
router: GetUpdatedItems() now returns an unique_ptr to the temporary NODE so that the items it owns do not get deleted upon return from the method
2022-11-18 15:14:33 +01:00
Tomasz Wlostowski
644c76b9c6
router: follow up via force propagation interface changes in the via DRAGGER
2022-11-18 15:14:09 +01:00
Tomasz Wlostowski
dcfb35f002
router: more resilient via force propagation
2022-11-18 15:14:09 +01:00
jean-pierre charras
3960f48b5d
Fix a fatal compil error on gcc.
2022-11-17 08:39:42 +01:00
Jeff Young
bba6d503d4
Don't keep value of user or grid anchors between invocations.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12065
2022-11-17 00:51:52 +00:00
Alex
5e7c4b734c
Small optimizations in DRC and SHAPE_POLY_SET.
2022-11-17 02:10:22 +05:00
Alex
3dea146488
router: Clear rule resolver caches on routing/dragging start.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12907
2022-11-17 02:10:21 +05:00
Alex
3f790d9dae
Revert "router: Disable writing clearance cache for items in local variables."
...
This reverts commit 6d71f27500
.
Caused a performance drop in walkaround mode.
2022-11-17 02:10:20 +05:00
Jeff Young
cefc5268ab
Allow pads in selection and filter them for free-pads later.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12912
2022-11-16 18:37:40 +00:00
Alex
6d71f27500
router: Disable writing clearance cache for items in local variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12907
2022-11-16 21:19:56 +05:00
Jeff Young
1b3f03a800
Don't feed wxWidgets negative column widths.
2022-11-16 13:33:55 +00:00
Jeff Young
13f5c78e89
More tightening of group parent lifecycles.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12908
2022-11-16 00:42:38 +00:00
Tomasz Wlostowski
26a38797c7
router: log and replay the 'unfix' events too
2022-11-15 23:05:53 +01:00
Tomasz Wlostowski
b507c44d74
router: fix regression in Backspace (unfix/undo last segment) caused by redesign of the line placement algo
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12835
2022-11-15 23:05:53 +01:00
Alex
f9bfb8534f
Fix orientation of track netnames.
2022-11-16 00:43:06 +05:00
Jeff Young
5759a3a10a
Fix copy/pasta from previous commit.
2022-11-15 16:01:24 +00:00
jean-pierre charras
f13ffa8276
Step export: fix incorrect export of a pcb with multiple main outlines.
...
The code was existing but did not work fine with more than one outline
Fixes #6684
https://gitlab.com/kicad/code/kicad/issues/6684
2022-11-15 16:37:00 +01:00
Jeff Young
9724f6e736
Don't allow zone filling during other editing operations.
...
It's a very heavy op, and is likely to violate all manner of
assumptions the other ops make.
Fixes https://gitlab.com/kicad/code/kicad/issues/12736
2022-11-14 23:39:49 +00:00
Jeff Young
93c6d99a6d
Move saving preferences out of the destructor.
...
For other reasons we wrap the adapters in a wxDataObject, which has
delayed destruction semantics, but that means the settings stuff may
no longer be around when the d'tor executes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12371
2022-11-14 20:01:37 +00:00
Jeff Young
bc0a753238
Slight improvement to overly-wide checkbox columns.
2022-11-14 20:01:37 +00:00
Marek Roszko
e85a84b8a3
Fix the step export for now
...
Need to fix argparse to handle single quotes and double quotes better
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12899
2022-11-14 07:31:23 -05:00
jean-pierre charras
f51db4e093
Fix some Coverity and compil warnings.
2022-11-14 09:02:40 +01:00
Marek Roszko
50dcf258e6
Adjust the position file comment header
2022-11-13 18:43:49 -05:00
Marek Roszko
d3606cb4e4
Fix position export job not running
2022-11-13 18:42:23 -05:00
Jeff Young
f4944f0db3
Quiet clang getting its knickers in a knot over case fallthroughs.
2022-11-13 23:01:48 +00:00
Jeff Young
9d8fdd8d53
Fire selection events from SelectAll().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12896
2022-11-13 22:59:21 +00:00
Marek Roszko
cedef5912e
Link to zlib for pcbnew due to step
2022-11-13 17:58:41 -05:00
Alex
126914859a
Use correct pad to die lengths in DP length tuner.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12859
2022-11-13 21:07:09 +00:00
Marek Roszko
ea83449ef7
Change up the step export arg handling to single quote for now
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12890
2022-11-13 11:49:20 -05:00
Marek Roszko
0a8db3bb88
Fix forgotten handling of origin offsets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12889
2022-11-13 09:22:59 -05:00
Jeff Young
7089e99f4b
Integrate move individually into move algo so other commands don't choke.
...
Also adds commands to cancel and finish move individually.
Fixes https://gitlab.com/kicad/code/kicad/issues/12750
Fixes https://gitlab.com/kicad/code/kicad/issues/12749
2022-11-13 13:18:42 +00:00
Jeff Young
365674dfdf
Footprints in the footprint editor can't be in a group.
2022-11-13 13:18:42 +00:00
Jeff Young
6a9a1e6e65
Print hole walls if in colour (and printing real drill sizes).
2022-11-13 13:18:42 +00:00
jean-pierre charras
49ff3513e7
Add missing lib (libz) in lib list to link on msys2
2022-11-13 09:29:48 +01:00
jean-pierre charras
9c5fbdb040
Fix compatibility with OCC version 7.4 and older
2022-11-13 08:18:10 +01:00
Marek Roszko
066a609b39
Cleanup warnings in the step exporter
2022-11-12 21:52:54 -05:00
Marek Roszko
3dd2ae762d
Refactor step export to use our normal board processing routines
2022-11-12 21:27:10 -05:00
jean-pierre charras
248181e62d
Fix Coverity and compil warnings.
2022-11-12 16:02:24 +01:00
jean-pierre charras
90238dede8
PCBNEW_PRINTOUT: fix incorrect size of holes printed with the "small drill" option
...
Fixes #12880
https://gitlab.com/kicad/code/kicad/issues/12880
2022-11-12 16:02:24 +01:00
jean-pierre charras
31bad5baaa
Avoid duplicating similar options in print and plot headers
2022-11-12 16:02:24 +01:00
Alex
348c3d4216
Fix an incorrect calculation in length tuning tools.
...
MEANDER_PLACER_BASE::lineLength wasn't calculating the length correctly
when starting and ending pads were on different layers.
Naturally, now jointA corresponds to the start of the path, jointB to the end.
Fixes https://gitlab.com/kicad/code/kicad/issues/12881
2022-11-12 13:11:27 +00:00
Jeff Young
d9987e9569
Orig_items will have been invalidated by Revert.
...
Don't use it to rebuild the selection. Use the board_item flags instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/12882
2022-11-11 22:57:38 +00:00
Jeff Young
138f835672
Retire group bbox cache.
...
It's too hard to maintain when changes to other items (the groups
members) affect it.
2022-11-11 20:31:31 +00:00
Jeff Young
3fc727bb91
Clear selection before deleting objects during conversion.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12879
2022-11-11 17:53:01 +00:00
Jeff Young
03ba14c6d3
Tighten lifecycle management of parent group pointers.
...
Also adds some debugging to try to catch dangling pointers.
Also adds a cache for group bounding boxes (which will be expensive
to calculate for large groups).
Fixes https://gitlab.com/kicad/code/kicad/issues/12875
2022-11-11 17:27:28 +00:00
Alex
0b4fc8f50d
Fix bugs in PCB arc editing.
2022-11-11 15:00:36 +05:00
Alex
46d4861187
Use the 45-degree limit button to apply alternative constraint.
2022-11-11 15:00:36 +05:00
Alex
8b0f3f1ee7
Set keeping the center as the default arc editing mode.
2022-11-11 15:00:36 +05:00
Jeff Young
f846bc833b
Don't error out when enumeration of footprints fails.
...
We still want to load the ones that did enumerate.
Fixes https://gitlab.com/kicad/code/kicad/issues/12864
2022-11-10 13:48:04 +00:00
Jeff Young
36eb853570
Formatting.
2022-11-10 13:48:04 +00:00
Jeff Young
3e3ed0f3ee
Formatting and naming. (No functional changes.)
2022-11-09 16:31:29 +00:00
Jeff Young
da171b9665
0,0 origin isn't an option we give to the user.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12324
2022-11-09 16:20:52 +00:00
Jeff Young
3f63f9fc57
Don't prune inner layers of through-hole parts.
...
For historical reasons we've always included ALL inner layers in these
items and changing that has uncovered several latent bugs. Rather
than find all the rest this late in the game, I went back to storing
all inner layers, even those the board doesn't currently have.
Fixes https://gitlab.com/kicad/code/kicad/issues/12863
2022-11-09 15:58:14 +00:00
Jeff Young
63f937db85
Don't use drag origin for real drag events.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12763
2022-11-09 13:09:31 +00:00
Jeff Young
4066850f37
Use event point to determine if we're still in draggable item.
2022-11-09 13:09:01 +00:00
jean-pierre charras
85e44c2dae
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:33:51 +01:00