This change no longer sorts pasted sheets by page number. This was done
because pasted sheets may not be numbered. When sheets are not numbered
they are sorted by UUID path which results in some unexpected results.
Since the pasted sheet code uses recursion, pages will be numbered in the
order they are added.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16580
(cherry picked from commit 4cf22e428c)
Running the schematic editor in the stand alone mode can result in an
empty project name. Rather than assert when the project name is empty,
just don't run the pruning algorithm. The pruning will just have to
happen on the next load of the schematic when it has a proper project
name.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16577
(cherry picked from commit 0df8d5c2d6)
This was causing unwanted tree expansions when descending a sheet hierarchy
in editor.
Also fixed an issue with the tree highlighting when changing sheets in the
schematic editor.
(cherry picked from commit 50cad558cf)
The new behavior is to only expand to the first child of the root sheet
level. On very complex hierarchies, this makes the navigator far more
useful.
Do not update schematic hierarchy navigator on every edit. Now only
sheet changes will trigger a rebuild of the tree.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16371
Pasting from the clipboard when copying from another project can leave
sheet instance information that is not valid for the current project.
This change prunes all sheet instance information that is not relevant
to the current project. It also prunes invalid paths created by pasting
sheets from different paths in the same project.
(cherry picked from commit 482aff3f0b)
produces a crash when the library links are updated, and a power symbol is not found
in any loaded library.
Add also an option to export all symbols or all not pwer symbols
From master branch
Fixes#16229https://gitlab.com/kicad/code/kicad/-/issues/
The paste code creates invalid KIID_PATH objects with a zero length. All
paths must include the root KIID at a minimum. Code was added to prune
the invalid paths and some defensive code was adding to the formatter to
prevent the crash in case there are other paths where someone generates
a zero length path.
Pruning orphaned instance data does not work when loading schematics prior
to version 7 because the paths did not include the root sheet UUID. Once
the file is saved to V7 or later, the next load will prune any orphaned or
invalid instance data for the current project.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16245
(cherry picked from commit 764df1d107)
It appears that in our zeal to prevent file changes when saving shared
schematics, we (I) clobbered saving relative symbol instance data paths
to the clipboard. This has be restored along with setting the correct
symbol unit for relative clipboard paths.
Fixed a serious issue with KIID_PATH::MakeRelativeTo() where the original
path was not restored when the incremental KIID object test fails. This
also included a minor optimization using the actual KIID object for
comparison instead of converting it to a string and then comparing the
string.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15981
(cherry picked from commit 6dc25f4775)
strcmp returns 0 if strings are the same but compareIbisWord returns
True (1).
Adds an IBIS simulation QA test case to catch this in the future
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16223
[CHANGED] Bus highlight tool now supports toggling between highlighting
only the bus objects and highlighting the bus and all of the
bus member objects.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15388
(cherry picked from commit f6c99816b2)