This can be useful when managing auxiliary fields.
This is only for the 8.0 branch, as LIB_FIELD is merged
with SCH_FIELD in 8.99, so this is already handled.
We also need to consider electrical type as an exact hit when we are
showing it. Otherwise, we get the pin added to our consideration list
but not selected without hitting close neighbors
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16183
(cherry picked from commit 3620887a22)
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
(cherry picked from commit ba4974749c)
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.
* Do not handle tab key event when committing property changes so the
property grid tab navigation works correctly.
* Do not call commit property changes on tab key when no changes are
pending.
* Skip event handling in the base object value change and changing event
handlers in case they do not get overloaded in derived objects.
* Do not force focus to canvas on property change so arrow and tab key
grid navigation work properly. Forcing the user to click the property
grid control to edit a single property doesn't make sense.
* Pass properties panel show event up the event stack.
* Do not set focus to canvas in tool dispatcher if it already has the
focus.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16957
manully cherry picked from commit 8a1347d2c8
Use the root schematic UUID to order projects and sort symbol instance
data by KIID_PATH. This will ensure file changes to instance data are
more consistent by using a fixed ordering.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17737
(cherry picked from commit a86a258f66)
When adding a sheet using a schematic from another project, set the
project name for the new symbol instance data to the current project
rather than the project name from the copied instance data.
(cherry picked from commit 5d99aaf0a4)
When we replace a symbol with one that has fewer pins, the old pins
are released, which leaves points to them in the connection graph
dangling. This updates the pointer to use the cloned copy in the undo
stack until the connection graph is rebuilt with the new data
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17851
(cherry picked from commit 315ad0e071)
When changing from a larger part to a smaller part, the previously
existing pins may be removed from the screen but still linked to
elements in the connection graph because we don't set them dirty unless
the changed element overlaps
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17851
(cherry picked from commit 0cd3e17db7)
Remove duplicate sheet instance page numbering. It's already done when
the sheet is loaded from an exiting file or an already loaded schematic.
Remove the unnecessary page update code from the drawing tool.
(cherry picked from commit 17bcc27ff6)