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)
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
(cherry picked from commit 71b020eb14)
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
(cherry picked from commit e3d2f338de)
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.
We need the object in m_locale for a bit more things during program cleanup,
especially on macOS
The destructor of PGM_BASE is sufficient allowance of lifetime.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17369
(cherry picked from commit 9ffa5db667)
Co-authored-by: Marek Roszko <mark.roszko@gmail.com>
Don't try to do too many things at once. Separate
out fooptrint-children handling, visibility-handling,
and footprintEditor vs boardEditor differences.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17562
(cherry picked from commit 3958d1bf14)
* 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)