* Refresh the view only when changes are made in the caller frame.
* Allows recreate a new instances when try to open the 3D view from a frame taht is not the initial caller
* Remove duplicate code in kicad frames.
Footprint filter provides two Regex filtering options. One for keywords
and one for footprint keywords. The footprint keywords (contained in
the symbol files) need explicit '*' at the beginning and end of the
filters to allow matching start/end. Type-in filters should search
implicitly matching any wildcard substring.
Fixes: lp:1769931
* https://bugs.launchpad.net/kicad/+bug/1769931
Recent versions of wxWidgets wxStandardPaths::GetUserConfigDir() correctly
append ".config" on Linux build which was incorrect as the current code
already appended it to the path. Add a check to see if ".config" is the
last path and append as required.
Check for XDG_CONFIG_HOME environment variable on all platforms not just
Linux.
Fixes lp:1769145
https://bugs.launchpad.net/kicad/+bug/1769145
Changes SHAPE_CONVEX to SHAPE_SIMPLE to better reflect the limitations.
Changes SHAPE_LINE_CHAIN::PointInside calculation to allow points
strictly inside a line chain
Fixes: lp:1768862
* https://bugs.launchpad.net/kicad/+bug/1768862
This is particularly important when bulk adding (by director, etc.)
as otherwise the user might end up having to click OK to many
many error dialogs.
Fixes: lp:1764057
* https://bugs.launchpad.net/kicad/+bug/1764057
Footprint filters need to be able to match the start and end of strings.
The standard wildcard filter implictly adds "*" to the start and end of
match strings, so we create a derived class that requires an explicit
"*" or "?" to match wildcards.
Fixes: lp:1751565
* https://bugs.launchpad.net/kicad/+bug/1751565
Also removes parallel implementation in favour of using the
normal one (with a new wxGauge-backed PROGRESS_REPORTER).
Fixes: lp:1764196
* https://bugs.launchpad.net/kicad/+bug/1764196
Symbol/footprint library and entry have the same set of forbidden
characters with a single exception, space character. To accommodate for
this difference, LIB_ID validation and fix methods have been extended to
specify the LIB_ID type that is checked (schematic/board).
LIB_ID::HasIllegalChars() and LIB_ID::FixIllegalChars() had two different
sets of characters treated as invalid in LIB_IDs. The set has been
factored out to another function to avoid duplication.
Also update the rest of the symbol-chooser usage to current
specs, including examining the timestamp to see if the list
needs loading at all.
Partial fix to: lp:1760936
* https://bugs.launchpad.net/kicad/+bug/1760936
The change track posture hotkey '/' was getting interpreted as the show
hotkey list shortcut '?' on windows. This fix is temporary hack to fix
the problem which much more involved than the simple #ifdef/#endif used
to fix this issue.
Add key code tracing to help analyze key codes for future development.
This is due to the fact the same ID was used for menuitems in menubar,
and tools in toobars.
Especially, some items were not compatible due to different attributes.
Windows does not accept the same ID for 2 items inside the same frame.
It creates issues (items not shown, Asserts, ...)
While we already cache the loaded footprint files, parsing said files
into the list is also time-intensive. Since the FOOTPRINT_LIST is
already hash-stamped against the current timestamps of the files that
make up the list, sharing a single copy of the list is quite
straight-forward.