wxWidgets 3.1 has deprecated wxPATH_NORM_ALL when normalizing file
paths when calling wxFileName::Normalize(). This change keeps the
existing behavior except in places where our own internal
ExpandEnvVarSubstitutions() to expand environment variables.
(cherry picked from commit 898ec0d094)
Common settings may change colors so make sure that we refresh the draw
objects when the settings change to draw them in the proper colors.
Failing to do this may also cause left over lines on the screen
depending on OpenGL drivers
Fixes https://gitlab.com/kicad/code/kicad/issues/11921
When double-clicking to open a symbol, it is no longer selected in the
tree. We need to use the `GetTargetLibId()` to pick the correct symbol
(first selected, then current) when using the duplicate command
Fixes https://gitlab.com/kicad/code/kicad/issues/11034
Also makes sure the progress dialog is closed when we're done reading
symbols (it used to stay up for much of the symbol editor initialization).
Also makes sure that any cancel in the preLoad step is honoured in the
sync step. (The preload is done because it is multi-threaded and therefore
faster than the single-threaded sync.)
Also makes sure that individual threads pay attention to the cancellation,
not just the GUI thread.
Fixes https://gitlab.com/kicad/code/kicad/issues/8372
(cherry picked from commit 1f16092e29)
Undo/Redo can change the symbol referenced by the symbol drawing tool.
This updates the current symbol before important steps to keep the
system synced
Fixes https://gitlab.com/kicad/code/kicad/issues/10125
There doesn't appear to be any reason why the LIBID needs to be populated
before a "save as", seeing as the user will be inputting the new lib name
and lib nickname via the dialog.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9744
We have a hack for turning accelerator keys that wxWidgets turns into
menu commands back in to accelerator keys -- but it requires that the
corresponding menu items be enabled in order to work.
Can't escape by default because the allowed characters differ in the
read-only libraries and existing schematics that reference them. So,
escape when we import into standard KiCad Libraries
Fixes https://gitlab.com/kicad/code/kicad/issues/9419
Also cleans up the dialog a bit.
Also changes the workings of NormalizePath to return the input if
it couldn't be shortened which saves open coding that behaviour in
all its callers.
Fixes https://gitlab.com/kicad/code/kicad/issues/9036
This allows the workflow:
1) Edit symbol in schematic
2) Save As to original library
Also allows the user to quickly overwrite a symbol they don't want,
either by importing over the existing symbol or creating a new one.
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.