When using the button to select a footprint using the footprint chooser
dialog, the new footprint was not always taken in account (perhaps MSW specific).
It was due to the code to update the footprint name was between Disable() and
Enable, thus creating a loss of some events in the complex grid edition stuff.
This is now replaced by a lock flag to protect this code to be executed when
it should not.
From master branch
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18270
* 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
Parenting dialogs to child windows of top level windows is most likely
not defined behavior. It's also likely that this behavior varies across
platforms so it' best not to risk doing it. wxWidgets does not check if
the dialog parent is actually a top level window. There may be other
places we are doing this with our message dialogs so we should do an
audit.
- fix broken code KICAD_MANAGER_FRAME::PrintPrjInfo()
- fix issues created by using KISTATUSBAR instead of wxStatusBar
(the user field count differs because there are 4 other fields added)
- do do use a fixed size in KISTATUSBAR for FIELD_OFFSET_BGJOB_TEXT field:
fixed field size does not work fine if the text to display is not known
Fixes#16535https://gitlab.com/kicad/code/kicad/-/issues/16535
When exiting the dialog without actually visiting the table, the grid
cursor could be missing, so it could return -1. Guard against that
condition.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16342
When the grid is being validated, SetValue is called, which then ends up
running the file filter update. However, if the cell was never selected,
the file browser button would never have been created.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16316
The schematic librayr table was missing the Kicad Sexpr filter, and also
the filter inside the grid editor was never updated when the library
plugin type was changed in the grid, so a library of the new type could
not be selected.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16278