Seth Hillbrand
26629928c3
Incremental updates should not clear globals
...
Netclass assignments are stored in the project level but
CONNECTION_GRAPH updates would clear the assignments. This keeps
existing netname->netclass assignments but updates any netnames that
were changed by the incremental updates. Absolute updates are not
affected and fully recreate the net name to netclass map
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17720
(cherry picked from commit e538b98286
)
2024-04-14 14:14:38 -07:00
Seth Hillbrand
55c864ec45
Fix incremental connectivity
...
The connectivity routine would consider symbols, overwriting unused
subgraphs for pins that were not in the change list. This is resolved
by updating the full connectivity to only use pins in the graph since
symbols are not connected independently.
In the process of adding QA tests for this change, additional issues
with the schematic QA were discovered. Specifically, we were not
properly setting the root sheet UUID. This was partially masked by a
const_cast setting of the RefDes in sch_symbol when called the RefDes
getter. This exposed the fact that our QA ERC numbers did not match the
schematic editor stand alone ERC numbers. So the test value for one
check needed to be updated
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17528
(cherry picked from commit a9f35ba42e
)
2024-04-14 14:14:38 -07:00
Seth Hillbrand
4481fcc75e
Check for valid shared pointer before locking
...
We don't neccesarily have a valid pointer to the parent lib symbol when
checking if it is a power symbol, so fall back to the local flag if this
is the case
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17182
2024-04-11 14:42:53 -07:00
Wayne Stambaugh
c4c804edf7
Update hierarchy navigator when undoing or redoing sheet name changes.
...
Use new schematic commit object in the edit sheet properties dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17721
(cherry picked from commit ec310ac3ed
)
2024-04-11 10:51:04 -04:00
Wayne Stambaugh
b26ca0e21a
Maintain hierarchy navigator expansion state between edits.
...
Prevent the hierarchy navigator from being rebuilt unless there are actual
sheet changes that would cause a change to the tree.
Save the tree expansion state before rebuilding the tree and then restore
the expansion state to the previous state sans edits.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16635
(cherry picked from commit 797ab998cc
)
2024-04-11 10:32:40 -04:00
afkiwers
f7765ea5b9
add support to update an already existing field
...
(cherry picked from commit d45911f54b
)
2024-04-09 23:37:52 +00:00
Jon Evans
30df673ffa
Check for bus no-connects in ERC
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13285
(cherry picked from commit ce846f5c22
)
2024-04-07 12:50:45 +00:00
Seth Hillbrand
b1677d5f47
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
(cherry picked from commit 0f57d76ecd
)
2024-04-01 17:55:29 -07:00
James J
75ef003747
Add option to preserve custom power flag values in Update Symbols from Library dialog
...
(cherry picked from commit bf7896a0e1
)
2024-03-30 14:15:29 +00:00
Jeff Young
857219d70d
Fix merge error.
2024-03-29 18:26:14 +00:00
Jeff Young
92275c41cc
ADDED: Expose units and DeMorgan to properties system.
...
(Also fixes inheritance bug in LIB_PIN's properties.)
(cherry picked from commit 58df9c96f4
)
2024-03-29 17:49:48 +00:00
Jeff Young
1f461c7508
Close active cell editor when showing/hiding columns.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17425
(cherry picked from commit f3ce3bc758
)
2024-03-29 17:45:35 +00:00
Jeff Young
f3621496fb
Don't show hidden text in symbol previews.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17526
(cherry picked from commit 1e6eb652aa
)
2024-03-29 17:44:47 +00:00
Alex Shvartzkop
70a6697c16
Fix warning due to unused angle in EasyEDA Pro schematic parser.
...
(cherry picked from commit 1c7e3871b5
)
2024-03-23 14:52:05 +00:00
dsa-t
605fe4ce99
Disallow cross-probing when not on Symbol Fields Table Edit tab.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17531
(cherry picked from commit db12f2af49
)
ce625541 Disallow cross-probing when not on Symbol Fields Table Edit tab.
2024-03-21 19:09:34 +00:00
Jeff Young
a3ee317277
Fix copy/pasta in tooltips.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17515
(cherry picked from commit 913e6b47d7
)
2024-03-21 18:19:48 +00:00
Jeff Young
9704543b7a
Don't assume all glyphs are outline with an outline font.
...
Underline and overbar may be stroke glyphs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17478
2024-03-18 22:20:44 +00:00
Roberto Fernandez Bautista
c935ef890a
Database library cache: fix memory leak
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17435
(cherry picked from commit 4851b0f1ac
)
2024-03-17 11:41:46 +01:00
Wayne Stambaugh
e904731e28
Do not update schematic connectivity for irrelevant property changes.
...
Prior to this change, the schematic connectivity was updated any time a
change was made to a connectable object. Now the connectivity is only
updated when an object change actually affects the connectivity. Other
properties like line width, fill type, custom fonts, etc. will not cause
the connectivity graph to be rebuilt.
The SCH_COMMIT flag SKIP_CONNECTIVITY has been removed. All schematic
objects can test if they are connectable and if there have been changes
to any connection properties that require a connectivity rebuild.
Remove duplicate rebuild connectivity calls from editor control tool.
This was causing the tangling end test to get called four times on every
undo and redo action because the dangling end test is already called in
the connectivity graph calculation code.
Update connectivity when changing label names which fixes an unreported
connectivity bug.
(cherry picked from commit c5a02fc266
)
2024-03-16 09:36:56 -04:00
jean-pierre charras
b718c228fe
Symbol Editor: do not allow to select fully invisible pins and fields
...
Of course, invisible pins or fields shown by using option Show invisible
pins or Show invisible fields can be selected.
From master branch
2024-03-15 15:03:38 +01:00
jean-pierre charras
3d04d78f76
Symbol Editor do not display bounding box of invisible pins and fields
2024-03-15 15:03:38 +01:00
Wayne Stambaugh
ab6c64b49a
Clean up debugging output accidentally left in previous commit.
...
(cherry picked from commit 33566f88a9
)
2024-03-15 07:59:20 -04:00
Wayne Stambaugh
dd71173263
Fix broken paste special keep existing symbol annotations.
...
This was only broken for symbols on the sheet where the symbols were
copied from. The symbol annotation for all sub-sheets was preserved.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17231
(cherry picked from commit 0ff8d21459
)
2024-03-15 07:59:20 -04:00
Alex Shvartzkop
c7608c4bad
EasyEDA Std: support multiple schematic sheets.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17219
(cherry picked from commit c056ef407a
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
10ca34e2a7
EasyEDA Std: support Dot and Clock symbol pin styles.
...
(cherry picked from commit cc181df916
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
e4fc918b11
EasyEDA Std: hide invisible text in symbols.
...
(cherry picked from commit 69b15e83c5
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
c1a21c9ab1
EasyEDA Pro schematic: place items on root sheet when it's the only sheet.
...
(cherry picked from commit 563278d0f6
)
2024-03-15 01:17:50 +03:00
Alex Shvartzkop
e196f71d58
Support Altium Schematic ASCII import
...
(cherry picked from commit defcb49ac8
)
2024-03-15 01:17:49 +03:00
Jon Evans
8afbe544a3
Set description on Altium imported symbols
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16943
(cherry picked from commit 4bc69183ab
)
2024-03-14 21:00:58 +00:00
Jeff Young
838cefaf48
Default is a valid netclass, even if it's not in m_NetClasses.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17388
(cherry picked from commit dac16a02cc
)
2024-03-14 18:07:48 +00:00
Jeff Young
2609882346
Update m_LastLegendPosition after setting dirty bit.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17411
(cherry picked from commit 7341d4bf37
)
2024-03-14 18:07:07 +00:00
Jeff Young
091b34c05f
Don't show normal cut/copy/paste items in Signals grid.
...
(Do allow a copy of signal names though.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17395
(cherry picked from commit ed61c5593f
)
2024-03-14 18:05:47 +00:00
Jeff Young
e893ed4590
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
(cherry picked from commit 72ba31ba27
)
2024-03-14 18:04:52 +00:00
Jeff Young
03af8dcc88
Convert OP text variables pin names/numbers to SPICE vectors.
...
Also fixes a wrap-around bug in SPICE_VALUE::Normalize() where
it would lose the run of itself if the value was already
normalized to either the largest or smallest UNIT_PREFIX.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17228
(cherry picked from commit ff8ddae9bd
)
2024-03-14 18:03:42 +00:00
jean-pierre charras
d295014a8c
DIALOG_ERC: fix crash when set to ignore a an ERC violation.
...
If a ERC violation is set to ignore, all corresponding markers are deleted.
But if one of these markers is selected, a crash happens.
Now all selected objects are deselected before deleting markers.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17375
2024-03-11 14:30:08 +01:00
Mike Williams
1b5e18d95f
schematic: legacy kicad schematic files don't have a default description field
...
Without this, we would parse a legacy schematic symbol field at the same
index as the new description field's index into description, instead of into
a user field.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/17202
2024-03-06 11:03:00 -05:00
Jon Evans
31ae825b9d
Prevent use-after-free of symbol screens
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17204
(cherry picked from commit 1600d8bead
)
2024-03-06 03:54:14 +00:00
Jon Evans
98d26e77c9
Update a few more list/tree views for macOS
...
(cherry picked from commit 1988aac2b3
)
2024-03-05 13:39:39 +00:00
Wayne Stambaugh
742529da26
Update net navigator when cross probing from board editor net highlight.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16838
(cherry picked from commit 66925ec2a2
)
2024-03-03 08:57:54 -05:00
Jeff Young
1664e02fa6
Don't draw the selection if it's not from the current screen.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17132
2024-03-02 18:56:57 +00:00
Roberto Fernandez Bautista
f7ddd211d9
kicad_cli: Allow upgrade of legacy and non-kicad symbol libraries
2024-03-02 18:22:18 +01:00
jean-pierre charras
655cee523b
Eeschema: fix crash when editing a old legacy schematic with missing libs,
...
and trying to edit a dummy symbol. (crash due to a null pointer due to missing lib)
From master branch
Fixes #17232
https://gitlab.com/kicad/code/kicad/-/issues/17232
2024-03-02 15:32:37 +01:00
Jeff Young
fa4d759fcb
First alt-pin menu item must be fetched from the LIB_PIN.
...
(The SCH_PIN will return any alt function already assigned.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17221
2024-03-02 12:16:33 +00:00
Jeff Young
41f9baf9dc
Cleanup.
2024-02-29 17:38:18 +00:00
Jeff Young
1cd5827078
_() -> _HKI() for group names.
...
(cherry picked from commit d08e0e9eaa
)
2024-02-29 17:38:18 +00:00
Jeff Young
b07d43a24a
Expose text size for SCH_FIELDs.
...
(cherry picked from commit 2dce618f9f
)
2024-02-29 17:38:18 +00:00
Alex Shvartzkop
978fa63490
Allow .kicad_sym in Import Symbol filters.
...
(cherry picked from commit cd27f801f6
)
2024-02-29 14:36:57 +00:00
Alex Shvartzkop
0dab086f0c
EasyEDA Std import: support multiline text on PCB.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17171
2024-02-29 03:54:01 +03:00
Wayne Stambaugh
9508b79cc3
Fix sheet pin align to grid issue.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16920
(cherry picked from commit 141d03c266
)
2024-02-28 12:00:01 -05:00
Alex Shvartzkop
bec068324e
Keep schematic text upright (especially when opening v6 schematic).
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17082
2024-02-28 18:25:08 +03:00
jean-pierre charras
fce4ec6a9b
Eeschema, DIALOG_CHANGE_SYMBOLS: fix incorrect initial lib link name when
...
changing symbols: the "old" displayed link was in fact the new link because
the link was updated before the report is created.
Fixes #17162
https://gitlab.com/kicad/code/kicad/-/issues/17162
2024-02-28 11:23:35 +01:00
Jon Evans
a9e6031ae6
Remove unnecessary assert
...
GetModifyHash can be called before a row is loaded
(cherry picked from commit 31fab831ad
)
2024-02-28 00:03:37 +00:00
Jeff Young
1fc79b9a46
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16991
(cherry picked from commit a5fda819eb
)
2024-02-27 17:16:53 +00:00
Jeff Young
d94b0771ca
Only change pin assignments from user interaction.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16349
2024-02-26 19:01:07 +00:00
Jeff Young
2f8f7c11f1
Handle single-source DC analyses correctly.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17119
2024-02-26 18:10:10 +00:00
jean-pierre charras
c1755835eb
Symbol editor: add option (view menu+toolbar) to show/hide invisible pins and fields
...
From master branch
Fixes #8020
https://gitlab.com/kicad/code/kicad/-/issues/8020
2024-02-25 17:40:40 +01:00
Jon Evans
46555ab975
Fix use-after-free in Altium importer
...
If the library already contains a symbol with the same name,
SaveSymbol will replace the existing symbol,
which will invalidate a cached pointer.
(cherry picked from commit d939004bbd
)
2024-02-25 13:47:30 +00:00
Jeff Young
74339e9a9f
Support pin count and footprint filters in symbol editor.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17105
2024-02-25 13:13:54 +00:00
Jeff Young
2b09653abb
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
(cherry picked from commit dba2fdb6d3
)
2024-02-25 12:29:02 +00:00
Jeff Young
87944e06ac
Fix missing unit initialization.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17076
2024-02-24 22:35:05 +00:00
Alex Shvartzkop
97ff48b426
Add bottom panel to have correct background in fp/sym chooser frames.
...
See https://gitlab.com/kicad/code/kicad/-/issues/15810
2024-02-24 15:17:28 +00:00
Alex Shvartzkop
badc4e7411
Hide unused message panel in footprint/symbol chooser frames.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15810
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15889
2024-02-24 15:17:28 +00:00
Andrej Krpic
14d71c8ca6
Fix collecting of signals for S-Parameters analysis
...
(cherry picked from commit 006f93773c
)
2024-02-23 20:35:36 +00:00
Yon Uriarte
7d5583f687
Performance UpdateDanglingState
...
Avoid O(N^2) by spatial sorting, don't run checks if the bounding boxes
don't overlap.
A second copy is ordered by type to help classes that only want to check
a few types having to walk the whole list.
(cherry picked from commit b7b64d959f
)
2024-02-23 14:36:50 -05:00
Yon Uriarte
ffd470d94d
Performance SCH_EDIT_FRAME::SchematicCleanUp
...
Avoid O(N^2) comparisonis by spatial presorting. If bounding boxes don't
overlap there's no need to run expensive checks.
(cherry picked from commit f3c2083018
)
2024-02-23 14:36:36 -05:00
Alex Shvartzkop
e68df8e1d1
Performance optimizations for database libraries.
2024-02-23 17:22:20 +00:00
Alex Shvartzkop
3e26e7b646
Normalize SCH_PIN BBox to fix assert.
2024-02-23 17:22:20 +00:00
Alex Shvartzkop
a13e4e7d9f
Eeschema: select graphical shapes based on effective shapes.
2024-02-23 17:22:20 +00:00
Jeff Young
c8495d81bb
Update VDMOS models to ngspice-41 (and later) defaults.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17073
2024-02-23 16:06:55 +00:00
Roberto Fernandez Bautista
3f47e03317
Thread safety: replace ++m_modHash by IncrementModifyHash()
...
(cherry picked from commit d464d7995b
)
2024-02-23 16:49:35 +01:00
Roberto Fernandez Bautista
9004f92689
Add cache to SCH_IO_DATABASE to improve loading performance
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17031
(cherry picked from commit 991ddfe6be
)
2024-02-23 16:49:35 +01:00
Roberto Fernandez Bautista
a928299ae0
Legacy libraries: De-duplicate field names on load
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16902
(cherry picked from commit 07ab18a1e6
)
2024-02-23 16:49:35 +01:00
Roberto Fernandez Bautista
1a7237f38b
Altium: Don't create duplicate fields
...
(cherry picked from commit 420413969e
)
2024-02-23 16:49:35 +01:00
Roberto Fernandez Bautista
b3b6637b44
Altium: Don't load library parameters with an owner for now
...
In Altium many objects can have parameters (including pins). For now
we will drop library parameters belonging to any sub-components of a
symbol.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17048
(cherry picked from commit 1a6e6a06eb
)
2024-02-23 16:49:35 +01:00
Jeff Young
adae4de438
Don't use EQUALITY flag when doing a symbol diff with library.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16944
2024-02-22 23:37:50 +00:00
Jeff Young
51848a0b43
Code cleanup and compiler warnings.
2024-02-22 23:37:45 +00:00
Jeff Young
2d7f4faf72
Set up default netclass wire & bus widths.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17024
2024-02-22 23:37:42 +00:00
Jeff Young
c75bb5d01a
Formatting.
2024-02-22 23:37:39 +00:00
Jeff Young
df8f043c16
Improve layout of schematic colors preview.
...
Also, set pin name/number sizes. Don't use defaults (which
will get plucked out of the Symbol Editor's settings).
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17043
2024-02-22 23:37:30 +00:00
Jeff Young
b6036f368e
When updating RefDes only update the prefix.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16991
2024-02-22 23:37:18 +00:00
Jeff Young
25291d6e3a
Check known m_Desc field before m_Fields.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16971
2024-02-22 23:37:15 +00:00
Jeff Young
f4a085575a
Show friendly name in toolbar button tooltips.
...
(Don't require the same text to be put into the tooltip.
It's error-prone and also disallows us from having a separate
tooltip for toolbar buttons.)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17009
2024-02-22 23:37:13 +00:00
Jeff Young
a34b242f4e
Delete empty Netclass fields only if there are others.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16997
2024-02-22 23:37:08 +00:00
Jeff Young
a610542a19
Various string issues held over from 8.0 string freeze.
2024-02-22 23:36:37 +00:00
Jeff Young
2ab492474e
Improve alignment tooltips.
2024-02-22 23:36:34 +00:00
Jeff Young
3caede3799
Ignore duplicate/repeat when drawing an existing item.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16885
2024-02-22 23:36:30 +00:00
Jeff Young
9d40374baf
Don't capture references to local variables for CallAfter.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16934
2024-02-22 23:36:27 +00:00
Wayne Stambaugh
27911d9b5a
Fix crash when changing sheet file name that contains a highlighted net.
...
Performing a full connectivity rebuild after changing a sheet file name
ensures that there are no stale connectivity object pointers laying around.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17011
2024-02-17 08:50:22 -05:00
Ian McInerney
206a631135
Ensure stream is valid before checking for Eagle XML tag
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16989
Fixes KICAD-7QQ
2024-02-16 11:14:10 +00:00
Marek Roszko
f894a41dc2
LIB_SYMBOL::IsMulti() seems to be wrong, use the iterate conditional as the multi-unit check instead
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16932
2024-02-16 00:18:05 -05:00
Marek Roszko
9e08e6e4f1
USe setactive in cli in the LoadSchematic helper too
2024-02-16 00:08:10 -05:00
Jon Evans
7b0bb59b37
Remove hard-coded versioned env vars in most places
2024-02-15 15:31:08 +00:00
Seth Hillbrand
0775d1364a
Add bezier icon
...
Fixes https://gitlab.com/kicad/code/kicad/issues/16830
2024-02-14 02:01:01 +01:00
Marek Roszko
f73d45b0cf
Add $schema prop to drc/erc
2024-02-13 19:08:55 -05:00
Mike Williams
c92728715d
Schematic: import schematic sheet content, allow move and undo
...
Otherwise, the schematic is just plopped on the screen, causing
connections and junctions to be missing that should be present.
2024-02-13 12:18:46 -05:00
Jeff Young
12c8f5b14d
Update compatibility mode and save flags in ngspice.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16955
2024-02-13 14:50:15 +00:00
Marek Roszko
2afe4db945
Add some missing newlines in cli output without changing strings
2024-02-11 21:12:21 -05:00
Marek Roszko
6a37f99e94
Fix crash if we exit lib table setup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16917
2024-02-11 21:05:23 -05:00
Marek Roszko
d694bb5960
Use file name rather than path for erc/drc json and text reports
2024-02-11 20:16:22 -05:00
Alex
b5982f7319
EasyEDA import: force close some line chains.
2024-02-11 23:52:56 +03:00