Seth Hillbrand
759e1a64ef
Fix broken const ref in wildcard
2022-08-15 12:09:30 -07:00
Seth Hillbrand
35ac39844f
Clean up some auto usage
...
Don't make new copies of shared_ptr if we can use references. Keep auto
usage down to hard-to-type-out sequences
2022-08-15 11:29:45 -07:00
Jeff Young
db91bcbabf
Bump file format version for allow-soldermask-bridges-in-FPs.
2022-08-15 18:03:03 +01:00
Jeff Young
1f347582f8
Introduce new marker type so we can track DRC errors on the drawing sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12221
2022-08-15 18:03:03 +01:00
Seth Hillbrand
4b3ac52b1d
Fix shadowed variables
2022-08-15 08:03:30 -07:00
Seth Hillbrand
9828360759
Remove unused variable
2022-08-15 07:52:53 -07:00
Jon Evans
55bb374370
Fix crash when unloading board
2022-08-14 22:49:51 -04:00
Marek Roszko
c418b25756
Centralize the parseDouble functions in the parsers and gcc specialcase
2022-08-14 18:46:19 -04:00
Jeff Young
959681e472
Config Paths help is now inside the dialog, so we don't need quasimodal here anymore.
2022-08-14 22:56:29 +01:00
Jeff Young
86938aa425
Read, write and process the board-wide Allow soldermask bridges in FPs.
2022-08-14 22:56:29 +01:00
Jeff Young
a9536b5de9
CHANGED netclass assignments now done via canvas or via patterns.
2022-08-14 22:56:29 +01:00
Jeff Young
18ac169ac7
Add contexts to EDA_COMBINED_MATCHER.
2022-08-14 22:56:29 +01:00
Roberto Fernandez Bautista
6b349fdb0a
CADSTAR PCB: Allow remapping all non-electrical layers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12196
2022-08-14 22:24:17 +01:00
Roberto Fernandez Bautista
69d696660b
cadstar: Report warning that imported text may be different
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12195
2022-08-14 22:24:16 +01:00
Marek Roszko
a070959209
Switch from strtod to std::from_chars for performance
2022-08-14 16:19:24 +00:00
Seth Hillbrand
2ee65b2d83
Force removal of zero-sized pads on load.
...
Pads with zero width or height cause issues when rendering and
selecting. KiCad has never allowed these elements but hasn't prevented
importing systems where they exist. This prevents their import and
cleans existing designs where the pads are placed
Fixes https://gitlab.com/kicad/code/kicad/issues/12200
2022-08-13 19:10:48 -07:00
Seth Hillbrand
1ce8fc1614
Ensure arcs are handled in topology
...
Use the connection-independent `Anchor()` function to get connection
points for either arcs or segments in topology. This allows the
ratsnest to be correctly drawn between nets with arcs
Fixes https://gitlab.com/kicad/code/kicad/issues/12205
2022-08-12 20:07:28 -07:00
jean-pierre charras
488a53e71b
Fix a few minor Coverity warnings
2022-08-12 10:51:36 +02:00
jean-pierre charras
5616ef2e7c
ZONE_FILLER::buildThermalSpokes() fix incorrect spoke shape for pad shapes with offset.
...
Fixes #12201
https://gitlab.com/kicad/code/kicad/issues/12201
2022-08-10 15:27:28 +02:00
Jeff Young
d6cd55e133
ADDED esc-removes-net-highlight preference to PCBEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8760
2022-08-09 08:46:12 +01:00
Marek Roszko
f695ae5522
Generate const keyword_hash maps at compile time
...
Or else the map gets pointlessly recreated during footprint loading thousands of times
2022-08-09 00:56:49 -04:00
Jeff Young
a11f48ef10
Markers provider is no longer responsible for all markers.
...
Unconnected items and schematic partity violations are also now
represented by markers, so the ERC/DRC window itself needs to do
the deep-delete.
Fixes https://gitlab.com/kicad/code/kicad/issues/12182
2022-08-08 22:02:20 +01:00
Jeff Young
73402d733e
Add labels for icon buttons. (They're used by screen readers.)
...
Also fixes a bunch of annoying wxWidgets asserts.
2022-08-08 22:02:20 +01:00
Jeff Young
4423755176
Pretty up the Teardrops dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12170
2022-08-07 23:22:21 +01:00
Jeff Young
015bde8cb0
Test pad:hole violations in footprints as long as not same pad number.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12124
2022-08-07 19:49:39 +01:00
jean-pierre charras
05785ac6b9
Teardrops: use default zone settings instead of last settings set by the zone dialog.
...
Fixes #12171
https://gitlab.com/kicad/code/kicad/issues/
Fixes #12172
2022-08-07 08:52:40 +02:00
Jeff Young
509d233d97
Fix knockout text bounding boxes and hit testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12133
2022-08-06 00:00:04 +01:00
Jeff Young
6a9b821b5c
Fix order of initialization resulting in net assignment getting lost.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12168
2022-08-06 00:00:04 +01:00
jean-pierre charras
ea914eac9a
Pcbnew: fix regression: Display board info when clicking on a empty place.
...
Previously: the displayed info was "Selected Items 0".
2022-08-05 13:49:01 +02:00
Seth Hillbrand
129905686f
Fix error in net list sorting
2022-08-04 10:27:01 -07:00
Seth Hillbrand
090e70ccd2
ADDED: Have Net Inspector report lengths per layer
...
When tuning high speed traces, you may need to extract data per layer
rather than just the summary as signal speed varies based on dielectric
and trace type
2022-08-03 16:35:58 -07:00
Jeff Young
96f01d33c8
Performance improvements.
...
1) Move a bunch of std::map's to std::unordered_map to get constant-time
look-ups
2) Lengthen progress-reporting intervals to spend more time doing work
and less time talking about it
3) Reverse order of SHAPE_LINE_CHAINs in thermal intersection checks to
make (much) better use of bbox caches
4) Don't re-generate bboxes we already have
5) Fix some autos that weren't by reference (and were therefore copying
large datasets)
6) Rename delta progressDelta so it's easier to search for in future
7) Get rid of a few more autos (because I don't like them)
8) Pass large items to lambdas by reference
Fixes https://gitlab.com/kicad/code/kicad/issues/12130
2022-08-03 11:59:42 +01:00
Seth Hillbrand
76b9e25143
Cleanup unused code
2022-08-02 08:33:59 -07:00
jean-pierre charras
f0efa9af9d
gen_footprints_placefile: re-add option to negate or not the X coordinate.
...
This option is for footprints on bottom side, and not for Gerber format.
This option was existing in 5.x version, but lost in 6.x version.
Fixes #4638
https://gitlab.com/kicad/code/kicad/issues/4638
2022-08-02 11:22:12 +02:00
Seth Hillbrand
f5283c6133
Fix cherry-pick issue
2022-08-01 21:32:56 -07:00
Seth Hillbrand
e4ca2408d4
Net Inspector: Handle via layers
...
Rather than measuring the total via height, measure from the entry to
exit track height to get a more accurate distance
(cherry picked from commit 57de5a6b65
)
2022-08-01 20:25:27 -07:00
Seth Hillbrand
e0b3f6c258
PNS: Handle via-in-pad distances when tuning
...
Tuning with a via in pad, the via isn't a part of the full line. But we
still need to account for the line length distance of the
starting/ending vias. To do this, we simply measure the height from
the ending track to the ending pad and starting track to starting pad
(cherry picked from commit 82e8e38054
)
2022-08-01 20:25:17 -07:00
Jeff Young
9a4136de00
Implement annular ring checking for pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12109
2022-08-01 17:45:34 +01:00
Jeff Young
f3936f24ae
Go back to single-threaded sliver checker.
...
Something was unhappy with the multi-threaded version.
(Note that we still multi-thread the polygon-building, which is the
most expensive part.)
2022-08-01 17:45:34 +01:00
Seth Hillbrand
17fdb7c6a8
Prevent drag index from exceeding full line count
...
Simplification removes segments, so we might lose our valid index.
Ideally, we would simplify during the assembly or pass the input index
to the simplify routine to maintain the proper value.
Fixes https://gitlab.com/kicad/code/kicad/issues/12137
(cherry picked from commit 6c617d84ca
)
2022-08-01 08:58:28 -07:00
Seth Hillbrand
5207a8d8b4
Properly scope the island removal enum
2022-08-01 08:58:04 -07:00
Seth Hillbrand
9fbf9973be
Remove obsolete IsKeepout and KeepoutAll functions
...
These are superceded by IsRuleArea and the individual keepouts
2022-08-01 08:05:09 -07:00
Jeff Young
7556d7152f
Fix errant return and improve progress reporting.
2022-08-01 13:09:51 +01:00
Jeff Young
43df863df2
Fix issue with caches not being initialized when printing msg bar.
2022-08-01 13:09:51 +01:00
Jeff Young
0304ad4494
Move connection width testing to rule system.
...
Also copies connection width progress reporting architecture over to
the sliver checker.
2022-08-01 13:09:51 +01:00
Jeff Young
927bc8141b
Init member variables.
2022-08-01 13:09:51 +01:00
Jeff Young
f2f04b1d20
Better progress reporting for thermal connections.
2022-08-01 13:09:51 +01:00
Jeff Young
b0a9cea6f6
Better progress reporting, and don't report necks that don't have items.
...
Since we aren't searching zones (they aren't in the m_CopperItemRTreeCache)
this will drop all errors that are zone-only (which are better handled by
zone-min-width).
2022-08-01 13:09:51 +01:00
Jeff Young
4bc7c16ce0
Don't auto-fill zones due to DRC marker insertion.
2022-08-01 13:09:51 +01:00
Jeff Young
54213bb7f1
Cleanup and move to DRC_ENGINE's status reporter.
...
1) brace formatting
2) get rid of some autos
3) get rid of a dyn_cast that CLion claims is bad
4) use DRC_ENGINE's status reporter
2022-08-01 13:09:51 +01:00
Jeff Young
661caf1de9
Make sure new zones are filled when auto-fill is on.
...
Also fixes some issues with enablement of the Remove Islands stuff.
Fixes https://gitlab.com/kicad/code/kicad/issues/12123
2022-08-01 13:09:51 +01:00
Jeff Young
6f49b57f9b
Cleanup & performance enhancements.
2022-08-01 13:09:51 +01:00
Marek Roszko
a8505d9c76
SEARCH_RESULT -> INSPECT_RESULT
...
To fix the name squatting it's doing for future functionality
2022-07-29 20:01:10 -04:00
Jeff Young
f0b9e67212
Add ignore-line-widths mode to CONVERT_TOOL.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5911
2022-07-29 21:39:03 +01:00
Jeff Young
753f2f3e4c
Display descriptions in second column of library trees.
...
Also fixes some bugs in how the columns are sized.
Fixes https://gitlab.com/kicad/code/kicad/issues/12090
2022-07-28 14:51:47 +01:00
Jeff Young
fc1afa6298
Improvements to convert tool.
...
1) Handle filled shapes
2) If a chained outline can't be found, build hulls of the individual
segments
3) Combine intersecting shapes
4) Simplify code
Fixes https://gitlab.com/kicad/code/kicad/issues/git
Fixes https://gitlab.com/kicad/code/kicad/issues/5911
2022-07-27 18:57:45 +01:00
Jeff Young
2bf33321d1
Update constraint mode in status bar during move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10465
2022-07-27 18:57:45 +01:00
jean-pierre charras
aabc3b3cc6
FP editor: fix crash when duplicating a footprint.
...
Fixes #12098
https://gitlab.com/kicad/code/kicad/issues/12098
2022-07-27 19:08:27 +02:00
Jeff Young
cb6a2552d9
Use the FPEditor's status bar messages for FPBrowser.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11404
2022-07-26 18:45:02 +01:00
jean-pierre charras
4d48376eae
Fix some warnings detected by PVS-STUDIO (not used vars)
2022-07-26 16:00:14 +02:00
Jeff Young
ee0f93ed17
Fix some issue with hierarchy panel on OSX.
...
Also moves the option toolbars tight to the canvas for all windows.
Fixes https://gitlab.com/kicad/code/kicad/issues/12087
2022-07-26 14:51:43 +01:00
Jeff Young
032708860b
Include both text shapes and border shapes in textbox.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11806
2022-07-25 16:10:08 +01:00
Jeff Young
e10158ff10
ADDED show pin names on footprint pads when assigning to symbol.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4576
2022-07-24 23:41:41 +01:00
Jeff Young
1bad72f14f
Remove bad static_cast.
...
(m_settings isn't a PCBNEW_SETTINGS in non-PCB_EDIT_FRAMEs)
2022-07-24 23:41:41 +01:00
jean-pierre charras
82167a7c96
Avoid crashes when, for some reason, a dll cannot be loaded.
...
In this case a null pointer was returned by the internal code.
This pointer is now tested against nullptr to avoid the application crashing.
Fixes #12080
https://gitlab.com/kicad/code/kicad/issues/12080
2022-07-24 19:42:50 +02:00
jean-pierre charras
0604d7b813
Fix minor compil and Coverity warnings.
2022-07-24 09:33:43 +02:00
jean-pierre charras
c16d0603c6
Add fix missing in my commit 8eee7667
2022-07-24 09:10:51 +02:00
Jeff Young
fa679d3601
Pinned libs can also be found in program settings.
2022-07-23 20:17:04 +01:00
jean-pierre charras
8eee766791
Fix Cvpcb DISPLAY_FOOTPRINTS_FRAME: some display options not working. Commit 5e4a7041
moved 4 settings used in Cvpcb to a PCBNEW_SETTINGS struct. But in Cvpcb, this config struct does not exist. So these 4 settings are now moved to a section (PCB_VIEWERS_SETTINGS_BASE) common to Cvpcb and Pcbnew config.
2022-07-23 18:45:13 +02:00
Jeff Young
f0ef6932b8
Fix issues with plotting textbox outlines.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11943
2022-07-23 13:53:03 +01:00
Jeff Young
280ff3ccdc
Fix net highlight command enablement.
...
These always need to be enabled so that the current highlight can
be cleared.
Fixes https://gitlab.com/kicad/code/kicad/issues/12058
2022-07-23 12:42:11 +01:00
Jeff Young
9dd3bbf2cb
Change highlight net hotkey default.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12051
2022-07-23 12:34:48 +01:00
Jeff Young
bf5e649e44
Fix log errors in new solder masking checking code.
2022-07-23 09:26:04 +01:00
Jeff Young
f41af10007
Clean up hole shapes for safety (smart pointer) and consistency.
2022-07-22 23:06:07 +01:00
Jeff Young
a2c002e1da
Improve solder mask aperture testing.
...
1) For solder mask apertures report both the aperture and both
exposed items.
2) Don't process solder mask apertures in footprints with the
"bridging allowed" flag set.
Fixes https://gitlab.com/kicad/code/kicad/issues/12064
2022-07-22 23:06:07 +01:00
Jeff Young
5442d284f4
Improve strings for highlight net commands.
2022-07-22 09:31:11 +01:00
Jeff Young
def87c969e
Redo the pinned-libraries storage architecture.
...
1) always use preferences directly
2) allow nicknames from either preferences or project
3) store-after-modify
Fixes https://gitlab.com/kicad/code/kicad/issues/12000
Fixes https://gitlab.com/kicad/code/kicad/issues/11892
2022-07-22 09:31:10 +01:00
Jeff Young
b80fd5329d
Clear dimension pointer after committing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11864
2022-07-22 09:31:09 +01:00
Jeff Young
004abcd370
Leave originally selected items selected after cancelled move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12024
2022-07-22 09:31:08 +01:00
Marek Roszko
b6b4ae959e
Shuffle around the helper script folders
2022-07-21 19:04:08 -04:00
Seth Hillbrand
16e3d40552
ADDED: Display calculated clearance in status bar
...
In addition to showing resolved clearance, we also show the calculated
clearance in the same method as is used for DRC. This will allow users
to better examine their system while working.
Fixes https://gitlab.com/kicad/code/kicad/issues/7934
2022-07-21 15:44:48 -07:00
Seth Hillbrand
9b74372f9d
Minor spelling fix
2022-07-21 11:55:44 -07:00
Tomasz Wlostowski
e558893851
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)
2022-07-21 16:30:28 +02:00
Mike Williams
f8b157a1fb
PCB: Bitmaps should respect layer opacity and highlighting options
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12045
2022-07-20 14:59:19 -04:00
Jeff Young
012d861aab
Get rid of error-prone reverse logic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12049
2022-07-20 17:24:12 +01:00
Jeff Young
6a9c6e8599
Hook up ID_GRID_SETTINGS for footprint viewers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12030
2022-07-19 21:24:45 +01:00
Jeff Young
763c77eab8
DXF parameters are for DXF (only).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12021
2022-07-18 17:51:20 +01:00
jean-pierre charras
49bf717c0e
fix minor compil warnings
2022-07-17 20:29:59 +02:00
Jeff Young
1ade5a8c72
Fix typo.
...
And clean up the code just a little to make it clearer.
Fixes https://gitlab.com/kicad/code/kicad/issues/12022
2022-07-17 17:04:04 +01:00
Jeff Young
b727bfc16d
Performance: avoid sqrt at all costs.
2022-07-16 18:42:32 +01:00
Jeff Young
d0547cbde7
Don't allow 0 line-width for unfilled shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12010
2022-07-16 16:26:05 +01:00
Jeff Young
2f00b4e170
Delete multiple rows if selected.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12013
2022-07-16 12:07:15 +01:00
Jeff Young
aa9fe58abe
Don't duplicate user-defined track widths, via sizes or DP dims...
...
... when appending to board.
Fixes https://gitlab.com/kicad/code/kicad/issues/12014
2022-07-15 20:52:08 +01:00
Seth Hillbrand
c8a383a48e
Get via font fill/color correct when highlighted
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11802
2022-07-15 11:40:46 -07:00
Seth Hillbrand
595e5cb3f2
Add sort feature to pre-defined list
...
Board setup rows should be sortable when inserting new elements. They
get sorted when saving, this keeps that representation while editing
Fixes https://gitlab.com/kicad/code/kicad/issues/12015
2022-07-15 11:16:15 -07:00
Jeff Young
2de10080cd
Add edge and margin clearances to message panel.
2022-07-15 16:14:32 +01:00
jean-pierre charras
50bb7c93a1
Fix bug in commit 64e1720f
2022-07-15 17:03:05 +02:00
jean-pierre charras
64e1720f12
FP_SHAPE in pads: always specify fill mode for shapes that can be filled or not.
...
Fixes #12012
https://gitlab.com/kicad/code/kicad/issues/12012
2022-07-15 16:50:38 +02:00
Jeff Young
c98826c8b0
Open newly-pasted footprint on canvas of Footprint Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11398
2022-07-15 14:13:39 +01:00
Seth Hillbrand
93fb00d815
Protect the Kiway dereference
...
Also find a few more places where we are reaching into a new frame to
perform actions that need to have dialogs closed.
Running actions should also wait for the next cycle rather than being
immediately executed when we are calling into a new frame. This allow
for the cleanup actions onClose() to happen prior to the next action
starting
Fixes https://gitlab.com/kicad/code/kicad/issues/11891
2022-07-14 11:37:45 -07:00