7
mirror of https://gitlab.com/kicad/code/kicad.git synced 2025-04-11 00:30:01 +00:00
Commit Graph

18698 Commits

Author SHA1 Message Date
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  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 .
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 .
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