Selection should survive cancelling an operation
Description
If I select some items (in pcbnew), for example move the with M and cancel moving, the selection is deselected.
IMO this is a bug because I cancel moving, I don't want to cancel what I did select. Maybe I want to do something else with the selection, for example deselect some unwanted item among other similar items.
Another way to make some things easier would be to add "Reselect previous selection" action.
I remember there has been some discussion about this, but probably it was like "let's see what this looks like after the selection filter etc. have been implemented". Now it looks like they don't help these use cases.
Steps to reproduce
- Select something.
- Initiate move with M.
- Cancel with Esc.
- Selection is deselected while it should stay because it was meant to cancel the move only.
KiCad Version
Application: Pcbnew
Version: (5.99.0-2987-gd12232116), debug build
Libraries:
wxWidgets 3.0.4
libcurl/7.68.0 OpenSSL/1.1.1f zlib/1.2.11 brotli/1.0.7 libidn2/2.2.0 libpsl/0.21.0 (+libidn2/2.2.0) libssh/0.9.3/openssl/zlib nghttp2/1.40.0 librtmp/2.3
Platform: Linux 5.4.0-42-generic x86_64, 64 bit, Little endian, wxGTK
Build Info:
Date: Aug 25 2020 11:57:00
wxWidgets: 3.0.4 (wchar_t,wx containers,compatible with 2.8) GTK+ 3.24
Boost: 1.71.0
OCE: 6.9.1
Curl: 7.68.0
Compiler: GCC 9.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=OFF
KICAD_USE_OCE=ON
KICAD_SPICE=OFF
KICAD_STDLIB_DEBUG=OFF
KICAD_STDLIB_LIGHT_DEBUG=OFF
KICAD_SANITIZE=OFF