Commit Graph

14572 Commits

Author SHA1 Message Date
Seth Hillbrand a93c83d2fa Don't count non-coper SMD pads for likely type
We are only concerned for connected pads, not apertures

Fixes https://gitlab.com/kicad/code/kicad/issues/13387
2023-01-07 07:14:16 -08:00
Jeff Young 94847336a1 Bug fix for dark mode switch for layers palette.
Fixes https://gitlab.com/kicad/code/kicad/issues/13154
2023-01-06 20:43:33 +00:00
Seth Hillbrand 2399759c03 Allow default sexpr libs to have '.' and no .pretty
We default to KICAD_SEXPR format.  In this case, if the library doesn't
have the .pretty extension, the full directory name including a '.' is
the correct nickname

Fixes https://gitlab.com/kicad/code/kicad/issues/13388
2023-01-06 10:08:32 -08:00
Jeff Young 2cbb66d70d Dim other pads when in pad edit mode. 2023-01-06 11:13:57 +00:00
Seth Hillbrand 25f34a14a1 Check file starting signature when opening
Opening .brd files might be legacy or eagle (probably others as well).
We check for the starting "PCBNEW" in KiCad files to differentiate

Fixes https://gitlab.com/kicad/code/kicad/issues/10201
2023-01-05 18:10:22 -08:00
Jon Evans 1ccd387c8d Exit a group when selecting a component outside it
We had this filter in place when doing mouse selection, but not when
the selection comes from another tool event.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13398
2023-01-05 20:32:52 -05:00
Seth Hillbrand a6eb6d3228 Default to SMD if we have an SMD pad
SMD pads indicate that the footprint can be used in PnP more often  than
the presence of THT indicate that it cannot.

Fixes https://gitlab.com/kicad/code/kicad/issues/13387
2023-01-05 16:56:07 -08:00
Seth Hillbrand 126225866b Don't add footprint components to PCB group
Footprint components are only group-able inside of the footprint editor

Fixes https://gitlab.com/kicad/code/kicad/issues/13396
2023-01-05 15:38:07 -08:00
qu1ck 7dfa100ff0 Correctly refresh the board after action plugin run and maintain
selection
2023-01-05 14:05:15 -08:00
Jeff Young cbe5340d37 Allow pads in multi-select mode when nothing else would be selected.
Fixes https://gitlab.com/kicad/code/kicad/issues/13371
2023-01-05 17:02:50 +00:00
Marek Roszko fa7205ebbc Handle block insert scaling a little better but incompletely
https://gitlab.com/kicad/code/kicad/-/issues/11614
2023-01-04 21:22:36 -05:00
Marek Roszko 0e42cb19f2 Realize we can just describe the dxf arb axis with our MATRIX3x3 class 2023-01-04 20:42:56 -05:00
Seth Hillbrand 20d7ffd5d3 Ensure we are not trying to sort on an invalid col
Fixes https://gitlab.com/kicad/code/kicad/issues/13377
2023-01-04 13:56:25 -08:00
Seth Hillbrand 6271917682 Remove deprecated -py3 flag, use -O for swig 2023-01-04 11:32:15 -08:00
Seth Hillbrand 98d55ce82f Avoid rebuilding with each commit
We shouldn't include the kicad_build_info.h outside of the wrapper
build_info.h.  Also adds an error directive to prevent re-introduction
of define dependencies
2023-01-04 11:32:15 -08:00
Seth Hillbrand 14339aa786 Fix shadowing variable
Move check into switch block
2023-01-03 17:15:44 -08:00
Jon Evans ac3ed02283 Rework bitmap cache and enable it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12405
2023-01-04 00:26:45 +00:00
Marek Roszko 8ab9934143 Use our own cmake module path variable to avoid conflicting with the main ones listy functional 2023-01-03 19:18:16 -05:00
Jeff Young 375fdb7a49 Exact clearance is allowed; less than clearance is an error.
Also fixes a bug where the units weren't shown for extra precision
numbers.

Fixes https://gitlab.com/kicad/code/kicad/issues/13262
2023-01-04 00:03:11 +00:00
Mike Williams 1ba9a6abe3 Rotate/Mirror: unbreak immediate mode actions 2023-01-03 16:05:52 -05:00
Marek Roszko c2e7524cb6 Surpress the giant opencascade stats print unless we are tracing
Also catch Warn level messages to set a flag and print the relevant there were warning message

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8613
2023-01-02 18:34:32 -05:00
Jeff Young 056349e5ea Units for footprint preview widgets. 2023-01-02 22:12:26 +00:00
Jeff Young 67e6603699 Move updateUnits functionality to where it can be shared.
Also call it when adding a footprint via the chooser.

Fixes https://gitlab.com/kicad/code/kicad/issues/13340
2023-01-02 22:12:26 +00:00
Jeff Young f4bce6079c Prevent round-off errors from drawing one spoke and not the other.
Fixes https://gitlab.com/kicad/code/kicad/issues/13316
2023-01-02 19:23:52 +00:00
jean-pierre charras 07b4f88e6b Pcbnew: Fillet Lines tool does not set line width and layer.
When fillet a polygon or a rect, the resulting lines and arcs had incorrect
width and layer.
Fixes #13338
https://gitlab.com/kicad/code/kicad/issues/13338
2023-01-02 16:52:08 +01:00
Jeff Young 20f2232d4e Adjust dimension units when placing footprints on board.
Fixes https://gitlab.com/kicad/code/kicad/issues/13339
2023-01-02 12:39:35 +00:00
jean-pierre charras e8114dc49a Minor compil and Coverity warnings fixes. 2023-01-02 10:21:42 +01:00
jean-pierre charras 16fd586c41 Do not prune items/layers when copying the clipboard to the FP editor: all are allowed
(Some are disabled only for GUI)
Fixes #13334
https://gitlab.com/kicad/code/kicad/issues/13334
2023-01-01 13:35:05 +01:00
Gary Kim 8e8a3c7bdc
Do not translate name in version info
Leave the application name in version info untranslated when
viewed, copied, or used in a bug report.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13298
2022-12-31 20:28:45 -05:00
jean-pierre charras 9f56771611 Fix a typo 2022-12-31 11:41:04 +01:00
Jeff Young 53b6993d2b Don't report errors in first pass of board outline generation.
Segments which aren't used to build holes in footprints can still
be used by the second pass to build the board outline.

Fixes https://gitlab.com/kicad/code/kicad/issues/13321
2022-12-30 22:32:08 +00:00
Alex 95f5d92fc6 Fix length overestimation when first/last line segment enters a pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/13322
2022-12-30 16:27:59 +05:00
Alex 867a2e833d router: Hotglue the debug graphics back to pcbnew. 2022-12-30 14:44:48 +05:00
Jeff Young 4c63b4e061 Class name <-> file name sync. 2022-12-29 18:05:57 +00:00
Tomasz Wlostowski 7d40bbdf38 router: mark the head trace (as opposed to the 'fixed tail') with fully saturated color
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11386
2022-12-29 17:54:59 +01:00
Tomasz Wlostowski dfb1068358 router: improve heuristic to avoid segment drag 'flickery snapping'
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10113
2022-12-29 17:54:31 +01:00
Mike Williams 4bb1b4a3d2 Router: settings dialog fixes
Make keyboard activation of OK save settings instead of cancelling.
Also, fix the string for the shortcut so that it works (shortcut
unchanged).

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13303
2022-12-29 10:31:12 -05:00
Greg Davill 3b55f9e326 PCB Editor: Inform tools when selecting/unselecting net
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13308
2022-12-29 13:46:20 +00:00
lukas-heiligenbrunner 29e51cc198 fix quoting of layernames 2022-12-29 09:01:11 +00:00
Mike Williams 411efe6f3d PCB Editor: Allow mouse drag of group-of-groups
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13076
2022-12-28 15:23:52 -05:00
Mike Williams 0c415a7190 PCB Editor: make rotate menu bar items conditional on selection items 2022-12-28 13:33:35 -05:00
Mike Williams d62681f6db PCB Editor: fix pad preview sketch mode not applying immediately 2022-12-28 12:27:57 -05:00
Jeff Young e7300ffb5c Improved column sizing in library setup dialogs. 2022-12-28 16:27:03 +00:00
Jeff Young 8d4694a83e Iterator safety.
Move mergeSegments to a lambda so we can more easily break out of the
nested for-loops when we find a merge.  We really need to start over
again at that point as we may have invalidated our connectivity items
iterator.

This also means we don't have to queue up all the track pointers, which
should get us a _little_ bit of the performance back.

Fixes https://gitlab.com/kicad/code/kicad/issues/13287
2022-12-27 20:14:13 +00:00
Mike Williams 741d1e043a PCB Editor: make Mirror menu items conditional
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13230
2022-12-27 14:18:47 -05:00
Jeff Young c85590a470 Correct is-inside logic.
Fixes https://gitlab.com/kicad/code/kicad/issues/13259
2022-12-27 14:34:35 +00:00
Jon Evans ee0a41e3bc Remove excess calls to SelectedItemsModified
We really don't want to post these events unless the *selected* items
were actually modified, since it results in a redraw of the properties
panel (which disturbs edit state and causes flicker on MSW).

Now the COMMIT system is responsible for sending this event iff the
commit touches items that are selected.

Side note: UpdateMsgPanel is useless on every app except pl_editor, so
it can probably be refactored/removed at some point.
2022-12-26 20:57:58 -05:00
Jon Evans 5eb3f5d3e7 Use correct translation macro for group names
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13277
2022-12-26 20:11:20 -05:00
Jon Evans dee5357d4d Properties: give focus back to canvas after committing changes
Only needed on MSW, but safe to enable everywhere I think

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13275
2022-12-26 16:46:03 -05:00
Jeff Young ab6aa08f33 Fix typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/13263
2022-12-26 20:33:04 +00:00
Jeff Young 1f3727f548 Assigning a netclass has no meaning in fp editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/13267
2022-12-26 20:33:04 +00:00
Jon Evans f214f6f44c Temporarily work around buggy zone refresh behavior
The actual problem is that EVENTS::SelectedItemsModified (via EDA_DRAW_FRAME::UpdateMsgPanel) is being called on every OnModify call, where it really should only be called if the *selected* items are modified.  This problem will take longer to fix.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13279
2022-12-26 14:04:53 -05:00
Jeff Young eb5a831a99 Fix typo. 2022-12-26 14:11:46 +00:00
Jeff Young 0094a0fc15 Treat teardrops as tracks not zones for disallow constraints.
Fixes https://gitlab.com/kicad/code/kicad/issues/13264
2022-12-26 11:33:09 +00:00
Jon Evans fbaf4af489 Properties: Allow dynamic update of read-only state 2022-12-25 20:35:44 -05:00
Jon Evans b85fab9ab6 Support DXF ellipses and elliptical arcs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12563
2022-12-24 22:46:07 -05:00
Jeff Young 5dce8323e8 KIGFX::REPAINT is not enough if the item isn't in the view.
Fixes https://gitlab.com/kicad/code/kicad/issues/11656

Fixes https://gitlab.com/kicad/code/kicad/issues/13217
2022-12-24 17:18:22 +00:00
Jeff Young 34e134c5e5 Don't allow clearanceEpsilon to force clearance < 0.
Also, a plated hole has the max clearance of hole_clearance and
copper_clearance.

Fixes https://gitlab.com/kicad/code/kicad/issues/13237
2022-12-24 12:56:41 +00:00
Marek Roszko 020f8f61db Let's try fixing the doxygen-python again 2022-12-23 23:11:04 -05:00
jean-pierre charras 59f0e428fa Fix a PnS router issue doesn't respect knockout texts.
Fixes #13251
https://gitlab.com/kicad/code/kicad/issues/13251
2022-12-23 18:17:44 +01:00
jean-pierre charras eef47c2a79 DRC: ensure tracks are tested against holes, even if hole clearance is set to 0.
Even with clearance = 0, copper to hole must be tested because it cannot be
inside the hole
2022-12-23 14:06:10 +01:00
Marek Roszko e152cf0a92 Undo one doxygen-python build change, remains broken 2022-12-22 21:35:21 -05:00
Jon Evans e19fb101ef Properties: Show basic marker props 2022-12-22 17:45:16 -05:00
Jon Evans 18788b03eb Properties: Hide unsupported hyperlink property 2022-12-22 17:45:16 -05:00
Jon Evans 2b4cafe9f7 Properties: Fixes for arc tracks 2022-12-22 17:45:16 -05:00
Jon Evans 4a0588db7a Properties: translation fixes 2022-12-22 17:45:16 -05:00
Jon Evans cc2b107649 Footprint Viewer: resolve canvas type after menus are created
SaveSettings can't be called until the menus are in place

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13243
2022-12-22 12:14:55 -05:00
Marek Roszko 8bfec30761 Fix the pcbnew.py dependency causing the doxygen to fail
The doxygen-python target recreates pcbnew.py that got deleted by xml-to-docstrings
2022-12-21 23:49:23 -05:00
Marek Roszko caeb579174 Fix the dependencies for the python doxygen build
DEPENDS was being used for targets which is invalid for add_custom_target...as confusing as that is.
It is files only.
2022-12-21 23:39:35 -05:00
Seth Hillbrand 1cc9792cdb Fix snapping dist when disabling grid
The disable grid hotkey should allow the snap scale to be completely
determined by the snapSize and world scale.  This prevents snapRange
from overriding in the case where grid is disabled.

Additionally, we disallow grid snapping when the grid scale is not
visible.  This means that when zoomed out sufficiently to not show the
minor ticks, these minor ticks will not override a snap

Fixes https://gitlab.com/kicad/code/kicad/issues/12303
2022-12-21 17:47:45 -08:00
Jon Evans 1590e48ec1 Use translated strings for property display 2022-12-21 18:03:15 -05:00
Mike Williams 47dc2379d8 PCB: Fix issues with grab unconnected
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13232
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13233
2022-12-21 15:10:19 -05:00
Jeff Young e28f6ecc00 Fetch a better location for keepout area collsions.
Fixes https://gitlab.com/kicad/code/kicad/issues/13220
2022-12-21 18:22:15 +00:00
Alex e8f755c665 router: Match segment endpoint calculation between dragger and the tool.
Prevents always picking point A when dragging short segments.
2022-12-21 20:55:49 +03:00
Alex 75053cfc57 Remove normally unused code from Move function.
Fixes https://gitlab.com/kicad/code/kicad/issues/13222
2022-12-21 19:06:32 +03:00
Mike Williams 5d94d2634e PCB Editor: make locking menu items conditional
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5202
2022-12-21 10:34:54 -05:00
jean-pierre charras 44ab6876d9 fp editor: remove useless "Unroute Selected" from context menu.
Fixes #13229
https://gitlab.com/kicad/code/kicad/issues/13229
2022-12-21 13:11:51 +01:00
Tanay Gupta b0cbab5c4b Footprint Editor: Focus search field when window is first opened
The search field on the Symbol Editor is focused when its window 
is first opened. Similar behavior has been implemented in the search
field of the Footprint Editor with this change.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13100
2022-12-20 19:54:02 +00:00
Mike Williams bd24e85289 PCB: Add Copy With Reference to the Positioning Menu
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11947
2022-12-20 11:54:05 -05:00
jean-pierre charras 161a1e21f5 PnS router: NPTH can be on copper layers, depending of the pad size and the hole size.
Now: round NPTH with a round hole bigger than the pad are not on a copper layer.
Other pas shapes are seen on copper layers (far from ideal, but reasonable)
Fixes #13214
https://gitlab.com/kicad/code/kicad/issues/13214
2022-12-20 12:50:22 +01:00
Jan Mrázek f601c87cea Export UNITS_PROVIDE into SWIG 2022-12-19 17:30:37 +00:00
jean-pierre charras abff7975f1 Python scripting: fix some issues when trying to create a DRC Report:
- avoid aborting the DRC report on a .dru issue without any error message.
- ensure the list of layer names is up to date (contains both canonical
and user layers names, that can be used in DRC tests.
Fixes #11410
https://gitlab.com/kicad/code/kicad/issues/11410
2022-12-19 12:39:20 +01:00
jean-pierre charras 6c73fe05e9 python scripting: better fix for commit 5a79821 (fix crash due to a null pointer):
Try to use a better error message for severity.
Fixes #13160
https://gitlab.com/kicad/code/kicad/issues/13160
2022-12-18 18:31:19 +01:00
Ian McInerney 639626fda4 Include the proper header instead of the entire lockfile function 2022-12-17 23:37:24 +00:00
Ian McInerney 82a11c71af Clean up extra control creator logic in pcbnew save file dialog 2022-12-17 23:37:24 +00:00
Jon Evans 5abf73e3c9 Never call ReCreateMenuBar inside a menu event handler
As of wxWidgets 3.2, the wxWidgets event handler runs code after the
the client event handler that depends on the menu still existing.
Because there are potentially many paths to call ReCreateMenuBar from
within a menu event handler, let's just wrap this action in a CallAfter
to make sure it happens after the wx handler call completes.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13149
2022-12-16 16:37:51 -05:00
Jan Mrázek 90fb315113 Add missing text alignment types to SWIG export
Fixes https://gitlab.com/kicad/code/kicad/issues/13174
2022-12-16 18:55:21 +00:00
Jan Mrázek e699c25d98 Add operators for the SWIG wrapper of EDA_ANGLE 2022-12-16 18:55:21 +00:00
Jan Mrázek 66c2462c7e Eliminate angle as double in SWIG wrapper
Fixes https://gitlab.com/kicad/code/kicad/issues/13171
2022-12-16 18:55:21 +00:00
Seth Hillbrand 66e9d5c61c Return reference rather than copy
No need to return a const copy by default in GetItems().  The const
reference will be faster.  Thanks to @GyrosGeier for the suggestion
2022-12-16 10:52:57 -08:00
Jeff Young 12ea3e0822 Fix wxWidgets crankiness. 2022-12-16 00:53:53 +00:00
Jeff Young 7750d2e00e Microvias always use separate uvia netclass properties.
There is no current microvia size/drill.

Fixes https://gitlab.com/kicad/code/kicad/issues/13176
2022-12-16 00:10:03 +00:00
Simon Richter b5cb9eccbf Generate dependency files from Swig
The wrapper is only rebuilt if one of the files that were parsed during
generation has changed.
2022-12-15 23:42:07 +00:00
Seth Hillbrand e91c039ed3 Prevent event stackup when init pages
The paged book initialization (and others) can generate events,
re-laying out the whole dialog multiple times during initialization.
This halts events during the layout period

Fixes https://gitlab.com/kicad/code/kicad/issues/13158
2022-12-15 11:39:03 -08:00
Jeff Young 5327ea5823 Respect selectabiltiy when adding wholy-selected groups.
Fixes https://gitlab.com/kicad/code/kicad/issues/13092
2022-12-15 17:57:58 +00:00
Jeff Young 366cad1f01 Uniformly translate "<no net>" message. 2022-12-15 13:59:25 +00:00
jean-pierre charras 5a7982161d python scripting: fix crash due to a null pointer use.
Fixes #13160
https://gitlab.com/kicad/code/kicad/issues/13160
2022-12-15 14:27:29 +01:00
Ian McInerney 034981ff9d Add tooltip to add existing library button in pcbnew 2022-12-15 02:08:41 +00:00
Jeff Young 93879532f7 More wxTextCtrl minimum widths. 2022-12-14 23:23:41 +00:00
Seth Hillbrand 279edcefdc Don't break tracks without snap
If the user asks to not snap to a track, we should also prevent the
track from snapping to the via

Fixes https://gitlab.com/kicad/code/kicad/issues/13142
2022-12-14 13:51:42 -08:00