Commit Graph

16770 Commits

Author SHA1 Message Date
Jon Evans 1acb1afa98 Fix build errors; warnings
(somehow, the previous version compiles on my machine...)
2024-03-26 19:38:28 -04:00
Jon Evans 5aa8af1abf Add a cache for looking up board items by ID 2024-03-26 18:36:23 -04:00
Jon Evans 7b6afd290a Remove non-const access to board-owned items
(with a few things const-casted for now)
2024-03-26 18:36:23 -04:00
JamesJ 54919e6854 Performance update for pcbnew net inspector
Forces full rebuild of nets list for bulk updates over a certain
size. This is more performant than iterating over all items in
a bulk update.
2024-03-24 20:29:15 +00:00
JamesJ f51e775f26 Use bulk BOARD_LISTENER calls following undo or redo operations
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17561
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17420
2024-03-24 19:25:26 +00:00
Jeff Young 50567764b5 Allow no-net teardrops on no-net pads with no-net tracks.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17566
2024-03-24 19:22:25 +00:00
Jeff Young a53bc9e026 Attempt to prevent KICAD-YP.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17560
2024-03-24 18:12:58 +00:00
Jeff Young 5d37a00759 Table plotting for PCBNew.
Also fixes some bugs with property exposure that (along with
other things) allowed you to put table cells on a different
layer than their parent table.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17438
2024-03-24 16:49:33 +00:00
JamesJ 67d6e6afdf Only update net inspector when panel is shown.
Pcbnew can hang for a long time when undoing operations involving
large numbers of board items. This provides an interim workaround
(and replicated the behaviour of the search panel) by only
computing track statistics updates incrementally if the inspector
is displayed.

Partially fixes https://gitlab.com/kicad/code/kicad/-/issues/17561
(if net inspector is not shown)
2024-03-24 12:11:36 +00:00
Jeff Young fc572bfbc6 Make sure users don't run into min text size.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17543
2024-03-23 15:50:45 +00:00
Jon Evans af18e06ea4 Remove the "insert chevron" function of the via placer
This behavior is generally undesirable and was only needed
because of past limitations.  Now we only split a track
when the user places a via directly on top of it.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16456
2024-03-23 14:28:21 +00:00
wh201906 806daecf85
Add toggleHV45Mode item to the measure tool's context menu
The behavior of the measure tool is influenced by the
horizontal/vertical/45-degree mode, but the context menu of the measure
tool lacks an option to toggle this mode. In contrast, the drawing
tools are also affected by this mode, and their context menu has the
item to toggle this mode.
2024-03-23 21:24:13 +08:00
Jeff Young 88c1fa3e26 Ignore graphic shapes that implement netties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17223
2024-03-23 13:18:46 +00:00
Marek Roszko ab759d21f2 Fix more build warnings 2024-03-23 08:53:11 -04:00
Jeff Young 7218d501d4 Better locality-of-reference for footprint chooser filters. 2024-03-23 12:48:52 +00:00
Marek Roszko 490dbfdf83 Fix build warnings 2024-03-23 08:34:59 -04:00
aris-kimi d7abed2d60 Footprint Chooser dialog: Allow toggle buttons to work simultaneously 2024-03-23 09:48:15 +00:00
Seth Hillbrand 00d108498f Avoid crashing on missing tracks in CADSTAR
We can't assume that the ignored connection exists when trying to set
the junction size.  We use int_max for the default instead of 0 so that
later, we don't try to create a minor track with 0 width in loadNets()

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17523
2024-03-22 10:55:48 -07:00
jean-pierre charras cb8ed07858 GERBER_JOBFILE_WRITER: use UTF8 encoding according to current specif.
Since 2020, non ASCII7 chars are encoded using UTF8 encoding.
A old but incorrect encoding was previously used.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17534
2024-03-22 09:50:32 +01:00
JamesJ de85b2217b Re-centralise handling of sort column in net inspector list.
- Includes GTK crash fix from a5ef4f1b
- Additionally removes an unneccesary re-sort when rebuilding columns
- Correctly saves column state when using pcbnew standalone
2024-03-21 21:07:08 +00:00
jean-pierre charras 4f4ca9f383 Do not run DRAWING_TOOL::PlaceTuningPattern() inside the footprint editor
The footprint editor cannot run the router.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17522
2024-03-21 15:19:48 +01:00
Marek Roszko 83ef5fd7d6 Move PGM_BASE to kicommon 2024-03-20 23:29:42 -04:00
Marek Roszko e32b26ebeb Move JSON_SETTINGS and PARAMS to kicommon 2024-03-20 23:29:42 -04:00
Mark Roszko 9947cc0359 Fix another build breakage 2024-03-21 03:23:29 +00:00
Jon Evans a5ef4f1bef Net inspector: fix crash when switching boards on GTK
Can't invalidate columns while they are the sorting key
2024-03-20 23:04:28 -04:00
Jon Evans f00f47df13 wxWidgets 3.3 compatibility: explicit wxString conversion 2024-03-20 22:02:41 -04:00
Jeff Young d0df8df7c7 Use a lighter touch keeping internal data structures in sync.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17493
2024-03-20 21:35:43 +00:00
Jeff Young 82c851a4a7 Expose groups to property manager.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17496
2024-03-20 20:19:21 +00:00
Jeff Young 859f553c91 Keep internal data consistent when changing pad type.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17493
2024-03-20 18:35:56 +00:00
jean-pierre charras 90eed8b4b6 Avoid using a nullptr. 2024-03-20 18:34:18 +01:00
Alex Shvartzkop 800ff9ffb1 STEP export: add location info to edge add failures. 2024-03-19 23:10:37 +03:00
Alex Shvartzkop 75037dd1d1 STEP export: handle small segments connecting two arcs better.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17499
2024-03-19 22:53:30 +03:00
jean-pierre charras 63dd4aed93 Step exporter: workaround to fix issue for boards with main round outline
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17446
2024-03-19 11:19:37 +01:00
JamesJ a763d613e5 Move Net Inspector dialog to a widget panel in pcbnew
Introduces some updates to the inspector, and a number of bug fixes:

- Correctly handles changes in board stackup
- Correctly handles unit change events
- Correctly handles language change events
- All layout / panel settings are stored to the project settings
- Retains ability to create net report
- Simple filter searches on net name and net class name (stored in settings)
- Allows hide / show of columns (stored in settings)
- Grouping by netclass (stored in settings)
- Optional filtering by net name (stored in settings)
- Optional filtering by net class (stored in settings)
- Custom grouping by net name match
2024-03-19 01:02:01 +00:00
Jeff Young 4ed2a0674a Minor cleanup. 2024-03-18 22:21:01 +00:00
jean-pierre charras 3b47fd1503 FOOTPRINT_CHOOSER_FRAME: add option to show the 3D in a separate viewer.
If a separate viewer frame is selected, the footprint chooser always shows
the footprint and the 3D shape is shown in a 3D viewer frame if the 3D view
is enabled.
2024-03-18 08:42:43 +01:00
Mark Roszko 72d83cd5de Revert "Move JSON_SETTINGS and PARAMS to kicommon"
This reverts commit 81855aaaa6
2024-03-18 00:08:46 +00:00
Marek Roszko 81855aaaa6 Move JSON_SETTINGS and PARAMS to kicommon 2024-03-17 18:11:49 -04:00
Jeff Young 37b19c4df7 Handle table layer in undo.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17437
2024-03-17 20:39:46 +00:00
Jeff Young 0598ca0f90 Keep BOARD_DESIGN_SETTINGS DRC marker exclusions up-to-date.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17429
2024-03-17 16:29:24 +00:00
Jeff Young d317b8da74 Pull modifications to cherry pick forward from 6.0. 2024-03-17 12:42:45 +00:00
Jeff Young 44c14b1935 Fix layer swapping for multi-layer items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17371
2024-03-17 12:14:21 +00:00
Jeff Young a4062ade3d Report location of FUTURE_FORMAT_ERRORs when reading footprints. 2024-03-16 11:06:12 +00:00
Jeff Young d17151ac1b Correctly handle locked token for PCB_TEXTBOX and PCB_TABLECELL.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17439
2024-03-15 21:42:47 +00:00
Jan Wichmann 91b850d8df pcbnew: The checkbox 'Center on footprint' was not disabled when the actionButton was changed. 2024-03-14 22:24:30 +00:00
Wayne Stambaugh cf97432833 Fix Eagle footprint library QA test failure.
Unfortunately the KiCad library I/O does not unescape file names so do not
escape them in the Eagle board plugin.
2024-03-14 17:00:27 -04:00
Jeff Young e30b6398b7 ADDED: optional PDF metadata from AUTHOR and SUBJECT variables.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17289
2024-03-14 17:40:04 +00:00
Wayne Stambaugh 34ec57958d Fix Eagle board import when footprint library versions exist.
This was a crude hack that appends the library URN ordinal to the name of
the footprint so that it can be correctly looked up by the "element" node.
The Eagle XML DTD does not make it clear how the URN "ASSET_ID" and
"VERSION" are used to look up the appropriate "ASSET_TYPE" so this is a
best guess and seems to work correctly.

The inferred edge clearance dialog had to be disabled when importing third
party boards because on GTK (and possibly other platforms) the dialog would
completely hang KiCad preventing the imported board and possible schematic
from being saved.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12897
2024-03-14 09:45:05 -04:00
Wayne Stambaugh eddf4883b6 Minor dialog layout improvements. 2024-03-13 11:45:33 -04:00
Jeff Young a091767551 Don't test non-overlapping non-through-hole vias.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17426
2024-03-13 15:19:28 +00:00
Jeff Young 91d949f59e Splitter for 3D model page of Footprint Properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15606
2024-03-13 15:03:55 +00:00
Alex Shvartzkop b56ee20e22 Fix a crash in PNS zone sync when there's more outlines than triangulated polygons.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17351
2024-03-13 03:09:21 +03:00
Jon Evans ece8521e68 Add some safety to layer swapping
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17371
2024-03-12 19:32:40 -04:00
Jeff Young 4b6a1f4dbd Remove netclass/custom rule handling from Track & Via Properties.
(These should be done in Edit > Edit Track & Via Properties.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17216
2024-03-12 22:29:03 +00:00
Jeff Young 1844bf1708 Make Edit Track & Via Sizes "specified sizes" dropdowns clearer.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17216
2024-03-12 22:27:10 +00:00
Jeff Young 25e181db5c Don't allow selection of footprint text in board editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17271
2024-03-12 21:30:12 +00:00
Alex Shvartzkop 44b970c8f2 Fix warning. 2024-03-12 08:54:21 +03:00
Seth Hillbrand 0f57d76ecd Clean and standardize cross-probing action
Between schematic and pcb editors, we want the following actions:

- Single click on ERC/DRC item should show the item in the ERC/DRC
  window.  But if the window is not visible, it should only update the
  status bar
- Double click on ERC/DRC item should show and raid the ERC/DRC window
  as well as select the line item

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17383
2024-03-11 17:50:44 -07:00
Seth Hillbrand 6e591f5f91 Don't count removed zone layers
This does 3 things:
1) Removes unused zone layers on load
2) Does not save unused zone layers
3) Removes unused zone layers from connectivity calculation

(1) Prevents existing boards from using unused zone layers for any
connectivity or rendering.  (2) Updates the contents of boards with
removed zone layers to prevent them from propagating.  (3) updates the
connectivity while running pcbnew and removing a zone layer

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17288
2024-03-11 23:38:10 +00:00
SubaruArai d7173dd6d1 qr footprint wizard: add option for error correction level
QR codes allow 4 different levels of error correction.  By increasing the level, larger numbers of data bytes can be corrupted without invalidating the code
2024-03-11 23:37:29 +00:00
Seth Hillbrand 3cc1617f5a Fix slow selection time when calculating clearance
The clearance between two zones could be rather slow.  This was in part
to trying to do triangle-triangle collisions between zones when we only
need outline collision and in part to the shape_line_chain collision
routine.  The shape_line_chain collisions don't need to recreate
segments on each iteration and should instead create them once and using
this to check all collisions

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17327
2024-03-11 16:32:24 -07:00
Seth Hillbrand 9648fafe11 Handle memberOfSheet for full footprints
Previously, we handled clearance for just components in the eval
function.  We also checked the incorrect root sheetname.
2024-03-11 16:32:24 -07:00
Jeff Young d083593177 Table bug fixes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17399

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17398
2024-03-11 22:58:12 +00:00
Jeff Young 5ccd11d426 Run disambiguation if there are multiple preferred items.
This didn't really come up before tables, but any cell selection
will also include its parent table.
2024-03-11 17:46:09 +00:00
Jeff Young ccfefc3971 Table support for footprint editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17333
2024-03-11 17:46:09 +00:00
Mark Roszko d904535a15 Add missing text var override to cli gerbers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17283
2024-03-11 12:33:52 +00:00
Jeff Young fbc433deaa Make sure to initialize cell start location.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17379
2024-03-10 21:49:54 +00:00
Jeff Young 9602151d6c Fix typo in SelectRows().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17378
2024-03-10 21:06:43 +00:00
Jeff Young 1bf24da385 Schematic editor Table Properties and commenting for QuasiModal usage. 2024-03-10 12:18:50 +00:00
Jeff Young a12d79cd13 Performance improvements for multi-page dialogs. 2024-03-10 12:18:50 +00:00
jean-pierre charras 821063e5b1 Pcbnew, pdf plotter: fixes and enhancements.
* To select a footprint info, Use the bbox with not text as selectable area
* Fix also incorrect position of footprint bbox when plotting with offset

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17355
2024-03-10 13:04:39 +01:00
Jeff Young f341ab9b00 Bug fixes for flipping tables.
Also adds support for tabbing between table cells in the
table editor dialog.

Also adds support for calling the table editor dialog from
edit properties on a table selection.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17337
2024-03-09 22:18:19 +00:00
Jeff Young 63b06095e6 Table selections for PCBNew. 2024-03-09 22:18:19 +00:00
Jeff Young 72ba31ba27 Pass symbol's netlist to footprint preview widget.
This allows us to show the pin functions on the corresponding
pads.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17349
2024-03-09 15:01:59 +00:00
Alex Shvartzkop 4d66a8ebdb Fix rendering/plotting of arcs with tiny angle and huge radius.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17343
2024-03-09 02:07:24 +03:00
Jeff Young d1d9636598 Run Edge.Cuts & Margin clearance tests on zone layer.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17292
2024-03-08 20:51:05 +00:00
Seth Hillbrand 686a62cbe6 Temporary fix to disable zone-zone clearance display
When selecting two objects, we display the measured clearance between
them.  This can be problematic with large zones as they have thousands
of triangles.

This is a temporary fix for 8.0.1 to disable the check until we have a
performant version

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17327
2024-03-08 10:31:59 -08:00
Alex Shvartzkop aa68a3817a Fix zone cross-probing from DRC dialog. 2024-03-08 21:23:14 +03:00
Alex Shvartzkop f6f0b9a661 ADDED: PCB 3D image raytracing rendering from CLI.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3691
2024-03-08 14:38:18 +00:00
Jeff Young 06a8517818 Further improvements to cache locking.
In particular, don't hold cache lock while doing computations.
2024-03-07 13:20:20 +00:00
Armin Schoisswohl 4dcec60bf4 add include <mutex> to fix compilation under linux 2024-03-07 13:20:16 +00:00
Armin Schoisswohl bb9448edcb change m_CachesMutex to shared_mutex and do shared locking for read access in zone BBox calculations 2024-03-07 13:20:13 +00:00
Armin Schoisswohl 991ff71f33 fix deadlock in DRC "Checking keeopouts & disallow constraints" 2024-03-07 13:20:10 +00:00
Armin Schoisswohl 4590455ab2 protect cache lookups in pcbnew/zone by locking the mutex before calling find, fix #17237 2024-03-07 13:20:06 +00:00
Yon Uriarte 7520a8b316 Avoid updating max clearance while in dtor
Max clearance is updated by IncrementTimeStamp(), which is called when in the FOOTPRINT dtor and ZONE dtor.  This can cause issues when iterating over all footprints as the footprints may be delete-ed

Fixes https://gitlab.com/kicad/code/kicad/issues/17269
2024-03-06 18:48:49 +00:00
SubaruArai 8b3fc41ee5 Update QR footprint wizard
- Allows more than 62 bytes
- Adjusts size of code based on data or parameters
- Allows selection of ECC
2024-03-06 18:39:40 +00:00
Jeff Young 20efeef5ae Apply anti-walk algorithm only to textboxes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16481
2024-03-06 13:51:27 +00:00
Yon Uriarte 4e8e14ae3a Responsive: Avoid excessive repaints when toggling a netclass' rastnest visibility.
Toggling netclasses visibility toggles the member nets' visibility one by one. Defer redrawing until all toggling is done.

Fixes https://gitlab.com/kicad/code/kicad/issues/17115
2024-03-05 14:32:12 +00:00
Alex Shvartzkop a4da829ccc Fabmaster (CADENCE ASCII): import dimensions graphics.
See https://gitlab.com/kicad/code/kicad/-/issues/17239
2024-03-04 19:51:28 +03:00
Alex Shvartzkop cb4ace5561 Fabmaster (CADENCE ASCII) import: fix position and orientation of footprint graphics.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17239
2024-03-04 19:51:27 +03:00
Mike Williams 36331e259a VRML: add options to exclude DNP/unspecified types like STEP exporter 2024-03-04 10:10:34 -05:00
Alex Shvartzkop 30573beb48 EasyEDA Std: fix importing footprints from footprint editor.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17264
2024-03-04 16:34:51 +03:00
Alex Shvartzkop 951c550c1e EasyEDA Std PCB: fix crash when Name/Prefix type text is not in a footprint. 2024-03-04 15:09:31 +03:00
jean-pierre charras 4a945172db Pcbnew: do not select a PCB_REFERENCE_IMAGE if the LAYER_DRAW_BITMAPS is not visible.
LAYER_DRAW_BITMAPS layer controls transparency and visibility of images on the board.
Fixes #16282
https://gitlab.com/kicad/code/kicad/-/issues/16282
2024-03-04 11:46:45 +01:00
Seth Hillbrand 02cdb0c6b9 Mask aperture pads can have multiple layers
But as long as they don't have copper, we should treat them as mask
apertures
2024-03-03 20:56:39 +00:00
Alex Shvartzkop 85b1978408 Use 64-bit type to represent microseconds.
int and long are 32-bit on Windows, causing overflows.
2024-03-03 21:40:26 +03:00
Wayne Stambaugh 3eb5c52073 Improve zone manager dialog layout. 2024-03-03 12:09:01 -05:00
JamesJ 66b378087a Remove close button from pcbnew search panel
For consistency with the other panels, removes the circular 'x' close
button from the search panel. Toggling visibility remains possible
through the View menu
2024-03-03 16:18:23 +00:00
Marek Roszko 0c8e08ed58 Move some language changes to a event on the frame 2024-03-03 11:02:26 -05:00
jean-pierre charras 0bde79bd6c PCB_PAINTER: do not draw PCB_SHAPEs on netname layer in FP editor.
Fixes #17250
https://gitlab.com/kicad/code/kicad/-/issues/17250
2024-03-03 17:00:17 +01:00
Yon Uriarte fe1c73ed7c Performance: Cache BOARD::GetMaxClearanceValue 2024-03-03 13:54:46 +00:00
jean-pierre charras f6cf78fd7c plot_board_layers.cpp: when plotting pads, Save/restore corner radius ratio
instead of corner radius.
The corner radius comes from corner radius ratio, so saving/restoring the corner
radius can create rounding errors when trying to recalculate the ratio from the radius.
2024-03-03 11:56:41 +01:00
Jon Evans ed18a9bcc2 Correctly handle footprint graphic knockouts for no-net case
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17223
2024-03-02 15:39:07 -05:00
Jon Evans 3a3ceb8ffc Allow specifying a minimum for a via_count constraint
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17234
2024-03-02 15:26:28 -05:00
Roberto Fernandez Bautista a4929f9c27 Step exporter: handle circles correctly
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17137
2024-03-02 19:09:33 +01:00
Roberto Fernandez Bautista d458bcad16 kicad_cli fp ugrade: create directory with extension 2024-03-02 18:21:13 +01:00
jean-pierre charras d81605f4ea DIALOG_PAD_PROPERTIES: fix a incorrect test to show a warning. 2024-03-02 17:16:27 +01:00
Roberto Fernandez Bautista 4508512343 Sanitise filename before saving footprint library 2024-03-02 13:06:23 +01:00
Roberto Fernandez Bautista a4a99e3aff kicad_cli: Allow upgrade of legacy and non-kicad footprint libraries 2024-03-02 13:06:23 +01:00
Jeff Young bd1d449cd3 Check for NETINFO_ITEM before dereferencing it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17230
2024-03-02 11:37:22 +00:00
jean-pierre charras 1ee49cca5e FOOTPRINT_CHOOSER_FRAME: rework on bottom panel to allow a long string in
the check box for filter by FP names to be displayed without overlapping other
widgets.
2024-03-02 11:24:54 +01:00
Jan Wichmann 1297ddc88d pcbnew: Added default master pad properties
CHANGED: Automatically selects the right pad type for the footprint type. Resets the pad properties if the master pad properties do not match the pad type.

https://gitlab.com/kicad/code/kicad/-/issues/16563
2024-03-02 00:13:39 +00:00
Seth Hillbrand 0129191ec0 Limit where the intersection of two lines can be
This avoids generating lines where we are unable to select them because
they get too close to the border

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16959
2024-03-01 15:57:24 -08:00
Jeff Young 8dddd9cc2c Separate "use board stackup colors" into separate checkbox.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17085
2024-03-01 23:45:06 +00:00
Seth Hillbrand 14667e2033 Don't wait for unused events
We only need the UI update and mouse/keyboard while updating our DRC
window.  Waiting for other events gets into a race condition with the
schematic editor that can cause a hang

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17003
2024-03-01 15:21:42 -08:00
Seth Hillbrand d3334ed9f0 Do not re-number aperture pads
Aperture pads do not have numbers, so reserving space for them will
cause the actual numbered pads to become out of order
2024-03-01 13:04:19 -08:00
jean-pierre charras 005affd473 FOOTPRINT_CHOOSER_FRAME: Fix a UI problem specific to Linux
On the bottom on the frame, some widgets were not correctly placed.
Fixes #17217
https://gitlab.com/kicad/code/kicad/-/issues/17217
2024-03-01 19:56:22 +01:00
Ethan Chien 8d19d27483 Fix zone manager crash when no board is loaded
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17187
2024-03-01 15:58:01 +00:00
Alex Shvartzkop defcb49ac8 Support Altium Schematic ASCII import 2024-02-29 20:49:20 +00:00
aris-kimi 24529e5242 ADDED: library tree context menu option to open sym/fp library files from the defined text editor.
Short description:

Works for Symbol and Footprint Editor behind an advanced config option.
For Symbol Editor it is shown for a single item selection (library or symbol).
For Footprint Editor it is shown for a footprint selection.
(fp editor allows a single tree item selection only).
Option stays hidden if current frame has been modified.

Also small fix(?) for similar action to the project manager.
(Call for the Execution has moved inside the file loop.)

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15736
2024-02-29 19:01:59 +00:00
Jeff Young c23550dc0b Unflip when going to viewport which isn't flipped.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13773
2024-02-29 17:37:48 +00:00
Alex Shvartzkop 39a0a81832 EasyEDA Std import: support multiline text on PCB.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17171


(cherry picked from commit 0dab086f0c)
2024-02-29 00:54:46 +00:00
JamesJ b8748c4ef8 Add import netclass color menu items to PCB appearance widget
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16908

ADDED: Context menu item in PCB appearances widget to import netclass
color from schematic.
ADDED: Context menu item to reset PCB netclass color (replicating
same menu item from Nets inspector)
2024-02-28 23:13:15 +00:00
Jeff Young 141de7ac11 Even up spacing in dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16391
2024-02-28 22:18:27 +00:00
Seth Hillbrand 6a8d2a7eb3 Store group id rather than group
We only need the group storage id for lookup.  Storing the KIID instead
of a copy of the group avoids unneeded overhead

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17175

(cherry picked from commit 7d1adff071)
2024-02-28 13:27:38 -08:00
Jeff Young 27031dd2c5 Check env vars when testing for unresolved variables.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17174
2024-02-28 17:16:58 +00:00
Jon Evans 9e7b4b7f89 Avoid nullptr dereference when loading group info
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17154
2024-02-27 19:43:21 -05:00
Jon Evans 0df5cf7f75 Expose grid origin action in more places
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17007
2024-02-27 18:50:44 -05:00
Seth Hillbrand a8880fb63e Fix memory leak in net inspector dialog 2024-02-27 19:49:13 +00:00
Seth Hillbrand b2a25cb59e Correct usage signature for PNS_NODE::Add()
When moving a unique_ptr, you are actually passing the object, not a
reference to the object.  So we either std::move with the bare
unique_ptr parameter or we pass a reference.  But we should never pass
an rvalue reference for this or we'll make a copy without holding the
tracking (because it was moved)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16839
2024-02-27 19:49:13 +00:00
Jeff Young e6a2f3b87a Eagle text anchor points and alignment aren't linked.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17135
2024-02-27 15:00:30 +00:00
Jeff Young 6e478f52f4 Fix wrong rotation centre.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17135
2024-02-27 15:00:27 +00:00
jean-pierre charras ed4a4ec8ec Add option to Footprint Chooser to switch between the selected fp or its 3D view
Fixes #16173
https://gitlab.com/kicad/code/kicad/-/issues/16173
2024-02-27 10:17:00 +01:00
Jeff Young 43c45f3ee8 Fix copy pasta. 2024-02-26 12:39:01 +00:00
Jon Evans 2f6c9d1f3a ADDED: Selection filter for schematic editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/14988
2024-02-25 17:44:10 -05:00
Jeff Young 11774cc9fe Fix some dialog layout issues.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16391
2024-02-25 22:10:51 +00:00
Jeff Young 9066e4b9d0 Reconcile solder_paste_ratio and solder_paste_margin_ratio. 2024-02-25 21:25:44 +00:00
Jeff Young aef87b9796 Push thickness handling down into EDA_TEXT::SetBold().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17077

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14875
2024-02-25 17:28:52 +00:00
Jeff Young be83f276c4 Add a couple more tooltips.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16391
2024-02-25 15:30:47 +00:00
Jeff Young dba2fdb6d3 Don't import invalid polygons.
If we *do* get a 2-point polygon in SVG, import it as a segment.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17091
2024-02-25 12:28:19 +00:00
Jeff Young 4056428a08 Sigh. We use different tokens for FP and pad solder paste margin ratios.
Seriously?  Afraid so: solder_paste_margin_ratio and solder_paste_ratio.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17108
2024-02-25 11:31:04 +00:00
Jeff Young 986dbfd235 Don't double-add pads to commit.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17087
2024-02-25 11:31:04 +00:00
Jeff Young 6bbac26fd3 Fix merge conflict. 2024-02-24 20:05:51 +00:00
Jeff Young e27f859c11 Apply Pad Properties teardrop terminology to Via Properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17050
2024-02-24 20:05:51 +00:00
Jeff Young f77de66f4e Generalize ERCItem inspections.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10539
2024-02-24 20:05:51 +00:00
Jeff Young fa0ead98d8 Split out table editing and table cell editing. 2024-02-24 20:05:51 +00:00
Jeff Young 3282e4bb66 Formatting. 2024-02-24 20:05:51 +00:00
Jeff Young c3496e4af6 Implement min skew checking. 2024-02-24 20:05:51 +00:00
Jeff Young 782af3a918 Clear text before replacing in ImportSettingsFrom. 2024-02-24 20:05:51 +00:00
Jeff Young e760317af6 ADDED: Implement footprint link checking in ERC.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16842
2024-02-24 20:05:51 +00:00