Interestingly, the majority of people in a KiCad training course wanted
to draw subsheets this way. There is no real reason to keep the
existing select behavior, so this greases some skids
Don't wait for mouse to move before refreshing after a command.
Also fixes a crash bug deleting an item after an
Unstage() (the Unstage() has already deleted the item).
Also fixes a crash when changing label type during
creation of a label produces a mess.
Also Keep cursor aligned to grid when not warping
back to original point.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16828
Always look for pre-existing undo/redo record. Checking for IsNew()
is less robust and should be avoided. Also moves the checking to a
location where it will be easier to ensure that it's uniform.
Push get-undo-level-item processing down a level so it is uniformly
called.
Make sure tables & labels are uniformly handled.
Remove incorrect usage of Get/SetGroupId() for storing lastPin
(which we don't use anyway).
Lists of deleted and changed items MUST include the screen pointer.
An item could be changed on one screen but not on another.
Also tightens handling of PCB_NETINFO_T items, which are not in the
view.
Also fixes a bug where there is no increment parameter if you assign
the base increment command to a hotkey.
(This was discovered while testing the above changes.)
Also fixes a bug where delete during a move in PCB Editor did an
undo instead of a delete.
(Again, found while testing above.)
An experiment was also run to collapse shared parts of SCH_EDIT_FRAME
and SYMBOL_EDITOR_FRAME into SCH_BASE_EDIT_FRAME. However, sharing the
undo code actually increased complexity, and there was very little else
of value in SCH_BASE_EDIT_FRAME (other than the Increment() routines).
Sometimes, you don't want those 45° corners in your nice, clean zones.
This adds an additional mode that can be selected, cycling through
free-angle, 45° angle and 90° angle constraints
The scope, recursion, reset options and message filters remain in the
user preferences. Others including numbering, sort order and reuse are
schematic preferences.
Also, the oddball subunit display remains here but it doesn't really
belong in annotation.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17942
Keep state for reuse in the class. This allows us to properly pick the
value when fully reannotating
Don't annotate when placing new units. Just step ahead in the unit
value while keeping the refdes number constant. This eliminates the
jumping around to unplaced units when placing new multi-unit symbols
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21378
This also removes the GROUP/UNGROUP-specific undo actions.
This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.
This also fixes some undo bugs when dividing wires etc.
This also fixes some bugs with new sch items not
being created within an entered group.
This is a re-implementation of 39c2745f55fff72470ca1ea86ac7b1ea225908bd
that was removed by e5089d783d08f75e57b3ea90ed64a089e5b07b0b
This implementation works in the tool, containing side effects
(hopefully) better than the initial implementation. The multiple labels
are input as multiple lines instead of labels with spaces, allowing for
copy/paste between spreadsheets of labels
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10950
Cloning the item into the previewe means that if we later increment
it, the preview clone doesn't update. Use the non-owning preview
interface to use the item directly in the preview.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19433
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