Commit Graph

11098 Commits

Author SHA1 Message Date
Seth Hillbrand b19ccd819e Quiet compile warning 2021-01-05 09:16:38 -08:00
Jeff Young 88d42724e6 Remove diff-pair-gap handling from single-line-router.
We can't really support it until we do min/max/opt shoving and
dragging.

Fixes https://gitlab.com/kicad/code/kicad/issues/6932
2021-01-05 16:54:52 +00:00
Jeff Young d975f2f6aa Commenting and naming for clarity. 2021-01-05 16:54:52 +00:00
Jeff Young a48f0d21f7 More consistency in clearance resolution messages. 2021-01-05 16:54:52 +00:00
Jeff Young f7b20611c1 Enforce hole-to-hole min when placing diffpair vias.
Fixes https://gitlab.com/kicad/code/kicad/issues/6931
2021-01-05 00:26:49 +00:00
Jeff Young 93bd2171ab Formatting. 2021-01-05 00:26:49 +00:00
Michael Kavanagh b40e3a39f5 Minor cleanup. 2021-01-04 23:59:36 +00:00
Jeff Young d24b034cbc Cleanup (and a minor performance improvement). 2021-01-04 22:32:29 +00:00
Jeff Glass 597a74af9a Corrects text of orthogonal dimensions
The 'outisde' position is now 'outside' in all orientations

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5821
2021-01-04 19:53:39 +00:00
Jeff Young 2ea6bc5529 Formatting. 2021-01-04 19:19:55 +00:00
Jeff Young 648c42f643 Show collisions preventing routing from starting.
Also introduces a callback to the infobar so that the view can be
cleaned up when the timer expires.

Fixes https://gitlab.com/kicad/code/kicad/issues/6930
2021-01-04 19:19:55 +00:00
Jeff Young 354d9b4e63 Simplify layer pair indicator icon.
It now just has top layer / bottom layer from the router's layer
pair.  The current layer is visible in the drop-down just to the
left, and the via stuff was confusing anyway.
2021-01-04 19:19:55 +00:00
Jon Evans 5c8927678a Don't link a project to a board more than once
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6929
2021-01-04 13:23:19 -05:00
Michael Kavanagh 76cfd19621 Icons: fix incorrect icon in footprint browser 2021-01-04 01:44:02 +00:00
Jeff Young c09d3b765a Slight improvement to error text for when drill is same size as pad. 2021-01-04 00:03:21 +00:00
Jeff Young 33aa6edb01 Don't run clearance tests on unflashed NPTH pad layers. 2021-01-04 00:03:21 +00:00
Jeff Young d0b82ea26e Show better descriptions of through-hole pads. 2021-01-04 00:03:21 +00:00
Jeff Young 7378c2c3b3 Implement max hole size DRC checks.
Fixes https://gitlab.com/kicad/code/kicad/issues/6893
2021-01-04 00:03:21 +00:00
Jeff Young 71215bcab3 Make sure TH pads get collision layer highlighted.
Also cleans it up to centralise all the decision-making.

Fixes https://gitlab.com/kicad/code/kicad/issues/6925
2021-01-03 21:16:09 +00:00
Jeff Young 491fc2c8f2 Save DXF plot params to file and remove some dead code.
Fixes https://gitlab.com/kicad/code/kicad/issues/6720
2021-01-03 14:22:25 +00:00
jean-pierre charras a1d7a959f7 more fixes and enhancements in DIALOG_EXPORT_STEP. 2021-01-03 11:38:09 +01:00
jean-pierre charras 5db75805bd Step exporter: better values for min distance between 2 points to merge them.
- The default value is 0.01 mm (according to comments and similar to the 3D viewer
 settings that uses 0.02 mm)
- The export dialog  has now 3 values 1 micron, 0.01mm (default) and 0.1 mm
The 0.1 micron option is removed: it makes no sense for a mechanical tolerance.
2021-01-03 11:01:03 +01:00
Jon Evans f01297fedd Convert an annoying message box to an infobar 2021-01-02 22:14:10 -05:00
Michael Kavanagh 154e19b6e7 Icons: use common prefix for small 16x16 2021-01-02 23:16:33 +00:00
Michael Kavanagh 5a3f4f52df Icons: add new icon for Pcbnew 'Special Tools...' 2021-01-02 23:16:33 +00:00
Michael Kavanagh 6d3c1c7716 Icons: remove unused sources/duplicates + rename 2021-01-02 23:16:33 +00:00
Carlo Bramini a06387fafd Fix warning at compile time 2021-01-02 22:42:16 +00:00
Jeff Young f691828c8f Nullptr safety.
Fixes https://gitlab.com/kicad/code/kicad/issues/6862
2021-01-02 22:26:12 +00:00
Jon Evans 7e58f1aa9f Fix display of pads in high contrast mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6912
2021-01-02 14:16:17 -05:00
Jeff Young 8b849b1c49 Fix several bugs in hull push-back with vias.
1) take hole plating thickness into account
2) build hulls specifically for via so pushing back to the hull doesn't
have to try and figure out how much extra to push back for the via
and/or hole
3) clear MK_HOLE flags when colliding with the pad itself so that we
don't get stuck in HOLE mode
4) move flag setting/clearing to updateNearest() so that it will keep
track of the state of the nearest collision

Fixes https://gitlab.com/kicad/code/kicad/issues/6913
2021-01-02 19:14:44 +00:00
Jeff Young 13094fdc28 Formatting. 2021-01-02 18:38:17 +00:00
Jeff Young 85e42890c4 Distinction between via and via hole probably not useful.
Fixes https://gitlab.com/kicad/code/kicad/issues/6913
2021-01-02 16:41:09 +00:00
Jeff Young 068af7d328 When routing don't give NPTH holes a copper clearance.
Fixes https://gitlab.com/kicad/code/kicad/issues/6903
2021-01-02 16:33:51 +00:00
Jeff Young b5e7611696 Don't cross-pollute CONSTRAINTs.
If you want the HOLE_CLEARANCE, then ask for it.
2021-01-02 16:33:51 +00:00
Jon Evans eba7cb222c PNS: Fix initial posture guess for pads 2021-01-02 10:32:15 -05:00
Jeff Young 6b6694f55f Fix typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/6913
2021-01-02 15:04:30 +00:00
Jeff Young 42c114f6ed Record status of via dragging in Walkaround mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/3967
2021-01-02 00:31:02 +00:00
Jeff Young 419d8dcd6f Minor cleanup. 2021-01-01 23:42:44 +00:00
Jeff Young 8a049cf290 Make sure bounding boxes get cached on rule areas.
Fixes https://gitlab.com/kicad/code/kicad/issues/6898
2021-01-01 23:17:49 +00:00
Jeff Young 018c17399d SNR. 2021-01-01 23:17:49 +00:00
Jeff Young 8ee72853fb Be more targetted on when we load DRC Rules for better performance. 2021-01-01 23:17:49 +00:00
Seth Hillbrand a69a4be853 Fix build error with icon names 2021-01-01 13:13:33 -08:00
Seth Hillbrand 72c27b2e33 Make expand selection stop at vias
During the first expansion, we are supposed to stop at vias and branches
(where three track ends connect).  This needs to account for the number
of vias and tracks not just tracks
2021-01-01 09:31:44 -08:00
Jeff Young fc1b0ec11f Improve feedback when routing in highlight collisions mode.
In particular, when Allow DRC violations is NOT turned on and we
bump in to an obstacle.
2021-01-01 17:25:37 +00:00
Seth Hillbrand 8de9cff4e0 Change environmental variables to human-readable
Versions specific variables that may point to objects that change
through versions, allowing multiple KiCad versions to operate correctly
(even on MSW) on the same machine.
2021-01-01 16:20:35 +00:00
jean-pierre charras 6a81113c2d Better comments in files related to my previous commit. 2021-01-01 17:09:32 +01:00
jean-pierre charras 93e186f53e SelectFootprintFromLibTree(): fix a issue similar to commit 27d47743.
Force immediate deletion of the APP_PROGRESS_DIALOG (do not use Destroy() )
because on Windows, APP_PROGRESS_DIALOG has some side effects on the event loop
manager. A side effect is the call of ShowModal() or ShowQuasiModal of a dialog
following the use of a APP_PROGRESS_DIALOG (if not deleted) has a broken behavior
(incorrect modal/quasi modal behavior).
2021-01-01 15:59:15 +01:00
Seth Hillbrand f8f34982c0 Escape PCB text
Also keep a fail-safe for unescaping strings that are not previously
escaped

Fixes https://gitlab.com/kicad/code/kicad/issues/6901
2020-12-31 17:17:27 -08:00
Jeff Young 3ba17e0a16 Formatting. 2021-01-01 01:02:06 +00:00
Jeff Young ecc0e861d3 Implement hole clearance and hole-to-hole clearance in router.
Fixes https://gitlab.com/kicad/code/kicad/issues/6882
2021-01-01 00:31:36 +00:00
Jeff Young 5d8e6020d1 Improve clarity. 2021-01-01 00:31:36 +00:00
Jeff Young 0e3c9de684 Formatting. 2021-01-01 00:31:36 +00:00
Jeff Young e060ee2a53 Factor in all clearance types when asking for worst clearance. 2021-01-01 00:31:36 +00:00
Jeff Young 1b93663627 Formatting. 2021-01-01 00:31:36 +00:00
Jon Evans 9a0f685a75 PNS: Consider arcs when searching for lines between joints 2020-12-31 13:05:43 -05:00
Jon Evans 73248ab219 PNS: correct initial segment direction for posture solver 2020-12-31 13:05:43 -05:00
jean-pierre charras 381aabdd2a PCB_TARGET: add missing GetMsgPanelInfo() virtual function. 2020-12-31 15:46:58 +01:00
jean-pierre charras a6a2dae480 Footprint editor: ensure the pad editor is closed before load a new footprint.
When editing a new footprint from the board editor, if the Footprint editor has the pad editor
open, there is a risk of crash when replacing the footprint in edit.

Fixes #6892
https://gitlab.com/kicad/code/kicad/issues/6892
2020-12-31 10:53:14 +01:00
Seth Hillbrand 82e728dbf6 Remove drawing of annular rings in high contrast
High contrast should not show the annular rings from other layers.  Once
the ring is removed, we hide the annular when not focused on a flashed
layer

Fixes https://gitlab.com/kicad/code/kicad/issues/6896
2020-12-30 17:38:30 -08:00
Jon Evans 60fd7fdbb2 Fix comment 2020-12-30 18:52:56 -05:00
Jon Evans 510db66f0e PNS: Fix rollback for arc traces
PNS: Update posture solver after rollback
2020-12-30 18:23:24 -05:00
Jon Evans 6105ac50da ADDED: Default hotkey of CTRL+/ for switch corner rounding 2020-12-30 18:23:24 -05:00
Jon Evans b5b64a55ad PNS: Only run optimization if lastNode is valid 2020-12-30 18:23:24 -05:00
Jon Evans 79502a0d88 PNS: A new approach to arc placement
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6334
2020-12-30 18:23:24 -05:00
Allan Nordhøy 8d81abb57a Consistent use of spaces in strings. 2020-12-30 22:57:50 +00:00
Seth Hillbrand 5a3e5781bf Allow polygon drawing on edge cuts and courtyard
Prevents line splitting behavior needed in v5 when drawing polygons on
courtyards. Also provide property dialog with some smarts to handle
special layers

Fixes https://gitlab.com/kicad/code/kicad/issues/6900
2020-12-30 14:10:30 -08:00
Roberto Fernandez Bautista b168b74919 CADSTAR Archive Importer: Fix position of multiline text with NO_ALIGNMENT in CADSTAR 2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista ffee24be63 CADSTAR PCB Archive Importer: Rewrite loadBoardStackup routine
Uses BOARD_STACKUP::BuildDefaultStackupList instead of trying to build the stackup from scratch
Fixes several asserts / incorrect stackups in some older boards
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista a2cbbb963e CADSTAR PCB Archive Loader: Correctly handle Dimension text
Do not parse fields in dimension text to allow splitting it into prefix and suffix
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista f74a86b7e1 Add missing dimension objects to BOARD::Move collector
Fixes import of orthogonal dimensions
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista 45b621a3d1 CADSTAR PCB Archive Importer: Fix Import of Linear Dimensions (Angular dimensions not supported) 2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista fbac766254 CADSTAR PCB Archive Importer: Refactor layer mapping and fix assert
An assert was being fired to due to incorrect BOARD_STACKUP_ITEM_TYPE on some boards
2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista 0a1045300b CADSTAR PCB Archive Importer: Fix loading of net class settings 2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista cde433c82e CADSTAR PCB Archive Importer: Transfer Project to allow importing of Text Variables 2020-12-30 18:53:43 +00:00
Roberto Fernandez Bautista 03a23db4f7 CADSTAR PCB Archive Importer: Load PCB Text Variables to KiCad project 2020-12-30 18:53:42 +00:00
Roberto Fernandez Bautista 9ed4780fec CADSTAR Archive Importer: Change architecture to Parse CADSTAR fields and store them in a static map
Architecture of the parser changed to have a shared PARSER_CONTEXT between all the individual parsers.
Parses CADSTAR fields such as <@DESIGN_TITLE@> or <@SHEET_NUMBER@> and replaces with an equivalent KiCad Text Variable.
2020-12-30 18:53:42 +00:00
Jon Evans bf9501e1d4 PNS: Fix auto-posture when placing via 2020-12-29 21:14:36 -05:00
Jon Evans 689da3794d PNS: Merge co-linear segments during placement 2020-12-29 21:14:36 -05:00
Jon Evans 4c0aa6db1a PNS: Disable smart pads optimization for vias
There is not much point with the current algorithm and it
breaks auto-posture.
2020-12-29 21:14:36 -05:00
PJM 94bf88d820 Pcbnew: Prevent selections jumping when dragged after flip or rotate
CHANGED: If you flip or rotate an item or selection of items, move
the mouse, press 'M' and start moving the mouse, the selection jumps
to where the mouse is.  This MR fixes that so it doesn't happen.

This bug was reported against the 5.1.x branch but also affects the
5.99 branch.  This MR is for the 5.99 branch.

Fixes https://gitlab.com/kicad/code/kicad/issues/4069
2020-12-30 01:02:04 +00:00
Jon Evans 0b0af2f545 Fix layer ordering of pad net names
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6881
2020-12-29 18:31:44 -05:00
Jon Evans a637f310d0 Store zone display mode in project local settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6886
2020-12-29 17:19:01 -05:00
Jon Evans 23f81412c3 Ensure connectivity is updated before filling zones
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6844
(maybe)
2020-12-29 14:58:45 -05:00
Jon Evans 241823647b DRC: Fix a minor memory leak 2020-12-29 14:58:45 -05:00
Jon Evans bc712a7383 Remove some stray printfs 2020-12-29 14:58:45 -05:00
Jon Evans 76e8c62269 PCB_VIEW: Fix a few ASAN issues 2020-12-29 14:58:45 -05:00
Jeff Young 35a5781f68 Don't look at project layer visibilities for footprint editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/6873
2020-12-29 17:03:43 +00:00
Jeff Young 97a99beef5 Fix missing ENUM_TO_WXANY decl.
Fixes https://gitlab.com/kicad/code/kicad/issues/6879
2020-12-29 14:37:03 +00:00
Jeff Young efd16dca66 Fix a bunch of issues with group selection and highlighting.
Fixes https://gitlab.com/kicad/code/kicad/issues/6686
2020-12-29 12:41:24 +00:00
Jeff Young f7a6dc26e9 Give GROUP_PROPERTIES_DIALOG its own files. 2020-12-29 12:41:24 +00:00
Jon Evans 81d4e06f00 PNS: Consider pad orientation when routing
PNS: Skip smart pads when posture was manually forced

This allows a more-correct pad breakout to be chosen when
smart pads is off.
2020-12-29 01:06:46 -05:00
Jon Evans 96d49d1473 PNS: Improved auto-posture when starting from a segment
The previous auto-posture algorithm worked great for pads
but not so great when starting routing from a segment.

Now we can optimize the posture based on the starting
segment if one exists, to maximize the "obtuseness" of the
posture.
2020-12-28 23:51:13 -05:00
Jon Evans 3adff647a7 PNS: Preserve nearest vertex when dragging in shove mode 2020-12-28 19:44:39 -05:00
Jon Evans 55394f343d Don't use snapping for a selection interaction
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6856
2020-12-28 17:26:39 -05:00
Jon Evans be294dabce PNS: Snap back to last valid point when committing a drag
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6651
2020-12-28 16:36:42 -05:00
Jon Evans e5b7e7d2b2 Add missing header needed for gcc builds 2020-12-28 16:02:06 -05:00
Jeff Young 3e2aa8df3a Thread safety for pad effective shape building. 2020-12-28 20:44:46 +00:00
Jeff Young cfb4e34b07 Cleanup. 2020-12-28 20:44:46 +00:00
Jan Mrázek 93466fa165
Fix crash when adding 3D Models via Python 2020-12-28 20:03:54 +01:00
Jon Evans 17cf2466aa Fix overlapping definitions warning 2020-12-27 19:42:04 -05:00
Jon Evans c4bfca251b PcbNew: show file format conversion warning in infobar
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6200
2020-12-27 19:17:58 -05:00
Jon Evans 3c87e67753 PNS: Allow committing routes even when cursor moves beyond valid solution
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6651
2020-12-27 17:14:38 -05:00
Jeff Young 1fc4523711 Remove pad-size-setting hack from PCB_PAINTER.
Also improves the pad warning and error messages, and moves a few
remaining nags from the setting infrastructure to the warning
infrastructure.

Fixes https://gitlab.com/kicad/code/kicad/issues/6141
2020-12-27 21:11:27 +00:00
Jon Evans 2cdf9875b9 PNS: fix off-by-one in dragCorner45
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6644
2020-12-27 15:58:36 -05:00
Jon Evans c615b7a49b PNS: make initial direction behavior consistent with fix-all enabled 2020-12-27 15:21:55 -05:00
Jon Evans 132e78d2b8 Fix pcbnew collector prioritization
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6307
2020-12-27 13:50:11 -05:00
Thomas Pointhuber 3b25e7344a Fix deprecation warning. PyEval_InitThreads() is not needed for Python >= 3.7
See: https://docs.python.org/3/c-api/init.html#c.PyEval_InitThreads

With Python 3.7 this function is called by Py_Initialize()
With Python 3.9 this function is deprecated and does nothing
2020-12-27 19:18:49 +01:00
Peter Montgomery 1c79e3174c Pcbnew: Prevent footprint jumping when starting to drag it
CHANGED: When dragging a footprint, if the mouse isn't directly over the
footprint anchor when 'D' is pressed, the footprint center will jump to
the mouse position when dragging begins.  This MR uses the current
mouse position instead of the footprint anchor as the inital reference
point when starting to drag.

Fixes https://gitlab.com/kicad/code/kicad/issues/6813
2020-12-27 17:43:52 +00:00
Jeff Young 1579ce9f9e Separate net updating from Edit Tracks & Vias into a second pass.
Fixes https://gitlab.com/kicad/code/kicad/issues/6858
2020-12-27 16:35:38 +00:00
Jeff Young 10e51bfea7 Don't apply "normal" locking strategy to alignment options.
It's much more useful to use the locked items as targets.

Also fixes some issues with commits getting the wrong items when
pads are promoted to footprints.

Fixes https://gitlab.com/kicad/code/kicad/issues/6859
2020-12-27 15:02:25 +00:00
Jeff Young e3d95cc2c8 Formatting. 2020-12-27 15:02:25 +00:00
jean-pierre charras a675f1f9c5 pcb_painter, draw pad clearance outlines: use the pad shape for non copper layers.
For copper layers, if the pad shape is not on the active layer, only the hole
shape clearance is shown (this is correct).
But for non copper layers using the hole shape clearance make no sense
(as long as showing the clearance makes sense for some layers).
2020-12-27 11:20:48 +01:00
jean-pierre charras 97f3c323c3 Pcbnew: fix missing escaping of texts in DIMENSION when saving the .kicad_pcb file.
Fixes #6855
https://gitlab.com/kicad/code/kicad/issues/6855
2020-12-27 10:18:23 +01:00
Jeff Young e1f76ea2ab Gracefully handle dots in the outline path.
Fixes https://gitlab.com/kicad/code/kicad/issues/6854
2020-12-27 01:01:25 +00:00
Jeff Young 3aca0e1853 Make sure we nofity of self-intersecting outlines. 2020-12-27 01:01:25 +00:00
Jeff Young 8300e17b69 Fix botched attempt to report hole violations between no-net items.
Fixes https://gitlab.com/kicad/code/kicad/issues/6851
2020-12-26 16:24:51 +00:00
Jeff Young ab97035ecb Handle closed shapes being processed after other shapes.
Fixes https://gitlab.com/kicad/code/kicad/issues/6845
2020-12-26 12:57:49 +00:00
Jeff Young af2219ba7f Finish implementation of hole clearance checking.
It appears we never did via hole testing, and pad hole testing didn't
appear to get much testing.
2020-12-25 22:32:19 +00:00
Jeff Young 0d57f90982 Make sure SCH-related frames use the schematic worksheet color.
Fixes https://gitlab.com/kicad/code/kicad/issues/6843
2020-12-25 16:59:41 +00:00
Jeff Young 7a081b7c04 Naming consistency. 2020-12-25 16:59:41 +00:00
Jeff Young 04c8d0e9d8 Comments. 2020-12-25 16:59:41 +00:00
Jon Evans 60503652a1 Kick-start appearance panel to redraw on Mac
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6827
2020-12-25 10:44:18 -05:00
Jeff Young 84ce814037 Repair segment ownership logic for rects and curves.
Fixes https://gitlab.com/kicad/code/kicad/issues/6847
2020-12-25 13:21:20 +00:00
Jeff Young 9c4d3add15 Fix typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/6845
2020-12-25 12:07:26 +00:00
Jon Evans 8ad89ae457 PNS: fix manual posture mode 2020-12-24 17:31:54 -05:00
Jeff Young ef25c78a04 Separate polygonization error from chaining error.
This way we can report anything that doesn't exactly chain while still
applying  a fudge factor for our own stuff.

Fixes https://gitlab.com/kicad/code/kicad/issues/1795
2020-12-24 21:02:14 +00:00
Jon Evans a9ff98bccc Allow selecting locked pads at all times
Locked pads are a bit different from other locked items
and there are sufficient reasons to need to select them
that it makes sense to introduce this inconsistency.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6837
2020-12-24 14:35:44 -05:00
Jeff Young 38b8bc89ac Fix a pair of typos.
Fixes https://gitlab.com/kicad/code/kicad/issues/6839
2020-12-24 19:32:24 +00:00
Jon Evans d13de9c6c1 Zones: layer set must be initialized after m_isRuleArea
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6814
2020-12-24 11:29:23 -05:00
Jon Evans 98c437e70f Show the read-only notification for objects, too 2020-12-24 08:42:38 -05:00
Jon Evans db0df1fdc9 Don't try to update non-existent zone layers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6803
2020-12-24 08:42:38 -05:00
Jeff Young 5fffde09d4 Improve SNR and formatting. 2020-12-24 10:36:29 +00:00
Jon Evans d0429ced8d Fix layer ordering logic for non-copper layers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6817
2020-12-23 22:09:09 -05:00
Jon Evans 8a2667c4c3 PNS: Fix all segments by default (and make optional)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5920
2020-12-23 21:55:43 -05:00
Jon Evans 8c247fc97c PNS: Add a setting to disable posture solver
PNS: Prevent autoposture flutter when trail has little area

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6797
2020-12-23 21:02:17 -05:00
Michael Kavanagh eb1f07bade Icons: standardise `export_png` to match set 2020-12-24 01:02:03 +00:00
Michael Kavanagh d2018b122b Icons: unify export_svg with the rest of the set 2020-12-24 01:02:02 +00:00
Michael Kavanagh 6489781408 Icons: use correct icons for show/hide ratsnest
- Remove old icon remnants
 - Recolour show/hide_ratsnest to match KiCad style
2020-12-24 01:02:02 +00:00
Jeff Young 6b420b191a Use color theme backgrounds in page previews.
Also includes a *lot* of const fixing to make it happen.

Fixes https://gitlab.com/kicad/code/kicad/issues/6811
2020-12-23 23:18:38 +00:00
Jeff Young ffe7d2ea49 Only draw group boxes when selected.
Also ignore footprint groups when in board editor.

Fixes https://gitlab.com/kicad/code/kicad/issues/6826
2020-12-23 21:43:32 +00:00
Jeff Young 17800b926f Honour couryard_clearance rules when checking for courtyard overlaps. 2020-12-23 17:34:21 +00:00
Jeff Young f30fa60ed7 Need to start with full layer set if we want to end up with any.
Fixes https://gitlab.com/kicad/code/kicad/issues/6822
2020-12-23 15:15:09 +00:00
Jeff Young 2f087dfa1b Fix crash bug trying to delete zone from list twice.
Fixes https://gitlab.com/kicad/code/kicad/issues/6815
2020-12-23 14:24:35 +00:00
Jon Evans 912657dd23 Component dragger: make relaxed segment pickup work for PTH pads 2020-12-22 22:43:44 -05:00
Jon Evans 70c6314c67 Component dragger: be more generous about picking up tracks
We now pick up tracks that end anywhere in the pad, not just
at the pad anchor.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5945
2020-12-22 22:28:24 -05:00
Seth Hillbrand 61ac9c8d90 Add multiple size icons for programs
In theory, the WM should now choose the closest size icon for its
purpose, making it easier to distinguish in space-constrained settings

Fixes https://gitlab.com/kicad/code/kicad/issues/6798
2020-12-22 15:37:26 -08:00
Seth Hillbrand 54ca087999 Update icon resource sets
Updates the .icns, .ico and .png files used by various distros to show
KiCad and KiCad files.
2020-12-22 15:16:33 -08:00
Jeff Young 47ea51ec34 Allow both aui-manager-based infobars and window overlay infobars. 2020-12-22 21:36:39 +00:00
Jeff Young e7f9f19469 Tie dimension properties together for better comprehension. 2020-12-22 16:03:20 +00:00
Adam Wolf 8aedc33a6b Fix typo calling directory_open_xpm on macOS.
Fixes #6809
2020-12-22 09:52:27 -06:00
Jeff Young 93dc7feea3 Remove multi-threading for footprint loading.
Also don't load the footprints up front.  The whole purpose of the
footprint-info stuff is to have enough info about the footprints to
filter them *without* loading.  After that just load individual
footprints as we need them.

Fixes https://gitlab.com/kicad/code/kicad/issues/6177
2020-12-21 22:03:24 +00:00
Jeff Young 5d4042d6b0 Don't check edge cuts visibility when getting board bbox from edges.
Fixes https://gitlab.com/kicad/code/kicad/issues/6805
2020-12-21 19:47:36 +00:00
Jeff Young 6848b1055e Make sure sorting is honoured on first display.
Fixes https://gitlab.com/kicad/code/kicad/issues/6295
2020-12-21 19:47:36 +00:00
jean-pierre charras eb7dc6ddd9 Minor fixes. In stand alone show the frame as soon as possible.
Especially when running Pcbnew to open a complex board the frame is shown faster.
Add also a busy cursor when loading files and building the data.
2020-12-21 17:44:10 +01:00
Wayne Stambaugh 090d7881e0 Revert Coverity fix that caused build issue with older versions of Boost.
The Boost entropy exception does not exist prior to version 1.67. Once
the minimum Boost version is raise to 1.67 or greater, enable catching
the exception.  We will just have to live with the possibility of an
uncaught exception until then.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6804
2020-12-21 08:41:05 -05:00
PJM 32f1e79c28 Pcbnew: Fix ctrl-MMB double click to perform 'Zoom to Objects'
CHANGED: Ctrl-middle mouse button double click should perform
'Zoom to Objects' in Pcbnew, but a change in modifier key handling
broke it.  This MR restores the functionality.

Fixes https://gitlab.com/kicad/code/kicad/issues/6740
2020-12-20 23:20:09 +00:00
Jon Evans 70c397a9b4 Implement free vias fully
CHANGED: manually-placed (stitching) vias won't have their nets automatically updated
(unless the via is placed directly on a track segment)

CHANGED: stitching vias can be placed on footprint pads and pick up their nets

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5484
2020-12-20 16:29:50 -05:00
Jeff Young cd162a8f58 Honour m_placingVia when avoiding collisions.
Fixes https://gitlab.com/kicad/code/kicad/issues/3773
2020-12-20 20:36:19 +00:00
Jon Evans e8f38e3c18 Snap to footprint origin when dragging
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6633
2020-12-20 15:15:48 -05:00
Jon Evans 81ce1a07ee Fix a few issues with builtin color themes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6754
2020-12-20 14:43:41 -05:00
Jon Evans 71b446f43c Fix overlay ordering for non-copper layers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6211
2020-12-20 14:43:41 -05:00
Wayne Stambaugh f311831c27 Coverity fixes.
280252, 314742, 314745, 314747, 314755, 314756, 314757, 314758,
314935, 314936
2020-12-20 13:24:47 -05:00
Jon Evans dc1c80beb8 Allow highlighting from locked items
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6758
2020-12-20 11:24:19 -05:00
Jon Evans ac793618f9 Set start item for inline dragging so that snapping works properly
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6796
2020-12-20 11:13:09 -05:00
Jon Evans a6e595dbda Don't start dragging unselected zones from their filled areas
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6795
2020-12-20 10:41:02 -05:00
Jeff Young 46314f6483 Only compare collision-corrected routes when looking for shortest.
Fixes https://gitlab.com/kicad/code/kicad/issues/6511
2020-12-19 23:20:27 +00:00
Jon Evans c8be87a654 Add i18n flag to appearance controls and selection filter 2020-12-19 17:39:43 -05:00
Konstantin Baranovskiy 7c2b66fc2a pcbnew: make pane labels translatable 2020-12-19 22:25:50 +00:00
Jeff Young d9bbdffd99 Don't offer point-based pad editing in PCBNew. 2020-12-19 19:51:51 +00:00
Jeff Young e840e9d997 Use themeable colours for snap helpers.
Fixes https://gitlab.com/kicad/code/kicad/issues/6664
2020-12-19 19:51:51 +00:00
Marek Roszko 247064a1ed Remove rogue file from pcbnew's cmake
This is already provided in common and isn't pcbnew conditional (anymore)
2020-12-19 10:51:00 -05:00
Marek Roszko 9b0a137d6c Stop bludgeoncompiling dialog_page_settings
Through the power of OOP!
Needs some more cleanup though
2020-12-19 10:40:37 -05:00
Marek Roszko fc272f407a Write the fp-info-cache if we close the footprint editor 2020-12-18 22:56:01 -05:00
qu1ck 4788f3ae6b Read fp-info-cache on first start of fp editor
if fp info list is not initialized
2020-12-18 18:56:36 -08:00
Seth Hillbrand e37a89cdbf Disable the zone display types if zones are hidden
This prevents user confusion (a little) when the zones are hidden

Fixes https://gitlab.com/kicad/code/kicad/issues/6783
2020-12-18 17:22:51 -08:00
Jeff Young 06d4476d7a Fix graphics snapping in Footprint Editor.
Also improves the help text for the various selection modifier
options.

Fixes https://gitlab.com/kicad/code/kicad/issues/6538

Fixes https://gitlab.com/kicad/code/kicad/issues/4745
2020-12-19 00:21:28 +00:00
Wayne Stambaugh 06aa1506ee Add optional project parameter to PCB plugin load method.
The optional PROJECT parameter is primarily used for third party plugins
that need to store project information loaded by the plugin.
2020-12-18 10:40:51 -05:00
Jeff Young 01f6c90fac BOARD_CHANGED is only called after the previous board has been freed.
There is therefore no reason to remove the listener (and every reason
not to try).

Fixes https://gitlab.com/kicad/code/kicad/issues/6666
2020-12-18 12:49:20 +00:00
Jeff Young b68b1692ec Clean up some more user messages.
Mostly component -> symbol but also some I18N cleanup.
2020-12-18 12:49:20 +00:00
Alexis Lockwood 4bc12e7dcd Don't include plotters_specific.h where not needed
This avoids some very large rebuilds when a plotter class is changed.
2020-12-18 07:21:59 +00:00
Jeff Young 1c0d4ac02d Simplify some error messages. 2020-12-18 00:30:26 +00:00
Jeff Young bb232e6ac6 Unify LIB_IDs now that both are stored in sexpr files.
Fixes https://gitlab.com/kicad/code/kicad/issues/6764
2020-12-18 00:30:26 +00:00
Wayne Stambaugh aab3c936f0 Move headers from common folders to appropriate include folders round 2. 2020-12-17 11:44:03 -05:00
jean-pierre charras e4b60b03d1 fp editor: fix incorrect initialization of arc center when edited by the
graphic item properties dialog.
The arc center (in local coordinates) was initialized before the actual
value was calculated.
Fixes #6772
https://gitlab.com/kicad/code/kicad/issues/6772
2020-12-17 16:32:10 +01:00
Jeff Young a6085fa88d Consistency for gerbview toolbar icons and some other icon tweaks. 2020-12-17 14:02:23 +00:00
Wayne Stambaugh 08cf9a1e20 Move headers from common folders to appropriate include folders round 1. 2020-12-17 08:12:18 -05:00
jean-pierre charras dcbe2413cc Pcbnew: fix incorrect displayed value in polar coordinates.
Fixes #6771
https://gitlab.com/kicad/code/kicad/issues/6771
2020-12-17 11:21:24 +01:00
jean-pierre charras b425889a1a fp editor: fix incorrect parent for a error message box
Fixes #6773
https://gitlab.com/kicad/code/kicad/issues/6773
2020-12-17 10:47:39 +01:00
Jon Evans 3d68aa4b86 Make sure footprint editor uses the right config object
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6115
2020-12-16 22:07:35 -05:00
Jon Evans 87b25936a0 Don't hide zone virtual layers in footprint editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6642
2020-12-16 21:47:31 -05:00
Ian McInerney fc20eaa083 Fix some compiler and Coverity warnings 2020-12-17 00:30:22 +00:00
Jeff Young 1ca75c8fda Fix from code review for https://gitlab.com/kicad/code/kicad/-/merge_requests/562.
Fixes https://gitlab.com/kicad/code/kicad/issues/6747
2020-12-16 22:02:19 +00:00
Konstantin Baranovskiy 08730cf952 pcbnew: search hits counting fix
Fixes #6747
2020-12-16 18:02:24 +00:00
Jeff Young acfbcb4beb Make distinction between PCBNew-wide tools and Board-specific tools.
The old names were really hard to keep straight (even for me, who named
many of them).
2020-12-16 13:32:46 +00:00
Seth Hillbrand b7875e4d41 Setup file_* icons
Don't use the same "post_*" icon in the treeview.  The badge gives an
action that doesn't apply in the treeview.

Also renames different file blobs to the "file_*" prefix.
2020-12-15 14:48:09 -08:00
Jeff Young 5f9ed2583c Don't put up double lock confirmation dialogs.
Also removes EditToolSelectionFilter which was misused in more places
than it was used correctly.  The original point of the client filter
was to move the logic to the point of use, which the
EditToolSelectionFilter sort of obviated anyway.

Fixes https://gitlab.com/kicad/code/kicad/issues/6751
2020-12-15 22:34:24 +00:00
Michael Kavanagh 2f49623579 Tweaks to Pcbnew RHS draw toolbar icons
- Improve contrast of ratsnest icons by removing blue
- Track icon: make blue as it is a board feature
- Muwave icon: remove handles, make serpentine blue, thicken and pixel align
- New, simplified zone and rule area icons
- Simplify draw tools by removing edit handles/guidelines - improves contrast
- Reorder draw tools in toolbar/menubar to make a little more sense
- Rotate measurement icon (ruler) to match bottom left -> top right
2020-12-15 02:25:22 +00:00
Seth Hillbrand dad2e317e9 Modify edit text & graphics to use pencil 2020-12-14 17:03:35 -08:00
Jeff Young 2142ad20b1 Draw FPText umbilical lines in themeable colour.
Fixes https://gitlab.com/kicad/code/kicad/issues/6664
2020-12-15 00:15:03 +00:00
Jeff Young 4faa4931ae Fix missing gerber icon.
Fixes https://gitlab.com/kicad/code/kicad/issues/6727
2020-12-15 00:15:03 +00:00
Jeff Young 22a6b36257 Don't allow dbl-click to leak through to other tools.
This only applies if the tool doesn't handle properties (which also
handles double-click events).

Fixes https://gitlab.com/kicad/code/kicad/issues/6735
2020-12-14 22:15:43 +00:00
Jeff Young c1a74b427a Translucent magnifying glass on footprint & library browser icons.
Also renamed.
2020-12-14 22:15:43 +00:00
jean-pierre charras dd3b5512ee PANEL_SETUP_LAYERS:do not disable the button "Add User Defined Layer".
For boards having 2 or 4 layers this button was disabled, that make no sense.
2020-12-14 17:47:55 +01:00
Jeff Young 3b35bfc0a5 Don't write out synthetic severities (they're headings).
Fixes https://gitlab.com/kicad/code/kicad/issues/6726
2020-12-14 13:34:53 +00:00
Michael Kavanagh 4f5c764dde Appearance manager icons: fix which is which 2020-12-13 16:48:22 +00:00
Jon Evans 7695866a72 Fix typo 2020-12-13 11:14:09 -05:00
Michael Kavanagh cc43b66daf Icons: use correct size for open action in toolbar
Previously 16x16 was used
2020-12-13 16:10:26 +00:00
Cameron McQuinn f225e95ffc FIx BOARD class SWIG interface
Commit b1f0bf7 changed netinfo.h to use more consistent naming, but the SWIG board.i file still references the old name.
2020-12-13 11:55:10 +00:00
Jeff Young 1db7ffad5e Formatting. 2020-12-13 11:42:03 +00:00
Marek Roszko 7565f60a03 Swap wxFileInputStream/wxFileOutputStream for the buffered kind 2020-12-12 18:52:02 -05:00
Seth Hillbrand 2bf0eb1e3a Add convert icon 2020-12-12 11:14:58 -08:00
Michael Kavanagh dce4d04113 Add 24x24 size refresh icon
Previously 16x16 was being used alongside 24x24
2020-12-12 18:51:55 +00:00
Jeff Young bc484784fc Make sure zones are triangulated for DRC.
Normally this happens as a side-effect of rendering them but if done
from a script (or test case) this won't happen.

Fixes https://gitlab.com/kicad/code/kicad/issues/6635
2020-12-12 15:27:46 +00:00
Jeff Young c0a9742b3a Apply 0ef63aca47 to diff pairs.
Fixes https://gitlab.com/kicad/code/kicad/issues/6314
2020-12-12 03:43:41 +00:00
Michael Kavanagh cf6f0b9b92 Use trash icon where appropriate 2020-12-11 17:05:11 -08:00
Wayne Stambaugh dd4298bb94 Coverity fixes: 280374, 313611, 313648, 313649, and 314720. 2020-12-11 13:29:52 -05:00
Jeff Young 0ef63aca47 Don't reset tail when changing track width/via sizes.
Fixes https://gitlab.com/kicad/code/kicad/issues/6314
2020-12-11 17:58:36 +00:00
Jeff Young af841d1318 Pay attention to flashed layers when doing DRC layer switch.
Fixes https://gitlab.com/kicad/code/kicad/issues/6710
2020-12-11 17:58:36 +00:00
jean-pierre charras 224e33f8e1 DIALOG_TEXT_PROPERTIES: allows text rotation in 0.001 degree.
Fix also incorrect rotation (truncation) when displaying info in message panel
fot texts and pads.
2020-12-11 16:26:58 +01:00
Jeff Young 7cb2d19814 Honour alt-means-disable-grid-snapping in router.
Fixes https://gitlab.com/kicad/code/kicad/issues/6679
2020-12-11 13:11:47 +00:00
Jeff Young d304f12284 Formatting. 2020-12-11 12:48:04 +00:00
Jeff Young 73b7b104cd Fix some issues with Infobar sizing.
This also commits to the new strategy as it wasn't really compatible
with if-def-ing anymore.
2020-12-11 12:39:40 +00:00
Marek Roszko 525934881f Use a temp file for saving the fp-info-cache for now 2020-12-10 23:07:49 -05:00
Marek Roszko dd0ad8f3a1 Read the fp-info-cache on pcb file load rather than on frame open
Otherwise in standalone mode pcbnew will never load the cache files and also later erase them :/
2020-12-10 21:34:40 -05:00
Marek Roszko 0967995a80 Replace wxTextFile for writing fp info cache
wxTextFile uses wxFile which uses write syscalls which means its unbuffered.
This makes file IO more expensive against network shares where it will flush far too aggressively.
wxTextFile is fine for reads however.
2020-12-10 21:34:40 -05:00
Jeff Young 6898dadd1c Don't activate measure tool when it's already running.
In this case it's reactivated when the move command ends; only the
move command was ended because of activating the measure tool so it
gets activated twice.

Fixes https://gitlab.com/kicad/code/kicad/issues/6321
2020-12-10 22:14:52 +00:00
Jeff Young 98330098ac Yet another overhaul to locking.
This unifies everything under a single architecture with a "don't
show again" dialog.  Since everything now goes through the same
path it should be reasonably easy to make it do whatever we want
in the future.

Right now it presents 3 options: modify only unlocked items, override
locks and modify all items, or cancel command.
2020-12-10 17:36:19 +00:00
Roberto Fernandez Bautista 260219b0e6 CADSTAR PCB Archive Importer: Fix arc and filled shapes in footprints
- Need to call the PCB_SHAPE version of SetAngle in order to set the global coordinates for m_ThirdPoint
- Fill shapes also if in a footprint
2020-12-10 14:35:37 +00:00
Marek Roszko a4879e740a Don't request a full frame refresh when editing text properties (stop apperance flickering)
Seems like dead code, the commit should trigger just a canvas refresh.
2020-12-09 21:14:48 -05:00
Jeff Young 9113f93ebe Uniformly apply current locking strategy.
I make no claims that this is the right strategy, but at least it's
consistent now.

Fixes https://gitlab.com/kicad/code/kicad/issues/6369
2020-12-10 01:34:37 +00:00
Jeff Young 90d58c8509 Fix typo. (Thanks Graham!) 2020-12-10 00:08:05 +00:00
Marek Roszko bb4aa15736 Remove extraneous msgpanel update
OnModify right above also calls UpdateMsgPanel
2020-12-09 18:41:43 -05:00
Ian McInerney be4b6ec06a Cleanup compiler warnings 2020-12-09 23:13:33 +00:00
Jeff Young c6b17a0175 Enable lock menu for all selections.
It doesn't pay to try and be too smart as it just confuses people.
When the bugs come in that it doesn't dim I'll just be marking them
as "as designed". :)

Fixes https://gitlab.com/kicad/code/kicad/issues/6367
2020-12-09 22:19:06 +00:00
Jeff Young df4f4560be Change lock toggle to put selection in uniform state.
Fixes https://gitlab.com/kicad/code/kicad/issues/6367
2020-12-09 22:19:06 +00:00
Jeff Young 65782d5c5a Move delete-again-to-delete-locked-objects to hypertext in infobar.
Fixes https://gitlab.com/kicad/code/kicad/issues/6367
2020-12-09 22:19:06 +00:00
Wayne Stambaugh e0fb12488b Pcbnew: fix more minor text properties dialog layout issues. 2020-12-09 09:18:55 -05:00
Marek Roszko eb2472650c Filter appearance control updates on bulk changes 2020-12-09 08:01:37 -05:00
Wayne Stambaugh ad02156aea Pcbnew: fix minor text properties dialog layout issues. 2020-12-09 07:58:32 -05:00
Marek Roszko ad1aae40ec Unify the saved file strings 2020-12-08 19:49:47 -05:00
Seth Hillbrand fbc70511c7 GTK-require two-step in dataview
The before reset needs to be called in GTK prior to reseting the tree
otherwise, we will dereference items that may be cleared.

Fixes https://gitlab.com/kicad/code/kicad/issues/6672
2020-12-08 16:42:28 -08:00
Jeff Young 431c8dba3c Adjust undo when deleting members of a group.
Fixes https://gitlab.com/kicad/code/kicad/issues/6678
2020-12-09 00:18:36 +00:00
Jeff Young 5e9d9f5753 Special handling for presence of Ref or Value in groups.
Fixes https://gitlab.com/kicad/code/kicad/issues/6677
2020-12-09 00:18:36 +00:00
Seth Hillbrand 799e1efba2 Update group icons 2020-12-08 12:22:18 -08:00
Jeff Young b26a5972c5 LIB_TREE's SetFocus() override no longer getting called.
The KIPLATFORM stuff forces focus, but not through the SetFocus()
call.

Fixes https://gitlab.com/kicad/code/kicad/issues/6657
2020-12-08 17:46:10 +00:00
jean-pierre charras ac684ac7a3 Fix minor compil warnings. 2020-12-08 18:28:03 +01:00
jean-pierre charras 9c4eef2cef Fix a missing view update when loading a footprint from the fp viewer.
For some reason, a footprint loaded from the fp viewer did not have its
view parameters fully updated (view bounding box not moved to the right place).
The fix ensure these parameters are updated.
2020-12-08 17:52:30 +01:00
Jeff Young b1f0bf7334 More consistent naming. 2020-12-08 13:05:39 +00:00
Jeff Young 60ecd4698c Nets don't have properites; netclasses do. 2020-12-08 13:05:39 +00:00
Jeff Young 20ad2bee2f Naming conventions. 2020-12-08 13:05:39 +00:00