Add Display Settings to Footprint Browser.
Make each of them OpenGL on OSX and Cairo on other platforms.
Allow auto-zoom to be turned off and save last zoom setting.
Make ordering of tools in htoolbar consistent.
Standardize grid and zoom drop-downs.
Fixes: lp:1791667
* https://bugs.launchpad.net/kicad/+bug/1791667
Unplated holes in Ealge can either be free floating or part of a larger
footprint. We handle both in the same packageHole routine by either
offsetting the hole in a centered footprint or offsetting the footprint
in a centered hole.
Fixes: lp:1791287
* https://bugs.launchpad.net/kicad/+bug/1791287
Invalid graphical items that cannot be created in pcbnew may still be
created by external tools. This synchronizes the pcbnew view display
with the gerber output and 3d viewer line widths for these types of
lines. Only filled polygons are permitted 0-width lines.
Fixes: lp:1790534
* https://bugs.launchpad.net/kicad/+bug/1790534
Normally working at a zoom level when a footprint is not fully displayed
indicates that the user modifies other components. Selection Tool used
to discard footprints that had area larger than the viewport area, but
it may make sense to select them if there are no other candidates.
Fixes: lp:1789578
* https://bugs.launchpad.net/kicad/+bug/1789578
This allows full copper connections even when THT changes a trace layer.
It avoides selecting the actual pad to prevent actions on the copper
connections from affecting the footprints as well.
Fixes: lp:1789807
* https://bugs.launchpad.net/kicad/+bug/1789807
Items removed from the connectivity list will not have valid parents, so
we cannot update the BBox, thus we will only use the cached value.
Fixes: lp:1785605
* https://bugs.launchpad.net/kicad/+bug/1785605
Text can be included in the same selection group as the parent module.
Thus if we clear the selection marker on a module's child elements we
also need to remove the element from the selection group.
Fixes: lp:1789418
* https://bugs.launchpad.net/kicad/+bug/1789418
Using Title + Message wasn't working for all the dialogs which
did substitutions in the message (which was a lot of them).
Fixes: lp:1789348
* https://bugs.launchpad.net/kicad/+bug/1789348
The values in choice are 0.0 90.0 not compatible with floating point notation (0,0 90,0)
and always detected as bad values (unless you have loaded a up to date dictionary, which is not necessary the case)
good values are in any case 0 90 180 and -90
Missing types were handled by the superclass (in the case of zones)
PCB_CONNECTED_ITEM, which incorrectly returned "true" when testing lines
against zones.
Fixes: lp:1789195
* https://bugs.launchpad.net/kicad/+bug/1789195
Before closing the window in the footprint editor, we clear the existing
pcb, undo/redo stack and associated memory to prevent callbacks
double-freeing on destruction.
Fixes: lp:1784504
* https://bugs.launchpad.net/kicad/+bug/1784504
The default board soldermask clearance should not be used in the
footprint viewer. Setting the board's solder mask margin to 0 will
leave the footprint displayed with only the soldermask defined by
the pads or the footprint.
Thanks to Fabian Inostroza for pointing out the missing line.
Fixes: lp:1779979
* https://bugs.launchpad.net/kicad/+bug/1779979