If the selection filter has blocked all selections under the cursor,
show a subtle flash on which filter(s) did the blocking. Helpful for
people getting frustrated by not being able to select locked items.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20487
Makes all canvases obey the same rendering parameter. Also keeps the
canvas selection with the anti-alias selection, which makes logical
sense. Reduce the antialias selection to a single choice rather than
two different choices for different canvases
Not sure what it is that caused it to break (reported by
Seth on Linux, but works for me and on the CI).
Rather than trying to be clever at this point, just do the dumb
thing (and remove the boost_test_print_type for wxSize to prevent
someone using it for the time being).
The m_imageData buffer in the BITMAP_BASE is an
internal implementation - the public API to persist the
data to a stream appears to be SaveImageData - so use that,
which hides the implementation (and generates the image data
"live" when needed).
Remove the public access to the m_imageData buffer as it isn't
needed for public use, and also is misleading.
Also break out the formatting of the data into KICAD_FORMAT,
as it's currently replicated in eeschema/pcb/pagelayout
formatting code.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19772
This means that you can run just a single case from the command line,
for example:
`qa_pcbnew -t DRCCopperSliver/_0`
The case is also automatically printed as context.
This means that when isolating a specific defect in one case,
you can run only that one case, which is useful under debuggers
and also when using slow tools like valgrind.
Not all possibe tests are doing this, but they're easy to do
when needed (i.e. when you want to run just one case)
Having thread pool as its own singleton in the library meant that each
kiface had its own threadpool, leading to many multiples of the threads
being started. Placing a singleton class in PGM_BASE ensures that all
kifaces use the same thread pool.
The singleton class can be extended to provide single instance
guarantee for any element across kifaces
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo. Avoids needing to
repeatly update.
Also updates AUTHORS.txt from current repo with contributor names
Since Boost 1.64, you can use the boost_test_print_type
customisation point to provide test printing for types.
Move all test printing functions to this, and scrap the
fiddly Boost version handling to deal with older Boosts
(KiCad is now at minver 1.71).
The IO_RELEASER is a thin-wrapper around a std::unique_ptr, but done
this way to allow easier addition of a custom deleter in the future if
something needs to call back into the IO_MGR.