The general idea is to support user-units inheritance. The
UNIT_BINDER allows wrapped controls to inherit units from their
parent dialog, while KEYWAY_HOLDER and DIALOG_SHIM allow child
KEYWAY_HOLDERs or DIALOG_SHIMs to inherit units from their
parent.
The GetUserUnits() method signature has to move to KEYWAY_HOLDER
rather than KEYWAY_PLAYER (where it makes more sense) as it’s the
only common ancestor of KEYWAY_PLAYER and DIALOG_SHIM.
As long as we'll be using the UNIT_BINDER more widely, it also
makes sense to move evaluation and validation into it.
This commit also provides eeschema’s DIALOG_LABEL_EDITOR and
pcbnew’s DIALOG_TRACK_VIA_PROPERTIES and DIALOG_SET_GRID as
models of how to use the new user-units inheritance, eval, and
validation.
Fixes: lp:593795
* https://bugs.launchpad.net/kicad/+bug/593795
(cherry picked from commit c8bc53e)
Step 1 of the g_UserUnit global eradication. This commit includes
basic hookup of hotkeys, units tool-buttons and grid dialogs.
(cherry picked from commit e0500ab)
Be consistent with order, formatting, etc.
Remove debug stuff such as zone timestamp and net code.
Clean up misleading pad messages.
(cherry picked from commit 2132109)
Also makes better use of space to significantly increase number
of markers shown.
Fixes: lp:1748676
* https://bugs.launchpad.net/kicad/+bug/1748676
(cherry picked from commit a1d8097)
The old item pointers (which aren't safe to keep around) were
removed in favour of opaque references (void*) which are then
compared against existing items when needed.
Also improves brightening by brightening the whole footprint
(ie: its pads, drawings, reference and value) rather than just
its target cross.
(cherry picked from commit 30e90b0)
Small icons for dialog browse, refresh, and row operations.
Icons in B&W so they don't over-emphasize with respect to other
controls in the dialog.
Layout cleanup for consistency. Removal of the blank space to
left of the fields list in the Global Fields Editor, and addition
of column-sizing-to-list-width.
More even spacing for buttons in html report panel.
Honor platform conventions for action button order and layout.
Move netlist importer to update-pcb-from-schematic algorithm
(display messages and then update instead of "dry run" checkbox)
(cherry picked from commit b21e19d)
The main issue is the fact Excellon files have no coordinate fine format definition.
Only the units are defined.
Units are floating point numbers or integer numbers.
Integer numbers can be defined as 3.3 or 2.4 numbers (mm/inches)
However some files (altium drill files for instance) use an other notation.
This fix is a workaround to accept 2.x (inch) or 3.x (mm) notations.
Fixes: lp:1754121
https://bugs.launchpad.net/kicad/+bug/1754121
Fixes: lp:1782053
https://bugs.launchpad.net/kicad/+bug/1782053
Hotkey options have shifted some options from context-specific to global
hotkeys. This causes conflicts with old hotkey definitions. Instead,
we keep the v5 eeschema/pcbnew hotkeys completely separate. Users can
still import their custom hotkey files from v4.
Fixes: lp:1778408
* https://bugs.launchpad.net/kicad/+bug/1778408
In Cairo, we don't have z-ordering implemented, so we need to draw the
clearance outline first otherwise it will draw a large, grey overlay
that hides the actual track while routing.
Fixes: lp:1779228
* https://bugs.launchpad.net/kicad/+bug/1779228
After refilling zones, we need to unconditionally remove the filled
polys from the map because their fills map have changed. Left-over
filled polygons will not map to current polygons, creating "ghost"
islands in the connectivity. Removing these can overflow the polygon
count.
Fixes: lp:1778454
* https://bugs.launchpad.net/kicad/+bug/1778454
Three instances of variables named "reference" shadow a typedef
within std::vector producing:
warning: declaration of ‘reference’ shadows a previous local [-Wshadow]
note: shadowed declaration is here
typedef typename _Alloc_traits::reference reference;
This patch works around by renaming "reference" to "schReference".
When staging a commit for an object that has already been modified,
there is a Clone() made for the hypothetical entry. We need to free it
if we are not storing a new entry.
When parsing component names, we need to account for the possibility of
illegal characters (e.g. "/", ":") in the names from v4 libraries. They
are fixed internally by the cache parser but if we don't fix them
in the rescue routine, the symbol won't match it's cache name.
This standardizes all schematic illegal character routines into LIB_ID
Fixes: lp:1774774
* https://bugs.launchpad.net/kicad/+bug/1774774
Paths based on DEFAULT_INSTALL_PATH do not work on Windows,
as in fact there is no default install path, as in case of Unix-based
systems. In such case, the initial paths point to mingw subdirectories
that normally do not exist on user machines.
The patch changes the initial path values to make them relative to
the executable and follow the current Windows installer scheme.
Fixes: lp:1775796
* https://bugs.launchpad.net/kicad/+bug/1775796