Commit Graph

42822 Commits

Author SHA1 Message Date
Seth Hillbrand 5bd94f118d ADDED: Handle PIECHART in Altium import
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16895
2024-05-05 08:39:30 -07:00
Seth Hillbrand 4c0fd6e791 Re-initialize conversion settings on failure
When the conversion fails, it may be the result of the settings values,
so reset them to their original values afterward

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17886
2024-05-05 07:45:30 -07:00
Seth Hillbrand 0476b6c72d Ensure irreflexive property in LIB_TREE_NODE 2024-05-05 07:33:00 -07:00
Jeff Young 0e0432d194 Don't abort on failure to backup file if it was never saved.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17810
2024-05-05 14:58:23 +01:00
JamesJCode 39d9aba576 Don't stop migrating JSON_SETTINGS if intermediate migrator missing 2024-05-05 14:22:53 +01:00
Jeff Young 10aec91075 lint reduction 2024-05-05 12:55:38 +01:00
Jeff Young afcdfd85a7 Fix power symbol value field placement. 2024-05-04 23:49:43 +01:00
Jeff Young c2fae3768c Fix knock-on effects from b7f035964f.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17924
2024-05-04 23:49:43 +01:00
John Beard 4dd049ee8f Add action to focus tree searches
The default hotkey is Ctrl+L, as this is not bound by
default in the FP or symbol editor, and it is the hotkey
that is used to focus the address bar in web browsers,
which is a similar kind of action.
2024-05-05 04:18:36 +08:00
John Beard f73c190da8 Menu condition: distribute requires at least three items 2024-05-05 03:35:09 +08:00
John Beard fa7e842c8c Rework item distribution
This splits the tool into two separate tools: by center and
by even gaps. Previously, this was automatically decided, based on
if the items could have any gaps between them. This was unintuitive
as it would appear to arrange by centre point sometimes but not others.
When items aren't all the same width, the results can then be very
different, based only on the starting positions.

The new behaviour is to have a dedicated tool for each, which echos
how graphical programs like Inkscape manage this.

The by-gaps method is then extended to work for overlapping items
(when items overlap, the overlaps are made equal). The logic is
centralised in kimath/geometry, and some QA is added. This should
make it easier to extend to eeschema, for example.

This also (attempts to) address some rounding issues which could
cause minor, but compounding, errors to build up along the list
of items.

Also, fix bugs in the collection filtering - previously items
like markers were filtered out only after the selection size
was used to compute the gaps between items.
2024-05-05 03:35:09 +08:00
Stefan ce32dfd077 Altium pcbimport: handle various dimension items, fix dimension_kind enum 2024-05-04 16:34:36 +00:00
Jon Evans 6b145b2830 Add optional reporting of non-KiCad design issues
Also add HTML reporter to PCB side to match schematic


(cherry picked from commit b8fa10ab2b)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-05-04 15:27:52 +00:00
Jeff Young 2d1bcbd222 Repair import of Altium arcs. 2024-05-04 15:47:43 +01:00
Jeff Young 8ec1016ccf Repair Altium importer for coord system change. 2024-05-04 14:19:12 +01:00
Thomas Pointhuber e82b8f6fda Fix small memleak in test_lib_part.cpp 2024-05-04 13:12:25 +02:00
Jeff Young 691c492d1e Revert attempted Altium import fix.
(Like Eagle, Altium's coord system is "upside down" to
start with.)
2024-05-04 11:16:44 +01:00
Jon Evans 0c835b7c30 Get rid of relative position in pad properties dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17246


(cherry picked from commit 09736ebf2c)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-05-04 03:32:29 +00:00
Jeff Young c998234dec Restore accidentally deleted text size constraint algo.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17284
2024-05-03 22:12:34 +01:00
Jeff Young 65554943e0 lint reduction 2024-05-03 22:12:34 +01:00
Jon Evans 3351da9906 DbLib: Fill entire table if cache is empty when loading one part
The "already placed parts" feature causes a situation where many
single-part queries are placed before the cache is even filled.

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


(cherry picked from commit 3c99a3797e)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-05-03 21:04:13 +00:00
Jeff Young 94223ca794 Handle orientation when pasting footprint items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17518
2024-05-03 21:31:27 +01:00
Seth Hillbrand ba4974749c Fix renaming sheet check
If we are renaming a sheet that exists only once in the schematic, then
we don't need to warn about case sensitivity.  If the sheet exists
multiple times, we do.  We can't check this using SCREENS because the
screens don't maintain full state information about where they are used.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17901
2024-05-03 13:23:03 -07:00
Jeff Young 44717f927c Fix rotation of selection in schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17921
2024-05-03 21:14:26 +01:00
Seth Hillbrand 8463bd59b7 ADDED: Optional check for four way junctions
Defaults to off because this is likely contentious

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17870
2024-05-03 12:06:24 -07:00
Seth Hillbrand 2139789c4c Move ERC items to their own directory 2024-05-03 12:06:24 -07:00
Seth Hillbrand 71b020eb14 Special-case copy/paste of footprint fields on board
When editing the board, footprint fields _look_ like text items, so copy
and paste of these items should logically result in a text item, not a
footprint copy.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17937
2024-05-03 10:57:08 -07:00
Jeff Young eb13dec265 pruneItemLayers() is not the right place to filter refdes & value.
(And we already filter all mandatory fields in
pasteFootprintItemsToFootprintEditor() anyway.)

Also, don't nuke a footprint which contains only fields
during a paste.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17937
2024-05-03 18:38:32 +01:00
Seth Hillbrand e3d2f338de DRC: special case circles for annular width check
Circles only use one dimension and we tend to ignore the other in our UI
but it is kept and reflects the previous second dimensional value.  When
checking DRC, we should only be concerned with the single value used
unless the pad has two dimensions

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17944
2024-05-03 10:07:02 -07:00
Jeff Young aeb029ea6e const& performance improvements. 2024-05-03 18:03:51 +01:00
Jeff Young 651cc5c838 Improve bounding hull error message.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17886
2024-05-03 18:03:51 +01:00
Seth Hillbrand b8ccaae403 Respect schematic settings for hidden pins
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17941
2024-05-03 09:58:33 -07:00
Jeff Young 053a764cf2 Adjust LTSPICE parser for inverted coords. 2024-05-03 17:48:22 +01:00
Jeff Young fd44ee6aa6 Adjust CADSTAR importer for coord system flip. 2024-05-03 17:43:11 +01:00
Jeff Young 893d178439 Formatting and minor const& performance enhancements. 2024-05-03 17:43:11 +01:00
Seth Hillbrand 13735050da Use StandardPrimitive library for vias
Some 2581 parsers don't like to consider UserPrimitive even though they
are essentially the same thing and required by the standard.  ¯\_(ツ)_/¯

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16661
2024-05-03 09:11:49 -07:00
Jon Evans eb0708d48d Fix broken cherry-pick 2024-05-03 11:49:58 -04:00
Jon Evans ac8bd587dc Fix deduplication of already-placed symbols
The comparison function was failing to properly
de-duplicate by LIB_ID, especially for parts
from database libraries, causing the list to grow
with the size of the design.

(cherry picked from commit 2ef18ad4ca)
2024-05-03 11:47:21 -04:00
Jon Evans 639f59839e Make sure database library has updated pointer to library table
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17903


(cherry picked from commit 1a76fce255)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-05-03 15:39:33 +00:00
Jeff Young 09c5b9df1d Fix some breakage in Altium parser due to Symbol Editor Y-axis inversion. 2024-05-03 14:52:50 +01:00
Jeff Young e7f4e29dd1 Eagle's coord system matched the old Symbol Editor.
So now we need to invert the Y axis for symbol items
(as well as all the schematic items which we have always done).
2024-05-03 14:48:06 +01:00
Jeff Young 6b0a20eac0 Mostly formatting, but also include shapes with nets when selecting connection. 2024-05-03 13:31:15 +01:00
Jeff Young 3781682a89 We don't need to flip Y of fields anymore. 2024-05-03 13:31:15 +01:00
Jeff Young ce1404df79 Formatting and performance.
(wxString construction is surprisingly expensive.)
2024-05-03 13:31:15 +01:00
Mark Roszko f00a1ab517 Use the new kmb toolchain file for vars 2024-05-03 02:11:54 +00:00
Jeff Young 9f87598772 Fix copy-pasta. 2024-05-03 00:09:38 +01:00
Alex Shvartzkop b5b65d0846 Fix some breakage due to symbol Y axis inversion in EasyEDA parsers. 2024-05-03 01:44:50 +03:00
Marek Roszko 1a1be2d542 Update vcpkg wxpython 2024-05-02 18:31:33 -04:00
Marek Roszko cb81de5a74 Add updated tooltips on update dialog 2024-05-02 18:30:54 -04:00
Seth Hillbrand 022dce2d1b Fix out of bounds access opportunity 2024-05-02 15:12:43 -07:00