The move tool can stack on others, so when we re-enter the previous tool
this caused another immediate action. We flag re-entry in the tool
stack to check for this and avoid unexpected tool starts
I think the guessSelectionCandidates narrows down to a single item
in 99.9% of cases, so we can probably remove this entirely. But for
now it's safer just to fix it.
When a user clicks on the "Add Component", "Add Power" or "Add Footprint"
icon, they want to add the item. Requiring an extra click on the screen
before selecting the component/footprint is not needed.
We cannot do forward/reverse annotation in Single Top mode because we
depend on shared memory access. This disables the menu options in this
case and replaces the toolbar update pcb icon with the import netlist,
which is more appropriate for single top mode
Fixes https://gitlab.com/kicad/code/kicad/issues/7637
Rewrite of the calculation to convert CADSTAR to KiCad coordinates,
rounding half way cases away from zero.
Use integer division instead of double, to ensure precision.
Previous assumption of 100mil grid in CADSTAR schematic designs has
been proven to be incorrect. Let's use the "working grid" in the
original design instead.
- Rename member variable names to use the 'm_' prefix
- Rename a few object types that clashed with KiCad object names, such
as BOARD and SCHEMATIC, to avoid the use of '::' to access the KiCad
objects.
- Remove some unused code.
Original architecture was to pass KICAD_T in to specify what kind of
object you wanted. That didn't work well with things like cursor
shape so it was moved to setting booleans based on the ACTION. When
I cleared out the old KICAD_T stuff I missed one case where it was
still used. That is now corrected as well.
Fixes https://gitlab.com/kicad/code/kicad/issues/7651
Each symbol unit in eeschema has a unique identifier. But we don't have
a unique identifier for the entire symbol. So changing which symbol
instance was unit A (our default base for matching), changed the UUID
that we were using to match the footprints.
This commit adds all UUIDs to the netlist, allowing us to match symbol
to footprint without worrying about which unit is referenced.
This still does not handle changing different units on different sheets.
Fixes https://gitlab.com/kicad/code/kicad/issues/7604
Values entered by the user will be lost and the schematic can be broken.
This is especially true for generic components.
Add also a tool tip for this option.
Also allows some symbol lib operations when we know the context even
if the library itself isn't selected. (For instance, select a symbol,
copy, paste.)