Also reformatted the file to make it easier to see what is there and
what is missing. Apologies to the 100-char-width folks, but we were
just missing to many command IDs in this file.
Fixes: lp:1828006
* https://bugs.launchpad.net/kicad/+bug/1828006
Modern mice feature horizontal scrolling capabilities and those end
up being treated by KiCad as regular scroll events causing confusion
among users.
The fix works by discarding the handling of wheel events other than
the ones for the vertical axis.
Fixes: lp:1828080
https://bugs.launchpad.net/kicad/+bug/1828080
If you have, for instance a pin selected and do a cmd-E we'll filter
out the pin and then do nothing. We should instead treat it as a
hover selection if everything got filtered.
When, inside a complex hierarchy, one switch from an instance of a sheet to an other instance of this sheet,
the page number shown in the worksheet was not updated on screen, and the initial number was displayed.
Fixes: lp:1827981
https://bugs.launchpad.net/kicad/+bug/1827981
Currently, the format enforces single lines when possible, but does
not enforce readable column-based alignment (and, moreover, *removes*
such manually added alignment:
switch( m_orientation )
{
case PIN_RIGHT: m_orientation = PIN_UP; break;
case PIN_UP: m_orientation = PIN_LEFT; break;
}
Change this to multi-line by default:
switch( m_orientation )
{
case PIN_RIGHT:
m_orientation = PIN_UP;
break;
case PIN_UP:
m_orientation = PIN_LEFT;
break;
}
If the developer wishes for column-aligned single-line cases, this
is permitted, but much be done manually:
switch( m_orientation )
{
case PIN_RIGHT: m_orientation = PIN_DOWN; break;
case PIN_UP: m_orientation = PIN_RIGHT; break;
}
CHANGE: the _clang-format file to reflect this, and add note about
manual override in the dev docs.
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.)
Don't edit sheet during AddToScreenAndUndoList() call. If it's
cancelled and we delete the item, callers will still own pointers
to the freed memory. Do it in New and Paste instead.