When using "Place Text" the crosshair was freezing if cancelled before
placing text.
After the crosshair freezes, the next uses of the "Place Text" or
"Add Dimension" caused the crosshair to jump to the screen location
where the previously the crosshair was frozen.
Cancelling the "Add Dimension" caused the crosshair to jump to the
screen location where the crosshair was when cancelled on the next use
of the "Place Text" or "Add Dimension".
Fixes: lp:1822578
* https://bugs.launchpad.net/kicad/+bug/1822578
It was confusing that the primary frames registered their tools
differently than the other frames. In addition, since the other
frames also added their own tools, foo_actions::RegisterAllTools()
didn't really register all tool but rather those used by the
principal frame (PCB_EDIT_FRAME, SCH_EDIT_FRAME, etc.)
Give the user the option of cancelling a file open if there are
segment zones; otherwise they're converted to polygon fills.
Fixes: lp:1823087
* https://bugs.launchpad.net/kicad/+bug/1823087
This behavior existed in 5.0.x but did not properly exit the edit tool
in 5.1. This removes stops the edit tool when we begin dragging a track
using the interactive router.
Fixes: lp:1820312
* https://bugs.launchpad.net/kicad/+bug/1820312
Reverting changes causes the item to become invalid. This can cause
issues when we have dangling pointers for the VIEW routines left over.
Until we implement a method of passing the reverted element back up to
the calling routine, we need to remove the selection for each Revert()
call.
Fixes: lp:1821909
* https://bugs.launchpad.net/kicad/+bug/1821909
When removing a point from the polygon, the vertex is removed before it
is tested for validity. If it fails validation, the edit is reverted
and the point count doesn't change, so the view update only modifies the
existing points. But the revert may also have changed the shared
pointer to the point array, invalidating the view's copy.
Fixes: lp:1821909
* https://bugs.launchpad.net/kicad/+bug/1821909
A zone refill display progress bar is shown when deselecting the zone after geometry changes.
However, on Linux, there are some artifact between the progress bar refresh and the board view refresh:
the filled areas are incorrectly shown: the insulated islands remain displayed,
although they are removed from the actual filled areas list
So it is disabled until a fix is found.
Previously, in many cases the selected zone was refilled on exit selection, even if the zone was not modified.
This is annoying, because the zone fill can be really time consuming, and cannot be called without a good reason.
Now the refilling is made only if a zone parameter is actually modified.
Highlight connections is meant to show the copper connections on a
board. We remove the non-copper pads from our selection when attempting
to source the net for highlighting.
Fixes: lp:1815898
* https://bugs.launchpad.net/kicad/+bug/1815898
Choosing the drag origin should not be dependent on the snap settings in
pcbnew. Snap settings are sensible when you are designating a target
only. Additionally, when dragging a module, we do not want the
footprint's pads to be used as targets for snapping.
Fixes: lp:1814402
* https://bugs.launchpad.net/kicad/+bug/1814402
Snapping to item options were partially disconnected when unifying
framework. This re-attaches the options and adds the additional option
for graphical items.
Fixes: lp:1801377
* https://bugs.launchpad.net/kicad/+bug/1801377
Rather than selecting an arbitrary track to snap, we select the closest
track to our point, allowing the via to be placed along the full track
length.
Fixes: lp:1813324
* https://bugs.launchpad.net/kicad/+bug/1813324
Prior to placing the via, we check if the resulting via will pass too
close to different nets on different layers.
Fixes: lp:1718827
* https://bugs.launchpad.net/kicad/+bug/1718827
When creating the zone cutout, we delete the old zone and add a new one
with each cutout. This requires resetting the source zone and clearing
our previous selection if we would like to continue using the cutout
tool on the new zone.
Fixes: lp:1812339
* https://bugs.launchpad.net/kicad/+bug/1812339
There is some odd interaction in the default copy constructor for
TOOL_EVENT using boost::optional under gcc. Avoid this by explicitly
constructing the event needed for cut
Fixes: lp:1812848
* https://bugs.launchpad.net/kicad/+bug/1812848