Commit Graph

43293 Commits

Author SHA1 Message Date
Seth Hillbrand 4fff28220e Extract common code into VERTEX_SET mixin
The VERTEX_SET is useful when we need to quickly find elements that are
close to each other.  Extracting to a mixin keeps the code from
diverging between implementations and simplifies that maintenance.
2024-06-25 12:19:56 -07:00
Seth Hillbrand 3c88b1ebc7 Suppress fallthrough warnings 2024-06-25 12:18:44 -07:00
Seth Hillbrand 6aaaaad37f Properly count multiple Altium version settings
There is a fair amount of gradation in different Altium products

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18276
2024-06-25 10:18:55 -07:00
Seth Hillbrand 3725ae781d Quiet a warning on linux
Linux uint64 is unsigned long, windows is unsigned long long.  Rather
than split hairs, we can just use the stringstream to format this
2024-06-25 08:58:37 -07:00
Alex Shvartzkop fa5b6d7929 If there's a single shape in fuseShapesOrCompound input, just return it. 2024-06-25 14:56:33 +03:00
Jeff Young a2f7edde2e Import PCB into existing project.
Or, to be more direct: don't pull the project rug
out from under EESchema when importing in non-
stand-alone mode.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18241
2024-06-25 11:49:02 +01:00
Jeff Young 14a55facf2 Clearer naming and commenting.
Also some const& hygiene and some formatting.
2024-06-25 11:07:14 +01:00
jean-pierre charras 0a5784fc9e Gerber plots: Ensure reserved chars are not used in Gerber field strings.
In gerber fields, reserved chars (,*%) must be replaced, because they are separators.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18275
2024-06-25 10:49:41 +02:00
jean-pierre charras 1ddac57748 DIALOG_SYNC_SHEET_PINS: minor fix (min size set) 2024-06-25 10:44:48 +02:00
Alex Shvartzkop 4ec738f58f Fix macOS build. 2024-06-25 03:02:17 +03:00
Alex Shvartzkop 43be7491ff Add default constructor to MMH3_HASH. 2024-06-25 01:19:55 +03:00
Alex Shvartzkop bee70bca7f Fix redefinition error in mmh3_hash.h. 2024-06-25 01:15:47 +03:00
Jeff Young 441da8dfb6 Don't overload error dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18195
2024-06-24 22:50:14 +01:00
dsa-t cb41b53ab7 Use MurmurHash3_x64_128 (MMH3_HASH) for polygon checksum.
Improves performance when moving footprints.

See https://gitlab.com/kicad/code/kicad/-/issues/18148
2024-06-24 21:19:43 +00:00
Kuba Sunderland-Ober 8f02944437 Optimize the newstroke font representation
Remove redundant strokes that start where the last stroke ended.
2024-06-24 19:44:06 +00:00
Jan Wichmann 8507ffa338 pcb_calculator: Shows the first page at the first start. 2024-06-24 19:39:40 +00:00
Jeff Young 080cbbe0dd Error reporting for drawing sheet loading. 2024-06-24 20:22:29 +01:00
Jeff Young 26b86b3922 Don't use wxLogMessage/wxLogError for messages not meant for user.
They are particularly damaging when our event loop
gets tied up in knots with the log message window
behind a modal window -- thereby locking up KiCad.
2024-06-24 20:22:29 +01:00
Seth Hillbrand 11c6164934 Silence font replace warnings for libs
When loading schematics/pcbs, notification of font replacements might be
warranted but in libraries, this warning is not helpful and intrusive
2024-06-24 09:55:10 -07:00
Jeff Young 92c8ddfddb Prefer infobar to logged warnings/messages.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18242
2024-06-24 16:26:40 +01:00
Jeff Young b227bae2c6 Commit strings are user-visible menu strings. 2024-06-24 14:16:05 +01:00
Jeff Young 561106bd01 Formatting. 2024-06-24 14:14:03 +01:00
Jeff Young 968ef0082d Handle undo of a Repeat Draw Item.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18261
2024-06-24 13:59:05 +01:00
Jeff Young 0b4d0bcb6c Undo for Repeat Pin.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18261
2024-06-24 13:59:05 +01:00
Alex Shvartzkop 4bf8ed32cd Optimize testCourtyardClearances when moving footprints (33%->0.69%)
Check bounding boxes without hidden text first before trying to check courtyards.

See https://gitlab.com/kicad/code/kicad/-/issues/18148
2024-06-24 06:43:58 +03:00
Alex Shvartzkop dc56364cf2 Optimize testCourtyardClearances when moving a board.
CPU usage: 86% -> 33%

See https://gitlab.com/kicad/code/kicad/-/issues/18148
2024-06-24 02:00:34 +03:00
Alex Shvartzkop 69ee94f289 Fix crash when trying to draw a schematic polygon with no segments.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18246
2024-06-23 07:02:43 +03:00
Jeff Young 0040c290ed Don't flip alignment of non-side-specific text.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18235
2024-06-22 23:54:57 +01:00
Jeff Young aaf5c454ff Mask new shape properties from textboxes. 2024-06-22 23:54:57 +01:00
Jeff Young 5fba8289aa Formatting. 2024-06-22 23:54:57 +01:00
Alex Shvartzkop 0a75053e9d Revert "Handle degenerate arcs"
It is not needed anymore, and could cause problems
for legitimate arcs.

This reverts commit ff188450e6.
2024-06-22 22:13:18 +03:00
Jeff Young e450258c0f Show footprint change/update immediately.
Also, don't deselect selected footprints.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18248
2024-06-22 19:47:40 +01:00
dsa-t 3e480b6f6e Improve error message when trying to Open non-KiCad schematic files.
See https://gitlab.com/kicad/code/kicad/-/issues/18241


(cherry picked from commit d319cd4b89)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-06-22 17:35:57 +00:00
Wayne Stambaugh 4ee1415164 Fix Eagle schematic importer incorrect symbol value field and visibility.
Also fix a crash if an XML_PARSER_ERROR exception is thrown when importing
Eagle symbol libraries.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18232

(cherry picked from commit 566fefafc5)
2024-06-22 12:32:47 -04:00
Alex Shvartzkop 4e3488c2e0 Altium schematic import: fix power port styles.
Need to use the symbol name with style, like "VCC_CIRCLE", not "VCC".

Issue was introduced in d939004bbd

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18209
2024-06-22 06:45:26 +03:00
Alex Shvartzkop f6994702aa Fix arc edit points ordering in schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18254
2024-06-22 06:17:00 +03:00
Wayne Stambaugh 0ed72fb47a Fix broken rectangles in Eagle schematic importer. 2024-06-21 16:18:42 -04:00
Alex Shvartzkop 1613816e77 Fix EasyEDA/JLCEDA Pro 2.2 footprint/symbol library import.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18250
2024-06-21 22:20:54 +03:00
Alex Shvartzkop 84091b163e Fix warning: moving a temporary object prevents copy elision [-Wpessimizing-move] 2024-06-21 21:31:14 +03:00
Jeff Young c549a214c9 Performance: don't alloc std::vector in critical areas.
For some history, see also aa2ad3b44c
2024-06-21 19:07:46 +01:00
Wayne Stambaugh b494166b10 Fix empty label names when importing Eagle schematic. 2024-06-21 12:07:06 -04:00
Alex Shvartzkop ece46223c9 Fix shadowed/conflicting enum values. 2024-06-21 16:16:29 +03:00
Alex Shvartzkop 904055912b Fix attribute display comparison in EAGLE schematic import. 2024-06-21 16:16:24 +03:00
Marek Roszko acec5552c0 Don't use message as part of the assert dedup
kimath overflow can generate thousands of unique messages in one run lolol
2024-06-21 07:19:53 -04:00
Wayne Stambaugh 8df28d4f5f Fix crash in symbol editor when importing Eagle symbol library.
https://gitlab.com/kicad/code/kicad/-/issues/18221
2024-06-21 01:07:01 -04:00
Wayne Stambaugh 3df2109c43 Fix issues with the new Eagle schematic parser. 2024-06-20 23:07:59 -04:00
Ian McInerney 672d2c6af8 Always include footprint edgecuts in board edge bounding box
The footprint edgecuts should always be part of the board edge bounding
box, even if the layer the footprint is on is hidden from view.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18245
2024-06-20 23:17:54 +01:00
Alex Shvartzkop 1bb507e3c4 Reduce VERTEX_ITEM size by removing vfptr.
24 -> 16 bytes.
2024-06-20 19:08:07 +03:00
Alex Shvartzkop 7eb600e5a6 Fix typo. 2024-06-20 15:47:36 +03:00
Alex Shvartzkop 386651153b Improve EDA_ITEM memory layout slightly. 2024-06-20 15:33:56 +03:00