kicad/pcbnew
Seth Hillbrand 6fc393c7db Upgrade file locking
wxSingleInstanceChecker is meant for running programs, not file locking.
This implements an RAII class for file locking that stores the lock
files next to the file being locked, allowing it to be easily found and
removed.  Also includes the ability to override the lock, with
information about the original owner

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14734

(cherry picked from commit 122be418bb)
2023-06-18 01:06:40 +02:00
..
autorouter Fail-safety in spreadRectangles. 2023-02-11 16:42:27 +03:00
board_stackup_manager Lazy loading of stackup UI widgets. 2023-05-28 19:38:27 +02:00
connectivity STL is your friend... until it's not. 2023-05-28 19:38:27 +02:00
dialogs Tab-order fix provided by aris-kimi. 2023-06-17 18:34:52 +01:00
drc Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
exporters Maintain file permissions when renaming 2023-06-18 01:06:14 +02:00
import_gfx Ensure that even open paths with fills are filled 2023-05-11 16:27:15 -07:00
microwave Fix static event table derived object definitions. 2023-01-28 14:10:06 -05:00
navlib Navlib: Ensure a pointer is initialized. 2023-05-10 09:36:51 +02:00
netlist_reader Move to requiring explicit action to save project settings 2023-03-24 11:49:50 -07:00
plugins Maintain file permissions when renaming 2023-06-18 01:06:14 +02:00
python Provide some degree of compatibility for GetShownText in Python 2023-05-11 23:39:09 +00:00
ratsnest Don't consider shorted items when opitmizing ratsnest. 2023-05-28 19:38:27 +02:00
router Don't create 22.5-degree gateways if we're not cardinal or diagonal. 2023-06-17 16:05:07 +01:00
specctra_import_export Specctra: remove grouped tracks from group before cleaning up 2023-05-22 14:58:56 +00:00
teardrop Footprint viewer: ensure the footprint is updated after new library selection 2023-03-29 16:59:12 +02:00
tools Reset session drawing props after Board Setup. 2023-06-17 13:04:48 +01:00
widgets Fix a bunch more issues with sheetpaths and allowExtraText. 2023-05-05 18:02:59 +01:00
CMakeLists.txt pcbnew: move DIALOG_PAD_PROPERTIES_BASE from dialog_pad_properties to its own files. 2023-01-17 09:44:28 +01:00
Doxyfile_python
Doxyfile_xml
action_plugin.cpp
action_plugin.h
array_creator.cpp array_creator: Transform item before adding, modify only the first one. 2022-11-19 04:07:35 +05:00
array_creator.h
array_pad_number_provider.cpp
array_pad_number_provider.h
board.cpp Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
board.h Hook up text variable auto-complete for PCBNew. 2023-05-28 18:46:39 +01:00
board_commit.cpp Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
board_commit.h Propagate nets within non-conflicting clusters immediately. 2023-01-23 16:25:29 +00:00
board_connected_item.cpp Properties: Hide Net Class from GUI 2023-03-26 19:50:10 -04:00
board_connected_item.h 15% rendering optimization in PCB_TRACK::ViewGetLOD. 2023-01-27 18:37:43 +03:00
board_design_settings.cpp Allow setting 0 to min width, min track width, min via annular width, etc. 2023-04-15 13:22:52 +01:00
board_item.cpp AllCuMask() and AllTechMask() are static, they do NOT modify "this". 2023-02-03 15:08:31 +00:00
board_item_container.h
build_BOM_from_board.cpp Fix a bunch more issues with sheetpaths and allowExtraText. 2023-05-05 18:02:59 +01:00
cleanup_item.cpp Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
cleanup_item.h Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
collectors.cpp Attempt to fix std::initializer_list lifetime issue. 2022-08-21 20:54:41 +01:00
collectors.h Attempt to fix std::initializer_list lifetime issue. 2022-08-21 20:54:41 +01:00
convert_shape_list_to_polygon.cpp Step exporter: export circular board outlines as cylinder 2023-05-28 19:38:27 +02:00
convert_shape_list_to_polygon.h Step exporter: export circular board outlines as cylinder 2023-05-28 19:38:27 +02:00
cross-probing.cpp PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05:00
edit.cpp
edit_track_width.cpp PCB Editor: prevent scroll wheel on track size opening board settings 2023-01-20 12:13:16 -05:00
edit_zone_helpers.cpp More safety around ratsnest state. 2022-11-30 13:00:21 +00:00
files.cpp Upgrade file locking 2023-06-18 01:06:40 +02:00
footprint.cpp Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
footprint.h Allow commas, spaces in pad names for net-ties 2023-01-18 14:45:52 -08:00
footprint_edit_frame.cpp Make sure infobar gets created earlier. 2023-06-11 22:32:05 +01:00
footprint_edit_frame.h Fp editor and Fp viewer: fix missing info on msg panel after loading a fp 2023-01-25 17:47:04 +01:00
footprint_editor_settings.cpp PCB Editor: Locked filter unchecked by default 2023-01-23 11:36:06 +00:00
footprint_editor_utils.cpp PCM: auto reload global libs after dialog is run 2023-02-28 16:48:28 -05:00
footprint_info_impl.cpp Maintain file permissions when renaming 2023-06-18 01:06:14 +02:00
footprint_info_impl.h
footprint_libraries_utils.cpp FP editor: fix crash when trying to save a footprint after removing its library 2023-01-21 18:18:38 +01:00
footprint_preview_panel.cpp Make FOOTPRINT_PREVIEW_PANEL a FPHOLDER. 2023-06-11 22:30:16 +01:00
footprint_preview_panel.h Units for footprint preview widgets. 2023-01-02 22:12:26 +00:00
footprint_tree_pane.cpp Footprint Editor: Focus search field when window is first opened 2022-12-20 19:54:02 +00:00
footprint_tree_pane.h Footprint Editor: Focus search field when window is first opened 2022-12-20 19:54:02 +00:00
footprint_viewer_frame.cpp Don't leave selection lying around when swapping out footprints. 2023-06-17 17:30:24 +01:00
footprint_viewer_frame.h Fp editor and Fp viewer: fix missing info on msg panel after loading a fp 2023-01-25 17:47:04 +01:00
footprint_wizard.cpp
footprint_wizard.h
footprint_wizard_frame.cpp Fix static event table derived object definitions. 2023-01-28 14:10:06 -05:00
footprint_wizard_frame.h
footprint_wizard_frame_functions.cpp
fp_shape.cpp Add support for non-cardianlly-rotated text boxes. 2023-03-02 14:58:44 +00:00
fp_shape.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
fp_text.cpp Cleanup. 2023-06-17 16:04:56 +01:00
fp_text.h Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
fp_text_grid_table.cpp Add missing property to footprint texts table. 2023-05-03 17:58:29 +01:00
fp_text_grid_table.h Add missing property to footprint texts table. 2023-05-03 17:58:29 +01:00
fp_textbox.cpp Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
fp_textbox.h Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
fp_tree_model_adapter.cpp Add pin/unpin context menu to Symbol Chooser and Footprint Chooser. 2022-09-21 14:45:12 +01:00
fp_tree_model_adapter.h Add pin/unpin context menu to Symbol Chooser and Footprint Chooser. 2022-09-21 14:45:12 +01:00
fp_tree_synchronizing_adapter.cpp Treat canvas item as current when tree view contains no selection. 2023-06-10 10:57:14 +01:00
fp_tree_synchronizing_adapter.h Treat canvas item as current when tree view contains no selection. 2023-06-10 10:57:14 +01:00
generate_footprint_info.cpp
generate_footprint_info.h
graphics_cleaner.cpp GRAPHICS_CLEANER: fix bad detection of short Bezier curves that can be cleaned 2022-12-10 18:19:09 +01:00
graphics_cleaner.h Add pad-recombining to FPEditor's Cleanup Graphics. 2022-09-24 19:34:06 +01:00
grid_layer_box_helpers.cpp
grid_layer_box_helpers.h
initpcb.cpp BoardDesignSettings are owned by FOOTPRINT_EDITOR_SETTINGS in the FP Editor. 2023-06-12 10:08:09 +01:00
invoke_pcb_dialog.h
io_mgr.cpp Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
io_mgr.h Cleanup printf bits 2023-05-07 19:02:02 +03:00
kicad_clipboard.cpp Fix opening boards with deprecated features. 2023-05-20 08:29:23 +03:00
kicad_clipboard.h Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
load_select_footprint.cpp Move saving preferences out of the destructor. 2022-11-14 20:01:37 +00:00
menubar_footprint_editor.cpp Never call ReCreateMenuBar inside a menu event handler 2022-12-16 16:37:51 -05:00
menubar_pcb_editor.cpp Small order change for three View menu items 2023-01-22 01:04:17 +00:00
netinfo.h Expose shared_ptr to swig 2023-03-09 14:02:48 +00:00
netinfo_item.cpp Fix netnames. 2023-01-27 19:35:41 +03:00
netinfo_list.cpp Coverity fixes and code cleaning. 2023-03-04 13:14:59 -05:00
pad.cpp Expand solder mask for pads *defined* to be on copper layers. 2023-05-06 21:29:18 +01:00
pad.h Don't allow setting a pad width or height of 0. 2023-06-10 10:57:14 +01:00
pad_custom_shape_functions.cpp Name shortening and line-break reduction. 2022-10-21 18:41:39 +01:00
pcb_base_edit_frame.cpp Update dimension units when opening PCBs in CLI. 2023-03-14 11:56:33 +00:00
pcb_base_edit_frame.h Tighten lifecycle management of parent group pointers. 2022-11-11 17:27:28 +00:00
pcb_base_frame.cpp Move Spacemouse to advanced config 2023-04-25 11:30:36 -07:00
pcb_bitmap.cpp Pcbnew: Fix rotating bitmaps 2023-05-11 01:14:34 +00:00
pcb_bitmap.h Fix handling of PPI when loading embedded images 2023-02-15 00:42:30 +00:00
pcb_dimension.cpp Fix a bunch more issues with sheetpaths and allowExtraText. 2023-05-05 18:02:59 +01:00
pcb_dimension.h Move automatic dimension processing inside PCB_DIMENSION_BASE. 2023-03-12 21:04:09 +00:00
pcb_draw_panel_gal.cpp Locked shadows should not be on overlay 2023-01-27 22:09:42 -05:00
pcb_draw_panel_gal.h
pcb_edit_frame.cpp Fix Search pane not remembering docking sizes and positions 2023-06-11 20:24:41 +00:00
pcb_edit_frame.h Update DRC exclusions model to match terminology. 2023-04-15 12:10:23 +01:00
pcb_expr_evaluator.cpp Bug fixes for handling boolean flags in DRC rules. 2023-06-02 00:20:11 +01:00
pcb_expr_evaluator.h Cleanup printf bits 2023-05-07 19:02:02 +03:00
pcb_expr_functions.cpp PNS: Safety for evaluating item nets for rules 2023-02-26 17:57:33 +00:00
pcb_group.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_item_containers.h
pcb_layer_box_selector.cpp Improve HiDPI handling of appearance/layer controls 2023-03-07 08:49:06 -05:00
pcb_layer_box_selector.h
pcb_marker.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_marker.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_origin_transforms.cpp Remove bad static_cast. 2022-07-24 23:41:41 +01:00
pcb_origin_transforms.h
pcb_painter.cpp Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
pcb_painter.h Dim other pads when in pad edit mode. 2023-01-06 11:13:57 +00:00
pcb_plot_params.cpp Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
pcb_plot_params.h Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
pcb_plot_params_parser.h
pcb_plot_svg.cpp cli: add an option to the pcb exports for plotting negative svg and pdf 2023-06-10 14:50:27 -04:00
pcb_plot_svg.h cli: add an option to the pcb exports for plotting negative svg and pdf 2023-06-10 14:50:27 -04:00
pcb_screen.cpp
pcb_shape.cpp Fix some PCB_SHAPE properties 2023-02-24 01:24:41 +00:00
pcb_shape.h Add support for non-cardianlly-rotated text boxes. 2023-03-02 14:58:44 +00:00
pcb_target.cpp Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_target.h Rename GetSelectMenuText to GetItemDescription 2023-01-11 22:27:44 -05:00
pcb_text.cpp Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
pcb_text.h Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
pcb_textbox.cpp Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
pcb_textbox.h Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
pcb_track.cpp Coverity fixes and code cleaning. 2023-03-16 10:59:05 -04:00
pcb_track.h Use constraints to determine netclas width 2023-05-10 16:10:30 +00:00
pcb_view.cpp
pcb_view.h
pcbnew.cpp Update 5 files 2023-05-03 17:32:55 +00:00
pcbnew.h Remove convert_to_biu.h, merge contents to base_units.h 2022-09-16 21:09:28 -04:00
pcbnew.icns
pcbnew_config.cpp Move to requiring explicit action to save project settings 2023-03-24 11:49:50 -07:00
pcbnew_config.h
pcbnew_doc.icns
pcbnew_id.h
pcbnew_jobs_handler.cpp Command line PCB gerber export fix and improvement. 2023-06-16 07:14:37 -04:00
pcbnew_jobs_handler.h Fix gerbers and drill plot not logging errors 2023-04-21 03:40:28 +00:00
pcbnew_printout.cpp Print hole walls if in colour (and printing real drill sizes). 2022-11-13 13:18:42 +00:00
pcbnew_printout.h PCBNEW_PRINTOUT: fix incorrect size of holes printed with the "small drill" option 2022-11-12 16:02:24 +01:00
pcbnew_settings.cpp Fix Search pane not remembering docking sizes and positions 2023-06-11 20:24:41 +00:00
pcbnew_settings.h Fix Search pane not remembering docking sizes and positions 2023-06-11 20:24:41 +00:00
pcbplot.cpp Allow plotting of multiple board layers per plot in Python. 2023-02-14 09:53:16 -05:00
pcbplot.h Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
plot_board_layers.cpp Plot Solder mask layer: do not add items on edge_cut, but not on mask layer 2023-06-16 10:01:29 +02:00
plot_brditems_plotter.cpp Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
plotcontroller.h Allow plotting of multiple board layers per plot in Python. 2023-02-14 09:53:16 -05:00
plotprint_opts.h Avoid duplicating similar options in print and plot headers 2022-11-12 16:02:24 +01:00
plugin.cpp Rename PROPERTIES to STRING_UTF8_MAP for clarity 2022-11-06 11:51:52 -05:00
sel_layer.cpp
toolbars_footprint_editor.cpp Expose changing arc edit mode in arc button context menu and Preferences 2022-12-05 21:28:16 +03:00
toolbars_footprint_viewer.cpp Never call ReCreateMenuBar inside a menu event handler 2022-12-16 16:37:51 -05:00
toolbars_pcb_editor.cpp Fix Search pane not remembering docking sizes and positions 2023-06-11 20:24:41 +00:00
tracks_cleaner.cpp Handle cleanup safely 2023-01-23 15:56:46 -08:00
tracks_cleaner.h
undo_redo.cpp Clear board soldermask when undoing/redoing items that affect it. 2023-04-15 00:08:14 +01:00
zone.cpp Properties: Rename methods to better reflect their purposes 2023-03-26 19:48:46 -04:00
zone.h Keep track of single-pad-islands so we can discount spokes to them. 2023-03-25 15:37:57 +00:00
zone_filler.cpp Use rendered text to generate bounding box for knockout text. 2023-06-06 11:19:41 +01:00
zone_filler.h Fix an edge-case in the spoke genration logic for non-cardinal spokes. 2022-10-01 19:31:47 +01:00
zone_settings.cpp Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
zone_settings.h Set new zone priority to unique number 2022-08-24 16:37:57 -07:00
zones.h Zones: use metric defaults and limits instead of mixed units 2023-02-11 07:39:29 -05:00
zones_functions_for_undo_redo.cpp More tightening of group parent lifecycles. 2022-11-16 00:42:38 +00:00
zones_functions_for_undo_redo.h Formatting and a bit of cleanup. 2022-10-21 18:41:39 +01:00