Mike Williams
f40b24d04a
groups: move actions to common actions
2025-04-01 14:34:20 -04:00
jean-pierre charras
76929808d3
PCB_TEXTBOX:: Rotate: fix size change for rotation by not 90deg
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20529
2025-04-01 19:55:53 +02:00
Jeff Young
a1fe0f7faf
Don't process grid-change events when we're rebuilding the grid.
...
The selection has already changed and it's too
late to update any values.
Also regularises the event.Skip() handling from
8a1347d2c8
.
2025-04-01 15:26:56 +01:00
Jeff Young
6f6ef8e626
Reset status popup.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20489
2025-04-01 14:36:02 +01:00
Jeff Young
5e0beb97ee
Nullptr safety.
...
KICAD-7DX
2025-04-01 12:19:56 +01:00
Jeff Young
2ce7535318
Stack objects should not have parents or groups.
...
KICAD-KXY
2025-04-01 12:19:50 +01:00
JamesJCode
9920751eb7
Fix net inspector thaw location to not break selection on MSW
2025-03-31 21:06:52 +01:00
JamesJCode
1202838135
Freeze net inspector data view when rebuilding the list of nets
...
Attempt to fix #20521 but it is very hard to reproduce
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20521
2025-03-31 20:47:03 +01:00
Jeff Young
6e566b2819
Remove shadowed type (DRILL_MARKS).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20522
2025-03-31 20:00:16 +01:00
Wayne Stambaugh
ef5cd6bb28
Merge PAD::addPadPrimitivesToPolygon() into PAD::MergePrimitivesAsPolygon().
...
It was only used in MergePrimitivesAsPolygon() and it was only a few lines
long.
2025-03-31 14:25:01 -04:00
Jeff Young
9b71102dd8
Don't presume there are at least two footprint text
...
defaults.
Yes, we ship that way, but a user could delete one
or edit their json file.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20398
2025-03-31 15:34:46 +01:00
JamesJCode
141097549c
Fix incorrect iterator container comparison
...
Fixes Coverity warning CID 548258
2025-03-31 14:39:28 +01:00
Wayne Stambaugh
2b0d082df5
Move all PAD object methods to into PAD object source file.
...
No functional changes. Just make it easier to find all of the PAD object
methods.
2025-03-30 11:35:06 -04:00
Jeff Young
9066ad3620
Report global physical_clearance issues before moving on to layers.
...
Also fixes a bug in reading m_LayerSource.
Also simplifies Edge_Cuts handling to better match
actual DRC checks.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20498
2025-03-30 14:22:56 +01:00
jean-pierre charras
79fbae00ce
FP editor preferences: Fix crash when closing (by OK) the dialog if no FP loaded.
...
After opening the PANEL_FP_EDITOR_FIELD_DEFAULTS panel, due to a null pointer
when no FP loaded in FP editor, closing the dialog by OK button crashed Pcbnew.
2025-03-30 11:19:37 +02:00
jean-pierre charras
97e1c107c9
PANEL_FP_EDITOR_FIELD_DEFAULTS: fix incorrect behavior.
...
One could not change the default layers for new fp texts
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20505
2025-03-30 11:19:37 +02:00
JamesJCode
906c24bc6d
Unify length calculation between router, board / frame, and DRC
2025-03-30 09:18:41 +01:00
Jon Evans
12861345d3
API: Brute-force fix for footprint modifications
2025-03-29 23:53:55 -04:00
JamesJCode
7a4325e610
Net inspector groups should be case insensitive
2025-03-30 00:04:37 +00:00
Jeff Young
60a26308ae
COMMIT lifetime safety.
...
If we pass a COMMIT to a posted action, the COMMIT
may no longer exist when the action is run.
Equally problematic, if another COMMIT is pushed
in between we'd probably also run into trouble.
We still allow the API to do this because we don't
have a better solution at present. But we need
one.
2025-03-29 21:24:08 +00:00
Jeff Young
baaf341d0d
Remove debug assert.
...
Yes, it does indeed fire (a lot, as Sentry can
tell us).
2025-03-29 21:24:08 +00:00
Jon Evans
31f3c44520
API: Clear footprint caches when making changes
2025-03-29 16:47:13 -04:00
Jon Evans
dc9fa2e2ac
More functional fix for IPC API item modifications
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20206
2025-03-28 20:27:45 -04:00
Jon Evans
3bac9344d2
Revert "Switch to operator= for item updates"
...
This reverts commit d0b22d21bb
.
2025-03-28 20:27:45 -04:00
Jeff Young
629a12ab2e
Don't obliterate user data when syncing copper layer count.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20484
2025-03-28 19:24:58 +00:00
Ian McInerney
fd94488289
Mark ODB++ as export-only
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20493
2025-03-28 15:32:03 +00:00
Jeff Young
151cb01795
Mirror pad numbers when appropriate.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20459
2025-03-27 23:28:30 +00:00
Mike Williams
a90b8ec57a
pcb: merge RunOnChildren/Descendants into one function with a mode
2025-03-27 13:16:09 -04:00
Jeff Young
79924b5dfd
Don't gate drill mark plotting on unenabled copper layers.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20460
2025-03-27 16:57:10 +00:00
Quentin Freimanis
78b6ca8256
clear itemByIdCache in IncrementTimestamp
2025-03-27 11:50:54 -04:00
Jeff Young
8076bfa3c7
Use std::optional to better flag presence of arguments.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20460
2025-03-27 13:58:11 +00:00
Jeff Young
96835cbfcf
Job layersets come in already parsed.
...
Only CLI argments need parsing at the handler level.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20460
2025-03-27 12:01:22 +00:00
Jeff Young
07eda5d57e
ADDED: report copper area for current selection.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20439
2025-03-27 10:14:30 +00:00
Jeff Young
d16a5bf87d
Formatting.
2025-03-27 10:14:30 +00:00
Jeff Young
88267c4a47
Formatting.
2025-03-26 16:49:36 +00:00
jean-pierre charras
99e65afa1f
Pcbnew, plot F&B Fab: ensure the DNP mark is plotted only on the right layer.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20458
2025-03-26 16:26:30 +01:00
Jeff Young
2ca09457b0
Formatting.
2025-03-26 14:50:34 +00:00
jean-pierre charras
3dfd164e2b
Fix typo
2025-03-26 14:55:25 +01:00
jean-pierre charras
3e51b2c647
Pcbnew, performance fix: rebuild the pad view only when mandatory.
...
The LAYER_PAD_HOLEWALLS shape needs a rebuild only when the zoom level changes.
So keep trace of the last GAL zoom level to rebuild the shape, and only rebuild
the view when needed
2025-03-26 13:19:00 +01:00
Tomasz Wlostowski
5f620f0fa1
router: don't try to lock the first vertex of a zero-vertex line. Might crash (sometimes).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/20440
2025-03-26 00:12:43 +01:00
Jeff Young
3380afd9fd
Auto-enable user layers that have custom FPEditor names.
2025-03-25 17:34:43 +00:00
Jeff Young
b5cd5d2e27
Remove performance disclaimers from Render Job Options.
2025-03-25 13:25:00 +00:00
Jeff Young
6181fa5a91
Code clarity.
2025-03-25 13:22:24 +00:00
Jeff Young
6e2914b990
Update terminology.
2025-03-25 12:05:54 +00:00
Jeff Young
ab43c3c6b5
Process non-copper keepouts in footprints.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20405
2025-03-25 11:52:34 +00:00
Jeff Young
9a7b82a8c0
MOVED: fp editor layer names to Display Options.
...
(It was on Footprint Defaults, which didn't make
any sense. Probably just ended up there because
there was similar code there.)
Also fixed a bug with accepting the dialog with
a grid cell editor open.
Also fixed a bug where the number of copper layers
would get set back to 2.
Also fixed a bug where the layer names weren't
getting updated in the Appearances tab.
2025-03-25 10:34:01 +00:00
Jon Evans
1c83f0a70b
Implement jumpers for footprints
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2558
2025-03-24 22:17:46 -04:00
Seth Hillbrand
074b511fab
Adjust OBJECT_DEPENDS for MacOS
...
It appears that MacOS only sees the last key/value for the
source_file_property whereas Linux/Windows see all depends. This works
around the different by getting the value first, accumulating in the
loop and setting once at the end
2025-03-24 14:07:23 -07:00
Jeff Young
d2b3f8ba28
ADDED: some individual flags for render jobs.
...
Also fixes bug where error code wasn't returned.
Also fixes bug where user's preferences were being
overwritten with each job.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20436
2025-03-24 20:00:13 +00:00
Mike Williams
6d0a8cd346
pcb design blocks: fix net code mismatch when saving selection
2025-03-24 10:21:27 -04:00
Jeff Young
9c375581ff
Don't assert (or crash) on shutdown.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20433
2025-03-24 12:36:44 +00:00
Jeff Young
0a4533703c
Performance.
2025-03-24 10:28:41 +00:00
Jon Evans
8921824128
Mark pad as dirty when changing layerset
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20435
2025-03-23 20:08:05 -04:00
Seth Hillbrand
36366e254d
Ignore autogenerated files
2025-03-22 08:04:31 -07:00
Mike Williams
e11cf94a3e
design blocks: add PCB design blocks behind advanced config
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2508
2025-03-20 15:13:52 -04:00
JamesJCode
e64239969a
Fix compiler warnings
2025-03-20 18:42:20 +00:00
Jeff Young
1b7f92f4c5
Refresh search when showing pane.
...
(Events will have been ignored while it is
hidden.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20009
2025-03-20 12:25:58 +00:00
Jeff Young
d3f57fac5a
Must assign extension to keep from stripping last '.' section.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20065
2025-03-20 09:48:08 +00:00
Jeff Young
0aa4f11970
Fix format string.
2025-03-20 09:48:08 +00:00
Jeff Young
f0c81e972f
Fix accidental ingoring of rotation angle.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20271
2025-03-19 17:16:55 +00:00
Mike Williams
18010b1104
selection: sort box selection by rows and columns by default
...
Some tools can take a selection order and it is nice to provide a
sane human-oriented default sorting when box selecting.
2025-03-19 10:25:35 -04:00
Mike Williams
7578439b0c
PCB editor: extend create array functionality to arrange existing items
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19919
2025-03-19 10:23:15 -04:00
Jeff Young
0a3ddd33ee
Use ERROR_INSIDE for knockout text (and a 0 gap).
2025-03-19 08:55:32 +00:00
Jeff Young
824c7ecfa7
Improve readability.
...
Also drops a parameter that hasn't been implemented
since early 2022.
2025-03-19 08:55:32 +00:00
JamesJCode
24a8c2a684
Ensure PNS length tuning calculation uses correct layer ID context
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20372
2025-03-18 12:37:16 +00:00
Jeff Young
142f8265c5
Simplify (and fix) plated copper differentiation.
...
Also a few fixes for 3D rendering textboxes and
tables.
2025-03-17 20:11:20 +00:00
Wayne Stambaugh
8fa48c7be2
Fix Coverity issue #514495 .
...
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=514495
2025-03-17 14:43:43 -04:00
Wayne Stambaugh
47984b6793
Coding policy house keeping.
2025-03-17 12:45:25 -04:00
Wayne Stambaugh
4131089260
Fix Coverity issue #544154 .
...
https://scan8.scan.coverity.com/#/project-view/22886/10844?selectedIssue=543084
2025-03-17 12:21:02 -04:00
JamesJCode
4a99a3060d
Add new DRC expression function isMemberOfSheetOrChildren
...
This allows the multichannel tool to search for footprints that are in nested
hierarchical sheets.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20339
2025-03-17 15:55:59 +00:00
Jeff Young
6c97a40b8c
Attempt to fix lack of initialisation on GTK/MSW.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20050
2025-03-17 11:42:11 +00:00
jean-pierre charras
60f65e68c1
Step export: handle castellated pads.
...
Only pads having the fab property "Castellated" are handled.
2025-03-17 11:14:53 +01:00
Jeff Young
1848401d5b
Update layer per page.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20352
2025-03-17 09:51:53 +00:00
Jeff Young
dd921354fc
Cleanup.
2025-03-17 09:50:06 +00:00
Jeff Young
413d6747c5
Collapse SCH_TABLE border drawing into shared code.
...
Also pushes GetCornersInSequence() into EDA_SHAPE
so it can be shared between SCH_TABLE and PCB_TABLE.
Also fixes bug in drawing column rulings over the
right external border.
Also fixes a bug with dialog control enabling.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20350
2025-03-16 20:21:49 +00:00
Jeff Young
1333c4c305
Move layer arg parsing up so we can handle user-defined layer names.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18773
2025-03-16 17:28:44 +00:00
Jon Evans
77747aa41e
Use UI order for drill report stackup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20069
2025-03-16 11:13:14 -04:00
Seth Hillbrand
676dd4ceec
Fix inheritance for git_common
...
Avoids repo type pointer issues when casting from void
2025-03-15 13:05:45 -07:00
Jeff Young
f9b19bbb5b
Fix is-same logic in updateFootprintParameters.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19988
2025-03-15 18:42:02 +00:00
JamesJCode
ede5faee72
Implement dynamic assignment of component classes
2025-03-15 14:33:47 +00:00
Seth Hillbrand
26c331a837
Adjust git handling
...
- Utilize scoped deletion for individual git_*_free() calls
- Protect against multiple usage when updating icons
- Reduce frequency of git update calls
2025-03-14 17:01:03 -07:00
Jeff Young
1ee3131e4a
Check silk/soldermask collisions in FP checker.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19707
2025-03-14 19:45:26 +00:00
Jeff Young
8894c470ef
Don't modify selection in the middle of a move/drag.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20239
2025-03-14 14:52:49 +00:00
jean-pierre charras
7f1b412203
plot mask layers: do not skip mask on track when solder mask min web is not 0
...
When solder mask min web is not 0, PlotSolderMaskLayer() uses GenerateLayerPoly(),
that skipped tracks (not updated since tracks can be on a mask layer)
2025-03-14 15:17:04 +01:00
jean-pierre charras
2210fc3518
minor compil warning fix
2025-03-14 15:01:01 +01:00
Jeff Young
3c32f4d31d
Refresh preview after rotate/flip/mirror during move.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19561
2025-03-14 13:17:52 +00:00
Jeff Young
e48a2b5ee4
Don't report non-meeting line-pairs.
...
We're called on each line pair, so a rect would otherwise
always report to failures for the two pairs of opposite
sides.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20326
2025-03-13 16:32:25 +00:00
dsa-t
18b5046fae
Fix Eagle PCB layers handling after v9 layer changes.
...
(cherry picked from commit 2bf369793c
)
Co-authored-by: Alex Shvartzkop <dudesuchamazing@gmail.com>
2025-03-13 17:48:56 +03:00
Jeff Young
93ea523eec
De-duplicate table border drawing code.
...
Also cleans up a misconception about table header borders,
and renames the getter/setter to be clearer.
Also makes sure that table cells are updated when the table
layer changes.
And another bug where we were writing the grey color value
back to the cell for hidden cells.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20319
2025-03-13 13:15:47 +00:00
Zenn Geeraerts
d31eeb5c1b
Use case insensitivity when loading Altium files
...
Altium is case insensitive, so our match for internal names should be also
2025-03-12 18:23:01 -07:00
Seth Hillbrand
1c245ad01e
Be sure to clear hit cache
...
When re-running the DRC creepage check, we need to ensure that the
element-element hittest set is cleared to report the same errors again
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20048
2025-03-12 11:48:21 -07:00
Seth Hillbrand
96794e94e3
Correct layerset calls
...
The Board layerset (because BOARD is a BOARD_ITEM) should return the
layers that the board contains instead of just the F.Cu. This assigns
the common function to map to the board-specific functions
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20317
2025-03-12 11:48:21 -07:00
Jeff Young
6df9c90440
Add textOnEdgeCuts to global DRC items list.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20308
2025-03-12 11:30:48 +00:00
jean-pierre charras
ccc396a6c2
BOARD::BulkRemoveStaleTeardrops(): fix bug that prevent removing a teardrop.
...
When a teardrop is the first zone (or the only one) in list (i.e. last tested)
it was ignored, and therefore not removed.
2025-03-12 09:44:45 +01:00
Jeff Young
b7ef57a97d
Apply Damjan's rotated table fixes to PCB_TABLE::GetEffectiveShape().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20143
2025-03-11 20:12:32 +00:00
Jeff Young
459cf030b8
Don't disable first internal layer in footprint editor.
...
It's used as a proxy for all internal layers.
Also fixes LAYER_RANGE_ITERATOR so that it works with an odd
number of copper layers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20246
2025-03-11 19:11:11 +00:00
Jeff Young
31b788c04f
Add a bit of protection from integer overflows.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19660
2025-03-11 15:11:31 +00:00
Jeff Young
b11b1a6f72
Ease in a bit more fmt::format().
2025-03-11 10:08:04 +00:00
Jeff Young
b569d919ea
No more invisible (non-field) text.
2025-03-10 21:58:30 +00:00
Jeff Young
567da3de91
Tables support for router.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20295
2025-03-10 15:45:42 +00:00