kicad/pcbnew
PJM 829316fad4 Pcbnew #4904 : Import settings from another board deleted internal layers
When importing settings from a board with more copper layers and applying it
to a board with less copper layers, if the user has ticked the checkbox
"Layer settings", then KiCad will delete the inner copper layers.  Only
when the user clicks OK does it then warn that it found deleted items on inner
layers.  The message is too generic and comes after the layers have already
been deleted.

This Merge Request tries to address this by warning them early.  The changes are:

1 - Added code to check if user is trying to import settings from a
board with less copper layers than the current loaded board.  This
results in KiCad deleting inner copper layers.  Now it presents a
warning dialog that explains the current settings will result in deleted
inner layers, and lets the user stop the import process before making any changes.

2 - Made "Import Settings" dialog disable "Import Settings" button
until at least one import option checkbox is checked.

3 - Made "Select All" button on "Import Settings" dialog toggle
between "Select All" and "Deselect All" on each click.

Items 2&3 were added to improve the overall import settings usability
experience.

Fixes issue https://gitlab.com/kicad/code/kicad/-/issues/4904
2020-08-08 00:51:23 +00:00
..
altium2kicadpcb_plugin Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
autorouter Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
board_stackup_manager Give the user a bit of help with board thickness. 2020-08-05 16:51:58 +01:00
connectivity pcbnew: Account for zone expansion in conn 2020-08-07 15:59:39 -07:00
dialogs Pcbnew #4904 : Import settings from another board deleted internal layers 2020-08-08 00:51:23 +00:00
drc Fix issue with doing DRC on a multi-layer zone. 2020-08-07 22:40:18 +01:00
exporters Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
github Add text variable support to envVar processing. 2020-04-05 20:52:26 +01:00
import_gfx Remove declaration "using std::unique_ptr" in a header. 2020-05-09 08:10:44 +02:00
microwave Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
netlist_reader Remove unused nets when updating PCB. 2020-07-13 22:41:56 +01:00
pcad2kicadpcb_plugin Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
python Fix remaining python method name error 2020-04-20 23:24:55 +01:00
ratsnest Remove accidentally committed test file 2020-07-18 13:03:22 -07:00
router PNS: Remove items from all layers 2020-08-05 19:39:55 -07:00
specctra_import_export Undo for schematic-wide operations. 2020-07-13 12:32:17 +01:00
swig Pcbnew: fix a python interface issue ( a not defined constant in some modules). 2020-07-30 10:42:23 +02:00
tools Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
widgets Save selection filter state in project local settings 2020-07-06 21:53:12 -04:00
CMakeLists.txt Refactor common QA components to create a single common library 2020-07-18 16:21:15 +01:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp
action_plugin.h
array_creator.cpp Fix pad name increment to use last edited pad. 2020-05-03 08:59:51 +01:00
array_creator.h
array_pad_name_provider.cpp
array_pad_name_provider.h
board_commit.cpp Remove unused nets when updating PCB. 2020-07-13 22:41:56 +01:00
board_commit.h Renormalize line endings and enforce normalization for all contributors 2020-08-03 23:15:10 +01:00
board_connected_item.cpp Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
board_connected_item.h Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
board_design_settings.cpp Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
board_item_container.h Migrate PcbNew project settings to new framework 2020-07-02 22:08:54 -04:00
board_items_to_polygon_shape_transform.cpp Fix incorrect shape of trapezoidal pad shapes. They were not the same as stable branch. 2020-07-31 14:37:21 +02:00
build_BOM_from_board.cpp
class_board.cpp Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
class_board.h Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
class_board_item.cpp Migrated GetEffectiveShape(s) to SHAPE_COMPOUND 2020-07-29 23:14:03 +02:00
class_dimension.cpp Properties meta-data for pcbnew classes 2020-07-05 22:44:38 +02:00
class_dimension.h Removed const modifier for returned non-reference types 2020-07-05 22:44:38 +02:00
class_drawsegment.cpp Fix issues with DRAWSEGMENT undo. 2020-08-02 17:05:13 +01:00
class_drawsegment.h Migrated GetEffectiveShape(s) to SHAPE_COMPOUND 2020-07-29 23:14:03 +02:00
class_edge_mod.cpp Properties meta-data for pcbnew classes 2020-07-05 22:44:38 +02:00
class_edge_mod.h Removed const modifier for returned non-reference types 2020-07-05 22:44:38 +02:00
class_marker_pcb.cpp Give excluded DRC items their own layer. 2020-07-24 01:28:25 +01:00
class_marker_pcb.h MARKER_PCB: include DRC_ITEM 2020-07-05 22:44:38 +02:00
class_module.cpp Keep item ordering as much as possible 2020-07-25 12:56:19 -07:00
class_module.h Keep item ordering as much as possible 2020-07-25 12:56:19 -07:00
class_pad.cpp Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
class_pad.h pcbnew: forgot about GetEffectiveShape() declaration during rebase 2020-07-29 23:14:34 +02:00
class_pcb_target.cpp Properties meta-data for pcbnew classes 2020-07-05 22:44:38 +02:00
class_pcb_target.h Removed const modifier for returned non-reference types 2020-07-05 22:44:38 +02:00
class_pcb_text.cpp Fix issues flipping text. 2020-08-02 17:05:13 +01:00
class_pcb_text.h Removed const modifier for returned non-reference types 2020-07-05 22:44:38 +02:00
class_text_mod.cpp Properties meta-data for pcbnew classes 2020-07-05 22:44:38 +02:00
class_text_mod.h Removed const modifier for returned non-reference types 2020-07-05 22:44:38 +02:00
class_track.cpp Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
class_track.h Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
class_zone.cpp Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
class_zone.h Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
cleanup_item.cpp Separate Cleanup Via from Cleanup Track 2020-07-30 21:22:33 -07:00
cleanup_item.h More performant (and more correct) deletion of DRC markers. 2020-08-04 11:45:07 +01:00
collectors.cpp CHANGED: Copper zones can be on more than one layer 2020-06-28 08:52:37 -04:00
collectors.h OnPixelInUI is meant to be a scaling factor, not a vector. 2020-08-01 00:24:26 +01:00
convert_drawsegment_list_to_polygon.cpp Finish implementation of DRAWSEGMENT::C_RECT. 2020-06-15 20:51:31 +01:00
cross-probing.cpp Allow Update Schematic from PCB to re-link based on refdes. 2020-07-16 18:32:49 +01:00
eagle_plugin.cpp Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
eagle_plugin.h eagle: Change font size calculation 2020-06-09 15:30:04 +00:00
edit.cpp More visibility settings infrastructure 2020-07-11 21:59:07 -04:00
edit_track_width.cpp Undo for schematic-wide operations. 2020-07-13 12:32:17 +01:00
files.cpp Add support for the windows application restart api 2020-07-28 14:32:39 -04:00
footprint_edit_frame.cpp Make preference groups not selectable 2020-07-20 13:45:46 +00:00
footprint_edit_frame.h Update text variables even when they're changed from other binary. 2020-07-17 21:05:11 +01:00
footprint_editor_settings.cpp Migrate PcbNew project settings to new framework 2020-07-02 22:08:54 -04:00
footprint_editor_utils.cpp More visibility settings infrastructure 2020-07-11 21:59:07 -04:00
footprint_info_impl.cpp Simplify fp-info-cache escaping mechanism. 2020-08-04 23:54:12 +01:00
footprint_info_impl.h
footprint_libraries_utils.cpp CHANGED: Library editors are now usable with no project loaded 2020-08-07 18:02:34 -04:00
footprint_preview_panel.cpp FOOTPRINT_PREVIEW_PANEL: Ensure we are never using the high contrast mode 2020-07-26 13:22:21 +02:00
footprint_preview_panel.h Preview for PCBNew colour settings editor. 2020-08-06 19:38:06 +01:00
footprint_tree_pane.cpp Pinning for library trees in FPEditor and SymbolEditor. 2020-02-14 00:10:40 +00:00
footprint_tree_pane.h Pinning for library trees in FPEditor and SymbolEditor. 2020-02-14 00:10:40 +00:00
footprint_viewer_frame.cpp Update text variables even when they're changed from other binary. 2020-07-17 21:05:11 +01:00
footprint_viewer_frame.h Update text variables even when they're changed from other binary. 2020-07-17 21:05:11 +01:00
footprint_wizard.cpp
footprint_wizard.h
footprint_wizard_frame.cpp Only init display options after creating a canvas 2020-07-16 22:27:03 -04:00
footprint_wizard_frame.h Consolidate common viewer actions across cvpcb and pcbnew frames 2020-05-24 11:58:33 +01:00
footprint_wizard_frame_functions.cpp
fp_tree_model_adapter.cpp Migrate PcbNew project settings to new framework 2020-07-02 22:08:54 -04:00
fp_tree_model_adapter.h Save pinned libraries in project. 2020-02-14 14:22:54 +00:00
fp_tree_synchronizing_adapter.cpp Clean up some commenting and rename MODULE_EDITOR_TOOLs to match filename. 2020-05-03 20:56:32 +01:00
fp_tree_synchronizing_adapter.h
generate_footprint_info.cpp
generate_footprint_info.h
gpcb_plugin.cpp Cleanup some compiler warnings 2020-07-03 00:10:31 +01:00
gpcb_plugin.h
graphics_cleaner.cpp Check final corner of rectangle before merging. 2020-06-30 21:01:51 +01:00
graphics_cleaner.h Fix undo issue with merging lines into rectangles. 2020-06-29 22:58:05 +01:00
grid_layer_box_helpers.cpp ADDED: Enable color themes for PcbNew printing 2020-05-16 13:19:43 -04:00
grid_layer_box_helpers.h
initpcb.cpp Undo for schematic-wide operations. 2020-07-13 12:32:17 +01:00
invoke_pcb_dialog.h Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
io_mgr.cpp Use Record handling for parsing 2020-04-03 23:22:24 +00:00
io_mgr.h Use Record handling for parsing 2020-04-03 23:22:24 +00:00
kicad_clipboard.cpp Convert parent-less module items to board items on paste. 2020-07-27 19:53:42 +01:00
kicad_clipboard.h Convert parent-less module items to board items on paste. 2020-07-27 19:53:42 +01:00
kicad_plugin.cpp Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
kicad_plugin.h Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
layer_widget.cpp Moved PANEL_COLOR_SETTINGS from buttons to swatches. 2020-05-06 19:02:21 +01:00
layer_widget.h Performance improvements for Gerber loading. 2020-05-02 21:10:40 +01:00
legacy_plugin.cpp Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
legacy_plugin.h
load_select_footprint.cpp CHANGED: Library editors are now usable with no project loaded 2020-08-07 18:02:34 -04:00
menubar_footprint_editor.cpp Revert "Revert "Set DoubleBuffering to reduce flicker"" 2020-07-13 20:19:10 -07:00
menubar_pcb_editor.cpp Revert "Revert "Set DoubleBuffering to reduce flicker"" 2020-07-13 20:19:10 -07:00
netinfo.h Remove unused nets when updating PCB. 2020-07-13 22:41:56 +01:00
netinfo_item.cpp Migrate PcbNew project settings to new framework 2020-07-02 22:08:54 -04:00
netinfo_list.cpp Remove unused nets when updating PCB. 2020-07-13 22:41:56 +01:00
pad_custom_shape_functions.cpp class D_PAD: add Copy ctor and operator =. 2020-07-24 18:02:56 +02:00
pad_naming.cpp
pad_naming.h
pcb_base_edit_frame.cpp Undo for schematic-wide operations. 2020-07-13 12:32:17 +01:00
pcb_base_edit_frame.h CHANGED: Library editors are now usable with no project loaded 2020-08-07 18:02:34 -04:00
pcb_base_frame.cpp Update text variables even when they're changed from other binary. 2020-07-17 21:05:11 +01:00
pcb_display_options.cpp More visibility settings infrastructure 2020-07-11 21:59:07 -04:00
pcb_draw_panel_gal.cpp Give excluded DRC items their own layer. 2020-07-24 01:28:25 +01:00
pcb_draw_panel_gal.h Add hittesting for worksheets in Pcbnew and Eeschema. 2020-05-03 00:07:38 +01:00
pcb_edit_frame.cpp Better handling of undefined values in Rule expressions. 2020-07-23 16:41:58 +01:00
pcb_edit_frame.h Update text variables even when they're changed from other binary. 2020-07-17 21:05:11 +01:00
pcb_expr_evaluator.cpp Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
pcb_expr_evaluator.h Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
pcb_layer_box_selector.cpp ADDED: Enable color themes for PcbNew printing 2020-05-16 13:19:43 -04:00
pcb_layer_box_selector.h Make indeterminate control states clearer for the user. 2020-05-05 20:26:51 +01:00
pcb_layer_widget.cpp Give excluded DRC items their own layer. 2020-07-24 01:28:25 +01:00
pcb_layer_widget.h Only update colors on layer widget when closing preferences 2020-05-26 21:17:39 -04:00
pcb_painter.cpp Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
pcb_painter.h FOOTPRINT_PREVIEW_PANEL: Ensure we are never using the high contrast mode 2020-07-26 13:22:21 +02:00
pcb_parser.cpp Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
pcb_parser.h Reset KIIDs when appending a board. 2020-08-05 19:02:19 +01:00
pcb_plot_params.cpp Remove PCBNEW_SETTINGS dependence from PCB_PLOT_PARAMS 2020-06-06 13:57:28 -04:00
pcb_plot_params.h Implement changes for Sketch Pads to Fab Layers. 2020-05-01 18:49:42 +01:00
pcb_plot_params_parser.h
pcb_screen.cpp Undo for schematic-wide operations. 2020-07-13 12:32:17 +01:00
pcb_view.cpp Fix bug where preview wasn't getting re-added after view cleared. 2020-08-04 20:40:40 +01:00
pcb_view.h
pcbnew.cpp Update text variables even when they're changed from other binary. 2020-07-17 21:05:11 +01:00
pcbnew.h NetClass settings for Eeschema. 2020-07-08 21:23:25 +01:00
pcbnew.icns
pcbnew.rc
pcbnew_config.cpp Make preference groups not selectable 2020-07-20 13:45:46 +00:00
pcbnew_config.h
pcbnew_doc.icns
pcbnew_id.h Remove the schematic and board backup file system 2020-07-02 22:08:54 -04:00
pcbnew_printout.cpp Don't mandate ownership semantics in API 2020-07-26 02:45:27 +00:00
pcbnew_printout.h Don't mandate ownership semantics in API 2020-07-26 02:45:27 +00:00
pcbnew_settings.cpp Separate Cleanup Via from Cleanup Track 2020-07-30 21:22:33 -07:00
pcbnew_settings.h Separate Cleanup Via from Cleanup Track 2020-07-30 21:22:33 -07:00
pcbplot.cpp Add rectangle tool to PCBNew toolbar in favour of Aux Origin. 2020-07-01 13:31:30 +01:00
pcbplot.h Implement changes for Sketch Pads to Fab Layers. 2020-05-01 18:49:42 +01:00
plot_board_layers.cpp Move rest of DRC to SHAPE collision architecture. 2020-07-06 20:00:50 +01:00
plot_brditems_plotter.cpp Performance enhancements. 2020-07-25 13:03:33 +01:00
plotcontroller.h
plugin.cpp
sel_layer.cpp ADDED: Enable color themes for PcbNew printing 2020-05-16 13:19:43 -04:00
text_mod_grid_table.cpp Generalize default footprint fields. 2020-05-08 23:30:33 +01:00
text_mod_grid_table.h
toolbars_footprint_editor.cpp Undo for schematic-wide operations. 2020-07-13 12:32:17 +01:00
toolbars_footprint_viewer.cpp Revert "Revert "Set DoubleBuffering to reduce flicker"" 2020-07-13 20:19:10 -07:00
toolbars_pcb_editor.cpp Undo for schematic-wide operations. 2020-07-13 12:32:17 +01:00
tracks_cleaner.cpp Only clean up tracks completely inside pads. 2020-08-06 21:53:28 +01:00
tracks_cleaner.h Try harder to merge colinear tracks 2020-07-30 23:04:38 -07:00
undo_redo.cpp Remove unused nets when updating PCB. 2020-07-13 22:41:56 +01:00
zone_filler.cpp Update DRC rules to new layer and disallow grammars. 2020-08-07 21:49:36 +01:00
zone_filler.h CHANGED: Copper zones can be on more than one layer 2020-06-28 08:52:37 -04:00
zone_settings.cpp Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
zone_settings.h Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00
zones.h Implement a new settings framework across all of KiCad 2020-02-19 23:44:56 -05:00
zones_by_polygon.cpp Implement a more aggressive zone-fill-cancel. 2020-08-05 16:51:58 +01:00
zones_functions_for_undo_redo.cpp Undo for schematic-wide operations. 2020-07-13 12:32:17 +01:00
zones_functions_for_undo_redo.h
zones_test_and_combine_areas.cpp Implement pad & via aprons for hatched zones. 2020-08-07 15:15:43 +01:00