Commit Graph

43277 Commits

Author SHA1 Message Date
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
Alex Shvartzkop c40708c051 Optimize TEARDROP_PARAMETERS memory layout.
56 -> 40 bytes.
2024-06-20 15:05:45 +03:00
Alex Shvartzkop b143ffb797 Reduce KIID size from 20 to 16 bytes.
Removes separate legacy timestamp value.
2024-06-20 13:59:15 +03:00
Alex Shvartzkop f5be388acd Don't call GetSide in FOOTPRINT::GetBoundingBox when not needed.
CPU usage: -13% when moving a board.
2024-06-20 06:02:11 +03:00
Alex Shvartzkop 48f6f837a1 Optimize BOARD_ITEM::GetParentFootprint.
CPU -8% when panning a board.
2024-06-20 04:25:33 +03:00
Alex Shvartzkop ec271c20db Slightly optimize SEG::NearestPoint. 2024-06-20 04:25:33 +03:00
Alex Shvartzkop 62fb5697b4 Optimize redrawNetnames.
Using RTree is slower in this case.

RTree: 25 ms when moving cursor
This method: 5 ms when panning/zooming
2024-06-19 20:55:33 +03:00
Jeff Young 31ab276aaf Ease-of-use for un-commented ERC/DRC exclusions.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18220
2024-06-19 17:07:50 +01:00
Jeff Young 8e349eedf0 Bug fixes for PCB_TABLES.
In particular, rotated tables and tables in rotated
footprints.
2024-06-19 12:39:22 +01:00
Jeff Young 251ed2ee54 Formatting and "auto" reduction. 2024-06-19 12:39:22 +01:00
Marek Roszko 7c35139505 std::sqrt is not constexpr until C++26 2024-06-19 07:34:58 -04:00
Seth Hillbrand cde153c75f Avoid some overflows in KiROUND 2024-06-18 21:37:00 -07:00
Seth Hillbrand 9aba808366 Altium import
- Handle intermediate Altium version with some fields but not others
- Ensure that we are properly moving text that is not a box and not a
  field
2024-06-18 21:35:41 -07:00
Seth Hillbrand bf68b11ff9 Cleanup unused vars 2024-06-18 21:35:32 -07:00
Seth Hillbrand bcf6b620a8 Large rework of BEZIER_POLY
Add direct handling of quadratic beziers to save compute time and number
of points.  Update cubic interpolation to reduce number of points
generated for a given smoothness

Cache data on open and used cached data to avoid multiple re-calcs

Remove minimum line length and number of segments and replace with
standard max error level.  Allows us to specify the tolerance of bezier
interpolation
2024-06-18 17:55:41 -07:00
Seth Hillbrand 0d2c4c91fd Properly initialize fonttype for older Altium files 2024-06-18 17:55:31 -07:00
Jon Evans 81a1e9e83e Don't write out non-explicit tenting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18230
2024-06-18 17:52:42 -04:00