Cache the footprint info on disk (in the project).
Move timestamp-generation (and checking) to the filesystem so the
above will be bullet-proof.
Rewrite some wxWidgets classes for performance (see common.h).
This also fixes a bunch of bugs where an error during save would
still close the window (rather than cancelling the close action).
Fixes: lp:1785034
* https://bugs.launchpad.net/kicad/+bug/1785034
Put the buttons in platform-compliant order.
Get rid of SaveMultiOptions in favour of repeated standard save
dialogs with a "Apply to all" checkbox.
Fixes: lp:1783444
* https://bugs.launchpad.net/kicad/+bug/1783444
Eagle allows for variants of components to be listed in the schematic.
This patch copies the variant data into the imported schematic item,
prefixing the alternate variant names with "VARIANT_" and keeping the
alternate values.
There's no point in having both Save Symbol and Save Library when
only one can be selected at a time.
Also cleans up a bunch of extraneous icons, and fixes a few
copy/paste errors in menus and toolbars.
This removes the existing constructors so that all parsing must
be explicit and callers are made aware that they need to think
about illegal characters, malformed ids, etc.
Fixes: lp:1783474
* https://bugs.launchpad.net/kicad/+bug/1783474
Also brings horizontal toolbar in line with Pcbnew and Eeschema.
And updates the EDA_LIST_DIALOG to current practices.
This finishes the removal of the active library concept from the
Symbol Editor (started with the new component tree in 5.0).
Fixes: lp:1740717
* https://bugs.launchpad.net/kicad/+bug/1740717
This introduces a new util function in geometry_utils which snaps a vector
to axes or 45 degree lines. This can be used whenever you want to
snap a vector to these angles, but still want it to stay on a grid.
This snapping is used for the dimension tool and the ruler tool.
This is substantially simpler for two-point tools that the method
used by the line tool, which uses DIRECTION_45.
Fixes: lp:1780826
https://bugs.launchpad.net/kicad/+bug/1780826
Don't beep when inserting character from focused grid cell (but
before editor is opened).
Handle reference validation separately from name validation and
separately from user field value validation. The old way of setting
the fieldId on the validator wasn't working because the validator
gets copied.
Run validation when leaving cell. Don't just check for empty
(particularly for fields that CAN be empty).
Fixes: lp:1782917
* https://bugs.launchpad.net/kicad/+bug/1782917
(cherry picked from commit 79e04de)
Also move courtyard testing flags to BoardSettings API. Both are
still stored in the config until we decide where they go in order
to prevent prematurely disturbing the board file format.
Fixes: lp:684067
* https://bugs.launchpad.net/kicad/+bug/684067
(cherry picked from commit 5399f60)
... and GetMsgPanelInfo.
Step 4 in the g_UserUnit eradication effort.
Also removes a couple of conversion routines that were close
enough to extinction.
(cherry picked from commit c75da51)