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
This adds a small KiCad logo in the top left of the Doxygen pages.
54px used as 55px is maximum recommended height for Doxygen logos.
For the main docs and the dev docs, this is easily done in the Doxyfile,
for the Python docs, as that is run from the binary dir, the source dir
is passed as an Environment variable.
For the path separator in full filename, the sheet filename from the dialog uses the Unix notation,
and the "old" sheet filename uses the default notation (it is the actual filename).
Therefore, on Windows, after closing the dialog, the filename was always seen as modified,
and the hierarchy was incorrectly modified (annotation cleared).
The itemlist and zonelist in connectivity can both contain many items,
so both use the same OpenMP routine. However, we can only clear the
dirty flag when we conduct a full search, including zones. Otherwise we
missing connections to zones when propogating changed items that are
then marked as not dirty.
Fixes: lp:1777993
* https://bugs.launchpad.net/kicad/+bug/1777993
When setting the maximum represented box, std::numerical_limits::min
returns the most negative number only for integers. For floating point,
it returns the smallest positive number. std::numerical_limits::lowest
is the same as min for integers but returns the most negative number for
floating point as well.
The origin item doesn't have a fixed size. It is constant on the screen but
changes the effective BBox size based on the zoom level.
But we can't simply set it to the maximum size as this causes a splitting degeneracy
when compiling for Debian i386. By modestly adjusting the bbox, we avoid the degeneracy
while keeping the origin visible at all zoom levels
Fixes: lp:1777379
* https://bugs.launchpad.net/kicad/+bug/1777379
During the symbol library table implementation, the legal character
tests for the footprint library table were changed and the forward
slash '/' character became illegal. This change broke editing some
users footprint library tables that already had '/' in library table
nicknames. This change split the library nickname and library item
name illegal character tests.