giseldo/neodataset huggingface dataset:
"list nets" dialog in pcbnew should be non-modal (lp:#1838162)

[Original report](https://bugs.launchpad.net/bugs/1838162) created by **Oleg Endo (oleg.endo)**
```
Right now the "list nets" dialog is modal.  If it's open, the pcb can't be
scrolled or dragged.  Clicking on a net in the dialog that is out of sight
will not do "fit to view" and also does not allow doing that manually by
zooming & scrolling the pcb.  So one has to close the dialog, guess where
the net was, move the pcb into place, open the dialog again, re-type the
filter string ....

It'd be much easier if the dialog was non-modal, like e.g. the DRC results
dialog.

Application: KiCad
Version: 6.0.0-unknown-2af41e8~86~ubuntu18.04.1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1
(+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 4.15.0-54-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.22
    Boost: 1.65.1
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.58.0
    Compiler: GCC 7.4.0 with C++ ABI 1011

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: pcbnew ui

Story points: 6.0
pcbnew: allow column sorting (ordering) in "list nets" dialog (lp:#1838161)

[Original report](https://bugs.launchpad.net/bugs/1838161) created by **Oleg Endo (oleg.endo)**
```
The "list nets" dialog in pcbnew does not support support sorting of the
filtered displayed rows by any of the columns.  That can be extremely
useful when checking groups of traces which need to be length matched, e.g.
sort them by length.  Right now the only option to get that is to export
the result to a CSV file and open it in another tool (excel, calc ..) ...
quite annoying.

Application: KiCad
Version: 6.0.0-unknown-2af41e8~86~ubuntu18.04.1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1
(+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 4.15.0-54-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.22
    Boost: 1.65.1
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.58.0
    Compiler: GCC 7.4.0 with C++ ABI 1011

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: pcbnew ui

Story points: 6.0
change active layer icon in pcbnew changes all the time (lp:#1838158)

[Original report](https://bugs.launchpad.net/bugs/1838158) created by **Oleg Endo (oleg.endo)**
```
The icon for "change active layer" in pcbnew differs when it is launched
for the first time.

When kicad is freshly started, pcbnew opened from the main window, I get
icon 1.  After closing pcbnew and starting it again, I get icon 2.

Application: KiCad
Version: 6.0.0-unknown-2af41e8~86~ubuntu18.04.1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.58.0 OpenSSL/1.1.1 zlib/1.2.11 libidn2/2.0.4 libpsl/0.19.1
(+libidn2/2.0.4) nghttp2/1.30.0 librtmp/2.3
Platform: Linux 4.15.0-54-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.22
    Boost: 1.65.1
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.58.0
    Compiler: GCC 7.4.0 with C++ ABI 1011

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: pcbnew ui

Story points: 6.0
Bus/hierarchy bug, netlist broken (lp:#1838140)

[Original report](https://bugs.launchpad.net/bugs/1838140) created by **Diego Herranz (diegoherranz)**
```
Hi, all.

I'm using nightlies and facing a weird bug with buses. I was wondering
whether it can be related to recent bus upgrades.

I've got a bus:
ROW0, ROW1, ROW2, ROW3, ROW4, ROW5, ROW6, ROW7, which on the PCB layout
becomes
ROW0, ROW0, ROW0, ROW0, ROW0, ROW0, ROW0, ROW7 ???
It seems to be semi-random and I've seen other combinations too.

I've managed to reduce the SCH to a minimal example (attached). Further
changes to this seem to fix it somehow, so I couldn't reduce it anymore.
Note that one of the symbols is not on the official library so I've
included a local library.
I've tried replacing that symbol for a standard header, but that seems to
fix the problem, although I can't see anything wrong with the symbol
itself.

I asked on the development mailing list and jp charras confirmed it:

> I confirm there is a serious issue shown by this sample: the netlist is
broken.
> Moreover, when I try to add a bus name ("ROW[0..7]") to the bus, Eeschema
crashes.
> Looks like the bug has something to do with hierarchical labels.

> I do not see issues with the schematic.

I agree it is a serious one too given it breaks the netlist. I've got a SCH
which I can't layout because of this. It's not an important project and
that is why I'm using nightlies, but now I can't open the layout on 5.x
stable because the format changed :)

Many thanks!


Application: KiCad
Version: 6.0.0-unknown-6b031d9~100~ubuntu16.04.1, release build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.4.0-157-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.58.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009
Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: eeschema

Story points: 6.0
SetBrightened Python call does not work on footprints (lp:#1838131)

[Original report](https://bugs.launchpad.net/bugs/1838131) created by **Mitja Nemec (mitjan)**
```
The SetBrightened, SetSelected, ClearSelected, ClearBrightened methods
don't work on module directly. This was tested from python console and an
action plugin.

Though you can achieve the almost the expected results if you
Brighten/Select all the module primitives (pads and graphicalitems). So
this make it a very low priority bug.

Note that some text items remain unbrightened (see attached picture).

Using:
Application: kicad
Version: (5.1.2)-1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6
libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 7 (build 7601, Service Pack 1), 64-bit edition, 64 bit,
Little endian, wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: pcbnew python

Story points: 6.0
Wish : Footprint Wizard : Allow expressions in numerical fields (lp:#1838130)

[Original report](https://bugs.launchpad.net/bugs/1838130) created by **Laurent Haas (efcis)**
```
When designing a footprint with the footprint wizards, it would be quite
convenient to allow numerical expressions / formulas in the appropriate
fields, the same way it's now possible in KiCad.

Application: kicad
Version: (5.1.2)-1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6
libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 7 (build 7601, Service Pack 1), 32 bit, Little endian,
wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 7.3.0 with C++ ABI 1011

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: pcbnew

Story points: 6.0
grid spacing in gerber viewer (lp:#1838074)

[Original report](https://bugs.launchpad.net/bugs/1838074) created by **Jacob Michael Winters (drumcorundumconundrum)**
```
the lowest selection on the grid spacing for the gerber viewer does not
function

Application: kicad
Version: (5.1.2)-2, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6
libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian,
wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: gerbview

Story points: 6.0
Eeschema: Hierarchical sheet parameters (Parametric Hierarchical Design) (lp:#1838072)

[Original report](https://bugs.launchpad.net/bugs/1838072) created by **Hildo Guillardi Júnior (hildogjr)**
```
Should be interesting allow to use fields at the hierarchical sheet block.
This fields should be propagated to each part inside the sheet when create
the XML BOM.

This will allow different assembly and some company standardization adding
"DNP" (do not populate) and other fields that will help to generate
spreadsheets and assembly list.


Application: Eeschema
Version: 6.0.0-unknown-dd702cd~86~ubuntu16.04.1, release build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.4.0-154-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.58.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: eeschema feature.request

Story points: 16.0
EESchema - <enter> or Find button attempts to advance to second hit (lp:#1838021)

[Original report](https://bugs.launchpad.net/bugs/1838021) created by **Art (diametrix)**
```
If I try to find a symbol in an existing schematic and type it's name in
the Find text box, that symbol reference field becomes highlighted but the
cursor doesn't move to the symbol.  That doesn't help me at all if the
symbol is off the screen or more frequently under the Find pop-up window.
Now if I hit the Find button I get the message about reaching the end of
the schematic and nothing being found.  Only if I hit Find button again
will it actually move the cursor to the symbol.

A couple of things here.  The cursor behavior in EESchema need to copy that
of PCBNew.  If I have both windows open and run a search in EESchema,
PCBNew actually behaves as you would expect it and pans and zooms on the
desired footprint and highlights it even before the Find button is pressed.
Second, Find pop-up dialog should never cover the results of the search.
It is a good feature to remember its last position, but the default
position should be somewhere else, rather than the center of the screen.
Better yet forget Win 3.11 style search and have a simple text box in the
the GUI panel along with the rest of the buttons and add an options drop
down list where you can tune parameters for your search.
```
Original tags: eeschema

Story points: 6.0
search text on pcbnew (lp:#1838006)

[Original report](https://bugs.launchpad.net/bugs/1838006) created by **m (easyw)**
```
In PCBnew, it is possible to search using 'CTRL F' for Reference Fields
It is not possible to search for simple Text fields.
It is common to put some text annotation on pcbnew like i.e. on comments
layer... it would be useful to let the search work also on 'gr_text' fields
or even on title_block elements.
```
Original tags: pcbnew

Story points: 6.0
Raytrace button status error (lp:#1837950)

[Original report](https://bugs.launchpad.net/bugs/1837950) created by **Hildo Guillardi Júnior (hildogjr)**
```
Raytrace button doesn't start pressed if the 3D viewer open with ray-
tracing already active.

To reproduce:

1) Draw something in the Pcbnew;
2) Go to 3D viewer;
3) Active the Raytracing by the button at the bar;
4) Close the window (3D Viewer);
5) Re-open the 3D viewer;
6) See that, despite the raytracing is active, the button is not pressed.


Application: 3D Viewer
Version: 6.0.0-unknown-3514473~86~ubuntu16.04.1, release build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.47.0 OpenSSL/1.0.2g zlib/1.2.8 libidn/1.32 librtmp/2.3
Platform: Linux 4.4.0-154-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.58.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.47.0
    Compiler: GCC 5.4.0 with C++ ABI 1009

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: 3d-viewer ui

Story points: 6.0
PCBnew: Length Matching tool does not match to full length (lp:#1837913)

[Original report](https://bugs.launchpad.net/bugs/1837913) created by **Madeliene Kattman (katm)**
```
Hi,

I'm laying out several DDR4 packages for an embedded design. I've recently
discovered the pad to die length feature, and this would dramatically
simplify my life, allowing me to keep track of package skews within kicad
(instead of a really complicated spread sheet).

After I add the skew value (in mm) to the FPGA package, it correctly
displays the trace segment lengths, the total PCB trace length, the Full
net length, and the pad to die length.

However, when I want to length match, it only matches to the PCB trace
length, not the full length (which includes PCB skew).

This means that I can't actually use kicad to length match with this new
feature, because I still need to keep track of the pad skews and arrive at
separate PCB trace lengths per byte lane.

I obviously need to length match to the full net length, not just the PCB
trace length.

Would it be possible to select which length I want to match - either the
PCB trace length or the full trace length (that includes package skew)?

I am currently using:

-----

Application: Pcbnew
Version: (5.1.0-1250-g044b4a6d4), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.64.0 OpenSSL/1.1.1b zlib/1.2.11 libidn2/2.1.1 libpsl/0.20.2
(+libidn2/2.1.1) libssh2/1.8.1 nghttp2/1.36.0
Platform: Linux 5.0.4-arch1-1-ARCH x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.69.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.64.0
    Compiler: GCC 8.2.1 with C++ ABI 1013

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=OFF
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON





Thanks! I'm really excited for the potential use of this feature.
```
Original tags: pcbnew

Story points: 6.0
pcbnew add text rotate before selected  (lp:#1837875)

[Original report](https://bugs.launchpad.net/bugs/1837875) created by **Martin Thomas (mtlaunchpad)**
```
When I add Text on the Silk Screen, a before selected text gets affected
(see video)

Application: KiCad
Version: (5.1.0-1354-g9e90cb957-dirty), release build
Libraries:
    wxWidgets 3.0.2
    libcurl/7.52.1 GnuTLS/3.5.8 zlib/1.2.8 libidn2/0.16 libpsl/0.17.0
(+libidn2/0.16) libssh2/1.7.0 nghttp2/1.18.1 librtmp/2.3
Platform: Linux 5.1.18-mt x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.2 (wchar_t,wx containers,compatible with 2.8) GTK+ 2.24
    Boost: 1.62.0
    OpenCASCADE Community Edition: 6.8.0
    Curl: 7.52.1
    Compiler: GCC 6.3.0 with C++ ABI 1010

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: pcbnew

Story points: 6.0
Python pcbnew Set/GetTimeStamp fails (lp:#1837867)

[Original report](https://bugs.launchpad.net/bugs/1837867) created by **muXer (mux3r)**
```
I wrote a plugin for stitching via's in the PCB, but since several versions
it doesn't work anymore.

The GetTimeStamp and SetTimeStamp functions don't work as expected

SampleCode:

    def DeleteVias(self):
        target_tracks = filter(lambda x: (x.GetNetname().upper() ==
self.netname), self.pcb.GetTracks())
        for via in target_tracks:
            if via.Type() == PCB_VIA_T:
                print(via.GetTimeStamp().__class__, via.GetTimeStamp())
                if via.GetTimeStamp() == 33:
                    self.pcb.RemoveNative(via)
        self.RefillBoardAreas()


Output of the "print":

<class 'SwigPyObject'> <Swig Object of type 'timestamp_t *' at
0x7f4aea6ec720>
swig/python detected a memory leak of type 'timestamp_t *', no destructor
found.
```
Original tags: pcbnew python

Story points: 6.0
Paste-only pads do not adhere to paste shrinkage (lp:#1837808)

[Original report](https://bugs.launchpad.net/bugs/1837808) created by **Evan Shultz (evan-shultz)**
```
I believe some time ago pads with only a paste layer were changed so that
they weren't affected by any paste shrinkage at the footprint level. I have
a vague memory of that on the dev mailing list but I can't find it now.

Anyway, I'm not convinced that this is always the desired behavior.

See https://www.infineon.com/cms/en/product/packages/PG-TISON/PG-
TISON-8-2/. On this footprint there are paste pads for each outer copper
pad which are derived from the outer copper pads with a -0.05mm paste
clearance. That clearance value can be put on the footprint to affect pins
1 and 5 through 8. But on the big copper shape for pins 2-4, there are also
paste pads. It may be fine to place paste-only pads the same size as the
outer copper pads and let them shrink with the footprint paste clearance
instead of making paste-only pads ignore the footprint paste clearance.

I can see paste-only pads adhering to the footprint paste clearance or not
being valuable. And both dialogs where paste clearance can be adjusted have
warning about this, which is nice.

My suggestion is to give flexibility to this behavior, perhaps by adding a
preference option, because in some cases the current behavior isn't the
easiest to use and most intuitive.

See the example footprint I'll add to the next comment. Here the footprint
has one copper pad at the top left, and two paste-only pads on the right.
The footprint has a negative paste clearance, but the paste-only pads don't
shrink at all. If an option to have paste-only pads use the footprint paste
clearance was added, then I would expect the right two pads to shrink.

Note that this applies to mask-only pads as well.

Application: kicad
Version: (5.1.2)-1, release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.61.1 OpenSSL/1.1.1 (WinSSL) zlib/1.2.11 brotli/1.0.6
libidn2/2.0.5 libpsl/0.20.2 (+libidn2/2.0.5) nghttp2/1.34.0
Platform: Windows 8 (build 9200), 64-bit edition, 64 bit, Little endian,
wxMSW
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8)
    Boost: 1.68.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.61.1
    Compiler: GCC 8.2.0 with C++ ABI 1013

Build settings:
    USE_WX_GRAPHICS_CONTEXT=OFF
    USE_WX_OVERLAY=OFF
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=OFF
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=OFF
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: pcbnew

Story points: 6.0
Adding new text does not unselect previous selection (lp:#1837796)

[Original report](https://bugs.launchpad.net/bugs/1837796) created by **Seth Hillbrand (sethh)**
```
Steps:

1) Open board in pcbnew
2) Select an item
3) Start the text tool
4) Enter text and select OK to get to placement stage
5) Before placing, rotate the text.

Both the new text and the previous selection rotate.  With other drawing
tools, the previous selection is cleared before the new one is added.

Application: Pcbnew
Version: (5.1.0-1348-g3514473a5), release build
Libraries:
    wxWidgets 3.0.4
    libcurl/7.64.0 OpenSSL/1.1.1c zlib/1.2.11 libidn2/2.0.5 libpsl/0.20.2
(+libidn2/2.0.5) libssh2/1.8.0 nghttp2/1.36.0 librtmp/2.3
Platform: Linux 4.19.0-5-amd64 x86_64, 64 bit, Little endian, wxGTK
Build Info:
    wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
    Boost: 1.67.0
    OpenCASCADE Community Edition: 6.9.1
    Curl: 7.64.0
    Compiler: GCC 8.3.0 with C++ ABI 1013

Build settings:
    KICAD_SCRIPTING=ON
    KICAD_SCRIPTING_MODULES=ON
    KICAD_SCRIPTING_PYTHON3=ON
    KICAD_SCRIPTING_WXPYTHON=ON
    KICAD_SCRIPTING_WXPYTHON_PHOENIX=ON
    KICAD_SCRIPTING_ACTION_MENU=ON
    BUILD_GITHUB_PLUGIN=ON
    KICAD_USE_OCE=ON
    KICAD_USE_OCC=OFF
    KICAD_SPICE=ON
```
Original tags: pcbnew starter

Story points: 14.0