Commit Graph

43276 Commits

Author SHA1 Message Date
Seth Hillbrand 6dcb9bb664 Do not allow trailing/leading whitespace in mandatory fields
Reference, Value, Footprint and Datasheet all reference elements that
should not use trailing/leading whitespace or similar hidden charaters.
Other fields may utilize leading/trailing whitespace for obscure
purposes but won't break functionality as they are display only
2024-06-06 11:48:20 -07:00
Jeff Young edc7603d2a Make it clear that GetSheets() is heavy.
Also removes the side-effect that SCH_SHEET_LIST's
c'tor would sort the list (and write virtual page
numbers) anytime the starting sheet was the root.

Also, definitely don't build a SHEET_LIST (sorted or
otherwise) if you're not even going to use it.

Also don't build SCH_SHEET_LISTs on idle events.  Better
to just always have the Next Sheet button enabled (we
already beep if you click it and there's no next sheet).

Also, use a SCREEN_LIST when you can.  It's much cheaper
to create.
2024-06-06 18:00:59 +01:00
jean-pierre charras 616510aca2 Pcbnew, Altium import: Fix issues with hatched zones.
- Filled zones using the hatch pattern cannot use the primitives from Altium.
the filled shapes must be rebuilt.
_ Filled zones using the hatch pattern with a very small gap are now converted
to a polygon pattern. Otherwise the calculation time can be very big.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18156
2024-06-06 16:37:28 +02:00
Jeff Young cbfc692e24 Performance for large hierarchies: symbol fields table
Don't bother to sort sheet list when we're going to
sort the symbols anyway.
2024-06-06 11:53:01 +01:00
Jeff Young 758974f5aa Performance for large hierarchies: sorting
Cache page numbers during sort.
Don't construct SCH_SHEET_PATH when reference will do.
Don't construct SCH_SHEET_PATH when KIID_PATH will do.
2024-06-06 11:53:01 +01:00
Jeff Young a6e8cfe35f Performance for large hierarchies: avoid sorting
Don't sort SCH_SHEET_LISTs if we're just scanning the doc.
2024-06-06 11:53:01 +01:00
Jeff Young 44c588f122 Performance for large hierarchies: lazy eval
Don't create SCH_SHEET_LISTs until we have to, and then
only create them once.
2024-06-06 11:53:01 +01:00
Jeff Young e543ff0578 Performance for large hierarchies: lookups
Don't bother to sort sheet lists when we're just looking
up a UUID, sheet count, other symbol units, etc.
2024-06-06 11:52:57 +01:00
Jeff Young 68fbe98b1d Performance for large hierarchies: ERC
Share constructs between ERC tests.

Large SCH_SHEET_LISTs, in particular, can be very
expensive to construct.
2024-06-06 11:41:37 +01:00
Jeff Young 9b8f1109e6 Formatting. 2024-06-06 11:41:37 +01:00
Jon Evans 10922a194c Remove extraneous cache fill per row
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18159


(cherry picked from commit 64da49f22e)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-06-05 16:08:45 +00:00
Mike Williams f3d2f4af01 PCB: add fields checkbox to Edit Text and Graphics
Also add missing saves for dimensions checkboxes.
2024-06-05 11:50:17 -04:00
Wayne Stambaugh 82b310f666 Do not update schematic editor net navigator when it's not shown.
Since the addition of all nets to the net navigator, performance on very
complex designs is unacceptable.  Not updating the net navigator is a
cheap and dirty short term fix.  Users with complex designs will not be
able to use the net navigator.  A better fix to resolve the performance
issues needs to be implemented.
2024-06-05 11:46:19 -04:00
Jeff Young 9fb07d886e PCB_GENERATOR_Ts are PCB_GROUP_Ts too.
Also, an item must already be in a commit to add it to a group.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17595
2024-06-05 10:51:24 +01:00
Marek Roszko 944835eefc Add PCB_VIA equality operator overload 2024-06-04 21:34:14 -04:00
dsa-t 34f0fb8f21 Revert "Don't reset the view controls state just because we are setting the already active tool state again"
This reverts commit e914c0c1a0

(cherry picked from commit 6b7b6fa3e3)

Co-authored-by: Mark Roszko <mark.roszko@gmail.com>
2024-06-04 18:03:41 +00:00
Jeff Young 8e855156c8 Import child sheets relative to project, not parent.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17785
2024-06-04 17:47:55 +01:00
Seth Hillbrand 08f181115b Use KiROUND for consistency
Ensure that it is clear we are rounding to nearest point
2024-06-04 08:55:42 -07:00
Mike Williams 7679f40b2b SCH_REFERENCE: drop separate pointer to LIB_SYMBOL
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18115
2024-06-04 10:03:00 -04:00
Jon Evans 0b0a37aaf7 Move padstack serialization to PADSTACK
Also move a few more things from pad/via
2024-06-04 09:28:24 -04:00
Jeff Young 4f4311ba57 Use consistent positive rotation direction.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17580
2024-06-04 13:25:57 +01:00
Jeff Young 42caceb799 Tidy incorrect column width (and fix some formatting). 2024-06-04 13:00:02 +01:00
Jeff Young e5bad195b6 Fix a bunch of failures to resolve text variables. 2024-06-04 12:46:34 +01:00
Jeff Young 26fc2bd071 Reduce compiler warnings. 2024-06-04 11:18:45 +01:00
Jeff Young a74e834b33 Formatting. 2024-06-04 11:16:11 +01:00
Jeff Young 855c972156 Add regression test and example rule.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18142
2024-06-04 10:58:52 +01:00
dsa-t bc3ae8ca51 Don't construct an arc if we won't need it in pcbnew gfx importer.
(cherry picked from commit d34df3e951)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-06-04 04:21:06 +00:00
dsa-t ca18112041 Fix ellipse angles when importing DXF.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18121


(cherry picked from commit 044a2305e3)

Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2024-06-04 04:19:51 +00:00
Seth Hillbrand 590bd6237d Fix off-by-one error in distance check for arcs 2024-06-03 16:29:06 -07:00
Jeff Young 18e33a0957 Check drilled holes against other holes, even if laser burned.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18142
2024-06-03 21:53:37 +01:00
Seth Hillbrand 9f2c9636f0 Update conn minor check to use Advanced Config 2024-06-03 11:56:37 -07:00
Seth Hillbrand 74998790e8 Turn off incremental connectivity for small schematics
The benefit of incremental connectivity is only for larger
schematics.  For smaller schematics, the downside of larger bug surface
outweighs the current benefits
2024-06-03 11:33:29 -07:00
Seth Hillbrand d44bf89b98 Update wayland file location
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18141
2024-06-03 10:57:08 -07:00
Mike Williams 32289ffce7 schematic: fix broken undo of sheets, new and changed
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11855
2024-06-03 13:45:52 -04:00
Seth Hillbrand 549ea93be2 Fix typo 2024-06-03 10:41:37 -07:00
xx 4dffa6f9e8 Fix equal comparison in BOM_PRESET
Fixes #18097.
2024-06-03 16:33:34 +00:00
Jeff Young ec0fdfffff ADDED: markers for excluded-from-sim items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15382
2024-06-03 17:12:15 +01:00
Jeff Young 5e1a16e821 Regularize DNP printing & plotting with painting. 2024-06-03 12:53:37 +01:00
Jeff Young aca73b699c Fix uninitialized variables. 2024-06-03 11:44:10 +01:00
Jeff Young 6aab0d66c2 Fix uninitialized variables. 2024-06-03 11:44:10 +01:00
Jeff Young 900c7e0257 Centralize exclude-from-sim processing. 2024-06-03 11:44:10 +01:00
Jeff Young 40854cec0e Remove cover types. 2024-06-03 11:44:10 +01:00
Frank Muenstermann 63d828d5ff kicad-cli: The --precision parameter was not recognized, if unit was inch, the export crashed 2024-06-03 09:03:57 +00:00
Jeff Young aee7680a6c ADDED: support for DNP & friends at the sheet level.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14387
2024-06-02 22:41:22 +01:00
Jeff Young 1f69680d91 Expose global Field Name Templates to symbol editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2382
2024-06-02 19:31:27 +01:00
Jeff Young efd3cb115b Update Zone Manager for look & feel and coding stds. 2024-06-02 17:41:54 +01:00
charrasjp d163a72d49 French translation update 2024-06-02 15:09:08 +02:00
Jeff Young 14f3a22f3d ADDED: support editing unit in Reference Field Properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17362
2024-06-02 13:42:34 +01:00
Jeff Young 86d7cf5d96 Formatting. 2024-06-02 10:52:18 +01:00
Sven Pauli c7ad5efbed Implemented flip for tuning patterns. 2024-06-02 09:49:41 +00:00