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