kicad/pcbnew/tools
Seth Hillbrand 7470d5ba98 pcbnew: retain selection between edits
We had been deselecting items after calling edits to be safe in case the
item was deleted/exchanged by the edit.  The item pointer itself remains
valid even when deleting as it is assigned to the undo stack.  But it
should not remain visible or selected on the schematic if it is removed.

This tests for removed items by checking whether it (in the case of
first-level BOARD_ITEMS) or its parent (in the case of footprint item
components) remain in the view list after editing.  If they are still in
the view list, then we re-select them.

( cherry-picked from 2c6d0ffe2 )
Fixes: lp:1765774
* https://bugs.launchpad.net/kicad/+bug/1765774

Fixes: lp:1775946
* https://bugs.launchpad.net/kicad/+bug/1775946
2018-09-17 10:58:42 -07:00
..
drawing_tool.cpp pcbnew: keep selected zone highlighted when moding 2018-08-28 14:59:54 -07:00
drawing_tool.h Bring PICKER_TOOL in line with other tools. 2018-08-23 00:58:01 +01:00
edit_constraints.cpp Fix unnecessary value parameter detected by clang-tidy. - Replace value parameter by const reference parameter or move-assignement in some cases 2018-01-09 18:55:51 -05:00
edit_constraints.h fix misspelled 'Allows to' -> 'Allows one to' 2018-04-08 13:24:30 -04:00
edit_points.cpp Fixed bounding box computation for EDIT_POINTS class 2017-02-09 12:03:28 +01:00
edit_points.h fix misspelled 'allows to' -> 'allows one to' 2018-07-11 10:35:03 -04:00
edit_tool.cpp pcbnew: retain selection between edits 2018-09-17 10:58:42 -07:00
edit_tool.h Bring PICKER_TOOL in line with other tools. 2018-08-23 00:58:01 +01:00
footprint_editor_tools.cpp Footprint editor: display a warning when trying to created a custom pad shape with a Bezier curve. 2018-07-22 18:39:48 +02:00
footprint_editor_tools.h Pcbnew new menubar structure 2018-02-18 11:27:52 -05:00
grid_helper.cpp fix code after renaming files 2018-01-29 22:00:44 +01:00
grid_helper.h refactoring: wrapped boost::optional in OPT<> class for the purpose of easier transition to C++17 in the future 2017-11-03 23:59:02 +01:00
microwave_tool.cpp pcbnew: Control cursor capture in microwave tool 2018-09-12 09:11:48 -07:00
microwave_tool.h Improve context menu consistency. 2018-08-02 11:01:03 +01:00
pad_tool.cpp Simplify copy/paste of pad settings. 2018-07-17 15:13:39 +01:00
pad_tool.h Simplify copy/paste of pad settings. 2018-07-17 15:13:39 +01:00
pcb_actions.cpp pcbnew: bring back the autoplacer tool to GAL 2018-08-24 14:42:49 +02:00
pcb_actions.h pcbnew: bring back the autoplacer tool to GAL 2018-08-24 14:42:49 +02:00
pcb_bright_box.cpp Refactor BRIGHT_BOX to common so it can be used by other programs 2017-03-11 21:38:01 +01:00
pcb_bright_box.h Refactor BRIGHT_BOX to common so it can be used by other programs 2017-03-11 21:38:01 +01:00
pcb_editor_control.cpp Improve context menu consistency. 2018-08-02 11:01:03 +01:00
pcb_editor_control.h Add Get and Move Footprint to empty-selection-context menu. 2018-02-12 21:50:51 +01:00
pcb_selection_conditions.cpp rename files 2018-02-02 21:57:12 +01:00
pcb_selection_conditions.h Refactor SELECTION, SELECTION_CONDITIONS, and context menus to common 2017-02-28 14:47:20 +01:00
pcb_tool.cpp Improve context menu consistency. 2018-08-02 11:01:03 +01:00
pcb_tool.h Improve context menu consistency. 2018-08-02 11:01:03 +01:00
pcbnew_control.cpp Don't inadventently clear selection reference point. 2018-08-22 15:11:58 +01:00
pcbnew_control.h Pcbnew new menubar structure 2018-02-18 11:27:52 -05:00
picker_tool.cpp Bring PICKER_TOOL in line with other tools. 2018-08-23 00:58:01 +01:00
picker_tool.h Bring PICKER_TOOL in line with other tools. 2018-08-23 00:58:01 +01:00
placement_tool.cpp Change KIDIALOG hashing algorithm to __FILE__ + __LINE__. 2018-08-29 23:38:23 +01:00
placement_tool.h pcbnew: Prevent alignment on pads + parents 2018-03-02 20:15:51 -08:00
point_editor.cpp Added safety for POINT_EDITOR. 2018-09-17 18:01:08 +01:00
point_editor.h Add hotkey (Insert) for zone create corner 2018-08-07 09:19:18 -07:00
position_relative_tool.cpp Bring PICKER_TOOL in line with other tools. 2018-08-23 00:58:01 +01:00
position_relative_tool.h Bring PICKER_TOOL in line with other tools. 2018-08-23 00:58:01 +01:00
selection.cpp Coverity fixes 2018-03-19 10:02:05 +01:00
selection_tool.cpp pcbnew: Allow selection of back pads 2018-09-08 17:25:34 -07:00
selection_tool.h Don't inadventently clear selection reference point. 2018-08-22 15:11:58 +01:00
tool_event_utils.cpp Add cancel interactive tool action to GAL 2017-02-24 10:37:07 +01:00
tool_event_utils.h Remove some extra semicolons 2017-11-09 19:52:18 +01:00
tools_common.cpp pcbnew: bring back the autoplacer tool to GAL 2018-08-24 14:42:49 +02:00
zone_create_helper.cpp ZONE_CREATE_HELPER: fix zone cutout creation in zones with holes, reinit selection with the resulting zone 2018-07-31 22:34:56 +02:00
zone_create_helper.h UNIT_BINDERize zone dialogs. 2018-07-17 15:11:32 +01:00
zone_filler_tool.cpp Check zone fills before plotting. 2018-05-05 23:40:40 +01:00
zone_filler_tool.h pcbnew: Optimized zone filling algorithm. 2017-12-05 14:54:57 +01:00