Roberto Fernandez Bautista
19d786852a
CADSTAR PCB Archive Loader: Fix loading of zero sized pads
...
Some CADSTAR designs use zero sized pads because CADSTAR did not allow
arbitrarily assigning pad numbers: they had to be sequential. The
workaround to this was to use zero sized pads. However this causes DRC
errors in KiCad, so we load them just in a mask layer.
2021-02-10 18:49:21 +00:00
Roberto Fernandez Bautista
aabe9c063f
CADSTAR PCB Archive Loader: Some fixes to design rules
...
1. Make sure to convert to KiCad units
2. There are some KiCad rules that have no CADSTAR equivalent.
Make a guess as to what an appropriate rule could be.
2021-02-10 18:49:21 +00:00
Roberto Fernandez Bautista
2d66abdc89
CADSTAR PCB Archive Importer: More improvements to loading of zones
...
Adds a new function Area() to SHAPE_POLY_SET
2021-02-10 18:49:21 +00:00
Roberto Fernandez Bautista
06c420a2a3
CADSTAR PCB Archive Importer: Improve loading of zones
...
Load fill state and guess zone priorities from fill state
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
80d8974f87
CADSTAR Archive Importer: Fix loading of non-cadstar font text sizes
...
Non-cadstar fonts use a width of 0.
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
f559e94b00
Non-Kicad Project Importers: Fix the creation of project fp libraries
...
Adds a new function to PLUGIN GetImportedCachedLibraryFootprints() that
loads the library footprints of the board design that was imported
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7449
2021-02-10 18:49:20 +00:00
Roberto Fernandez Bautista
297ff282f1
CADSTAR Importer: Update copyright years and remove white spaces
2021-02-10 18:49:20 +00:00
Jeff Young
20338c92e8
Move Flip board view to a shared tool (for FP Editor).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6687
2021-02-10 17:06:19 +00:00
Jeff Young
4679682fe9
Don't treat success == true as "we got an outline".
...
It just means the outline wasn't malformed. It might still be
empty.
[Edit: my fix collided with JP's, so all this really is now is a
couple of slight performance improvements.]
2021-02-10 12:38:06 +00:00
Jeff Young
05d2053ded
Put MSW bug fix back in.
2021-02-10 12:37:13 +00:00
jean-pierre charras
d738c91dd7
minor fix in DIALOG_SYMBOL_PROPERTIES: make m_cbPreservePads ON the default
...
Keep Through Hole pads on external layers should be ON by default, because
such a pad does not allow soldering/unsoldering, if this option this option is OFF
Also rename dialog_enum_pads.fbp as dialog_enum_pads_base.fbp, as usual
2021-02-10 12:47:11 +01:00
jean-pierre charras
5079881f3f
BuildFootprintPolygonOutlines(): fix incorrect outlines when no pad in the footprint.
...
It is used in 3D viewer to build a "board" polygonal outlines.
The polygon was empty when no pad and no item on ede cuts found (i.e. logos)
Fixes #7448
https://gitlab.com/kicad/code/kicad/issues/7448
2021-02-10 08:45:17 +01:00
Marek Roszko
872184fe8b
Revert "Bump minimum required CMake version to 3.10"
...
This reverts commit a475f45753
.
2021-02-09 18:46:13 -05:00
Seth Hillbrand
09be44a352
Use Jeff's method+font for monospace
2021-02-09 12:14:17 -08:00
Seth Hillbrand
505844f68c
Generalize the Ctrl-Q to all frames
...
Rather than adding our handler to each frame separately, we initialize
the Ctrl-Q quit action at the base frame to be consistent
2021-02-09 11:43:42 -08:00
Jeff Young
65c41cff42
Another way to set fixed-width font (that works on OSX).
2021-02-09 18:46:04 +00:00
Wayne Stambaugh
5ecef204cd
Coding policy fixes.
...
Using "this->" violates coding policy section 2.7.
2021-02-09 11:35:43 -05:00
Jeff Young
a49a6c2f52
Refresh zone layers when copper layers change opacity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7468
2021-02-09 12:26:46 +00:00
Jeff Young
618e824b0f
Cleanup includes and formatting.
2021-02-09 12:26:46 +00:00
Seth Hillbrand
6f0424d742
Use monospace font for textboxes
...
Matches the spacing of our stroke font so the tabs are correctly
displayed in WYSIWYG
Fixes https://gitlab.com/kicad/code/kicad/issues/1807
2021-02-08 15:59:58 -08:00
Jeff Young
e2f8b1a4b1
Interpreting wxDialog::ShowModal()'s retval as bool is never what you want.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7454
2021-02-08 17:40:57 +00:00
Mikolaj Wielgus
5aaedd86ed
Add "Limit graphic lines to 45 deg" to line drawing tool context menu
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7181
2021-02-08 16:20:38 +00:00
Jeff Young
6272b48481
Make sure layer gets passed in to rules evaluation.
2021-02-08 14:53:49 +00:00
Jeff Young
7aa7e3fd43
Push undo/redo blocking down a level in LengthTuner tool.
...
This way it's active only while tuning a single line, rather than
while the tool is selected.
Fixes https://gitlab.com/kicad/code/kicad/issues/7462
2021-02-08 14:15:46 +00:00
Simon Richter
a475f45753
Bump minimum required CMake version to 3.10
...
This allows us to remove even more workarounds
2021-02-08 12:23:08 +00:00
jean-pierre charras
34d7c3e31f
fp shape, ARC: fix incorrect arc end position after flipping/mirroring.
...
Add also comments in FP_SHAPE::SetAngle() to avoid a similar issue.
2021-02-08 10:11:04 +01:00
Seth Hillbrand
81b83a8f5b
Remove unused line width parameter
2021-02-07 17:11:05 -08:00
Seth Hillbrand
792904557e
Remember Parent data when routing
...
Keeps parent information such as UUID and pad removal options for
elements that are just updated in routing rather than created fresh or
fully destroyed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7460
2021-02-07 17:08:43 -08:00
Jeff Young
0ca76571ce
Add footprint zones to paste routine.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7442
2021-02-07 11:50:59 +00:00
Thomas Pointhuber
088ff5b2bb
altiium: set fill version, which allows us to do a copper pour without a line
2021-02-06 23:58:30 +01:00
Michael Kavanagh
7cc28a5a02
Shrink appearance manager bitmap buttons to 16x16
...
Finish off 38cc2f106b
2021-02-06 22:51:56 +00:00
Thomas Pointhuber
8ee6694c57
altium: Set smaller zone MinThickness by default to better account for missing design rules
2021-02-06 23:45:28 +01:00
Thomas Pointhuber
d444ed80a5
altium: parse Regions6 to fill zone on import
2021-02-06 23:06:59 +01:00
Seth Hillbrand
624a231cc0
Remove unused line width option
...
You had to set the line width in the SVG export dialog in order to
change the displayed line width in the 3d viewer. The line width did
not affect the SVG export. Removing in favor of the Board design
settings for line widths
2021-02-06 06:44:53 -08:00
Jeff Young
c2dbd28101
Simplify and harmonize symbol editor and footprint editor menus.
...
Some differences are due to difference between libraries being files
in symbol editor and directories in footprint editor, but this unifies
most of the rest.
It also dispenses with the save-to-library vs save-to-document distinction
in the GUI because it makes for too much variability in the GUI, was
implemented differently between the two editors, and isn't needed as much
anymore now that we have the highly visible infobar.
There was also an issue that the save-to-board icon occupies the same
location and has the same size/shape/colours as the Board Setup icon in
PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/issues/7215
2021-02-06 14:33:16 +00:00
Jeff Young
49a09f4c1c
Pad selectability fix.
...
Physical layer test needs to be board-visible-layers, not pad-layers.
Also cleans up the tests so that LOD factors in. (When things
disappear due to zoom level they should not be selectable.)
Fixes https://gitlab.com/kicad/code/kicad/issues/7238
2021-02-06 13:57:40 +00:00
jean-pierre charras
d2213708eb
FOOTPRINT_WIZARD_FRAME: minor fixes.
...
Fixes #7435
https://gitlab.com/kicad/code/kicad/issues/7435
2021-02-06 08:10:13 +01:00
Seth Hillbrand
016bffc899
Remove some more unneeded atof() calls
2021-02-05 10:18:34 -08:00
qu1ck
5c3ee0443c
Make footprint properties accessible from python
...
Now that footprint properties inherit custom fields from schematic
they are very useful.
Setting custom properties from python will also be handy in plugins
that need to somehow mark their own objects.
2021-02-05 02:31:48 +00:00
Seth Hillbrand
2e67cd2db8
Fix locale issue in Fabmaster import
2021-02-04 16:32:02 -08:00
Seth Hillbrand
55a6013a32
Remove errant printf
2021-02-04 15:58:59 -08:00
Seth Hillbrand
aa0db969ca
Caching ConvexHull routine
...
Stores a cache of the convex hull similar to the bounding box. Modifies
the hull based on actions to allow complex footprint graphics without delay
Fixes https://gitlab.com/kicad/code/kicad/issues/7341
2021-02-04 15:56:52 -08:00
Jeff Young
78ba87be8f
More explicit error message for unconnected items.
2021-02-04 22:47:37 +00:00
Jeff Young
7b9700d871
Convert insideArea test for zones to be "any copper inside".
...
The test used to be "entire zone inside", but that didn't work when
we use it to implement "copper pour" keepout areas.
Fixes https://gitlab.com/kicad/code/kicad/issues/7420
2021-02-04 13:43:50 +00:00
jean-pierre charras
0de3d48db5
typo
2021-02-04 09:00:35 +01:00
Jon Evans
721bf82603
Handle malformed lines in dragCornerInternal
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7398
2021-02-03 20:55:22 -05:00
Jon Evans
f7e21682ec
Update model in APPEARANCE_CONTROLS::SetObjectVisible
...
Don't make the caller remember to do so
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7411
2021-02-03 20:18:13 -05:00
Jeff Young
da8d0472f5
Layer must be between 0 and PCB_LAYER_ID_COUNT.
2021-02-04 01:00:20 +00:00
Jon Evans
3ac5fd6342
Get rid of wx popups when opening a read-only project
2021-02-03 19:17:32 -05:00
Jon Evans
b314e0828c
Don't create project files unconditionally when importing boards
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7368
2021-02-03 19:17:32 -05:00
Jeff Young
065a16b48c
Careful that we don't move the wrong end of the arc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7409
2021-02-03 23:53:11 +00:00
Jeff Young
90b3d0c96d
Implement TransformShapeWithClearanceToPolygon for DIMENSIONs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6890
2021-02-03 23:34:17 +00:00
Jeff Young
e26c912b86
Don't apply electrical clearance to non-copper zones.
...
Also removes a very old (and somewhat confusing) comment.
Fixes https://gitlab.com/kicad/code/kicad/issues/7404
2021-02-03 11:56:43 +00:00
Jeff Young
6dee7f30fa
Whack-a-mole on another case of "module".
2021-02-03 10:53:24 +00:00
Seth Hillbrand
22d78a5827
FABMASTER: Handle flipped custom pads and rounded rects
...
Adds error messages for more cases and fallback for custom pads to
prevent invalid pad generation
2021-02-02 19:33:18 -08:00
Roberto Fernandez Bautista
c25cab0cf8
Fix typo
2021-02-03 01:55:05 +00:00
Roberto Fernandez Bautista
9aedeae5c3
Don't log error messages when using the clipboard
...
wxClipboard::GetData()and wxClipboard::SetData() both log a "wxLogSysError" error-level message (see for example: https://github.com/wxWidgets/wxWidgets/blob/v3.1.4/src/msw/clipbrd.cpp#L703 ). This logged message gets displayed as a messagebox to the user.
The logging can be disabled temporarily by creating a wxLogNull object. See https://docs.wxwidgets.org/3.0/classwx_log_null.html
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6956
2021-02-03 01:55:05 +00:00
Jeff Young
46658076bd
Minor cleanup.
2021-02-02 22:55:18 +00:00
Jeff Young
d7ddc62d7e
Fix mouse warping and dialog placement for layer switcher.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2607
2021-02-02 17:20:01 +00:00
Jeff Young
b8e97bb6b6
Only apply B&W printer fixes when printing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7388
2021-02-02 15:37:30 +00:00
Jeff Young
90519c8324
Allow pads with holes to be selected when hole is visible.
2021-02-02 14:23:29 +00:00
Jeff Young
d261fa3792
Make sure items are removed from groups when deleted.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7387
2021-02-02 14:23:29 +00:00
jean-pierre charras
c98c7cf200
Fix minor wxWidgets alerts
2021-02-02 10:01:19 +01:00
jean-pierre charras
e3e03e09d0
detect_file_type(): update detection to handle last change in .kicad_mod files
...
These files can start now by "(module" or "(footprint".
2021-02-02 09:53:30 +01:00
Marek Roszko
9695717a46
Fix assert in SwapItemData
2021-02-01 19:29:58 -05:00
Marek Roszko
ee2c5bb489
Remove memory leak when importing settings for a board
2021-02-01 19:23:23 -05:00
Jeff Young
8f4d2cf33b
Fix typo in footprint flip code.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7224
2021-02-02 00:07:29 +00:00
Jeff Young
8571687f51
Upgrade place via tool to new DRC.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7358
2021-02-01 23:00:13 +00:00
Seth Hillbrand
29632e8b6f
Include footprint center as snap point
...
Only when footprint center isn't approximate the footprint origin as
well. This can help when moving/aligning THT footprints
Fixes https://gitlab.com/kicad/code/kicad/issues/7385
2021-02-01 12:03:26 -08:00
Seth Hillbrand
54f5a47208
Remove confusing GetFirstPad() call
...
This no longer returns the first pad, just the first by pad sort order
in output. The call is not used correctly in pcbnew, so removing to
prevent future misuse
2021-02-01 12:03:26 -08:00
Seth Hillbrand
23c6dbff38
Need to check track/track clearance
...
The misplaced else prevented non-track/track intersection clearances
from being reported
Fixes https://gitlab.com/kicad/code/kicad/issues/7376
2021-02-01 10:08:27 -08:00
Jeff Young
1f27b7e7df
Don't render hole walls when no physical layers are visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7369
2021-02-01 17:14:30 +00:00
Marek Roszko
dc4b73fcef
Correct m_board check location in PNS_KICAD_IFACE_BASE::SyncWorld
2021-02-01 11:58:22 -05:00
Marek Roszko
9d0b16e814
bool/int type safety
2021-01-31 19:54:32 -05:00
Jeff Young
89d3b0b670
Remove breakage of corner pinning in point editor.
...
For some reason the post-pinned local variable references were replaced
with calls to the points themselves (which are the pre-pinned values).
Fixes https://gitlab.com/kicad/code/kicad/issues/7291
2021-02-01 00:35:45 +00:00
Seth Hillbrand
8778599c0d
Apply same nettie hack to zone filler
...
The nettie hack is used in DRC but we also need to use it in zone filler
to allow zones to be used with netties. We limit this to the
appropriate nets in the nettie
Fixes https://gitlab.com/kicad/code/kicad/issues/7351
2021-01-31 16:16:48 -08:00
Marek Roszko
991c8fbf8f
Use the new nudge path for the footprint lib table, save global and project mru differently
2021-01-31 19:01:33 -05:00
Seth Hillbrand
1a3ab551cf
Cleanup
...
FindLineSegmentIntersection() was refactored in 2012 but there are a few
uses that didn't get updated. This finalizes the cleanup
Fixes https://gitlab.com/kicad/code/kicad/issues/7365
2021-01-31 15:55:52 -08:00
Seth Hillbrand
8567739a7a
Remove conditions from common immediate-mode keys
...
The conditions prevent use in immediate mode for common actions. While
this makes enable/disable easier in menu items, this fix is a patch
until we refactor the action framework to distinguish between immediate
mode hotkeys that should start without selections and menu items that
need a selection before running.
Fixes https://gitlab.com/kicad/code/kicad/issues/5333
2021-01-31 14:45:24 -08:00
Seth Hillbrand
b54e951ed8
Fix a couple of checks in Fabmaster
2021-01-31 14:12:40 -08:00
Marek Roszko
8f21034254
Fix invalid windows macro
...
Missing one underscore at the end
2021-01-31 16:15:50 -05:00
Marek Roszko
051621a2ca
Use M_SQRT1_2 in place of the number
2021-01-31 15:47:23 -05:00
Marek Roszko
3d45668354
Fix typo in TRACK::GetEndY
2021-01-31 15:43:12 -05:00
Marek Roszko
21fe8542df
Remove shadowing of identical base m_parser member
2021-01-31 12:56:27 -05:00
Jon Evans
abf0a46dce
Refactor PICKER_TOOL and push up snapping disable functionality
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7348
2021-01-31 09:50:41 -05:00
Jon Evans
a45b86d2ba
Fix Coverity warning
2021-01-31 09:50:41 -05:00
Jeff Young
a868fb97b6
Preserve Uuids when editing board footprints.
...
One way to do this would have been to keep the Uuids in the editor
copy. However, this opens us up to errors if we forget a Save As or
export path and end up writing the Uuids out somewhere else.
In the end, it felt safer to store a map of the original Uuids and
restore them if we happen to save the editor footprint back to the
board.
Fixes https://gitlab.com/kicad/code/kicad/issues/7312
2021-01-31 14:09:59 +00:00
Thomas Pointhuber
70e6d0e79f
altium: use those new fancy user definable layers and import the name from Altium
2021-01-31 11:15:08 +01:00
Jeff Young
56ea55ae9c
Make sure that NPTH pads still get handled in copper clearance checker.
...
... because that's where we do hole-to-copper clearance testing.
Also augments the Clearance Resolution reporter to report on said
hole clearances.
And changes the interpretation of HOLE_CLEARANCE_CONSTRAINT to include
local pad clearance overrides.
Fixes https://gitlab.com/kicad/code/kicad/issues/7325
2021-01-31 00:33:35 +00:00
Thomas Pointhuber
6a9e1ecf9e
altium: Center board after import
2021-01-30 17:43:02 +01:00
Jeff Young
41234a8373
Implement more precise annotation-required messages.
...
Also moves the message to an infobar so it's more noticeable.
Fixes https://gitlab.com/kicad/code/kicad/issues/7332
2021-01-30 16:31:27 +00:00
Jeff Young
a235103e48
Redo pad & via painting (again).
...
New strategy isolates all draw/don't draw decisions to the ViewGetLOD
routines, and all dimmed/not dimmed to PCB_RENDER_SETTINGS::GetColor.
The actual drawing in PCB_PAINTER is more-or-less conditon free.
Also adds new layers for pad and via hole walls so that they can be
controlled for high-contrast mode.
Also changes the drawing paradigm so that the pads are drawn even when
not on the high contrast layer, just in low contrast. The hole wall
is drawn in high contrast. This actually makes things clearer to the
user (although to be honest was done to keep from having to re-render
pads when the high contrast layer changes since we have two separate
layers now that we can adjut colours on).
Fixes https://gitlab.com/kicad/code/kicad/issues/7328
2021-01-30 16:31:27 +00:00
Jeff Young
488a5b7567
Draw via holes in high contrast when they cross a high contrast layer.
2021-01-30 16:31:27 +00:00
Seth Hillbrand
6b685dfb3f
Fix the knockout conditions
...
We need to knock out thermal clearance for same net pads but this
doesn't need to be placed in the regular clearance area (probably).
Fixes https://gitlab.com/kicad/code/kicad/issues/7321
Fixes https://gitlab.com/kicad/code/kicad/issues/7340
2021-01-30 08:15:00 -08:00
Seth Hillbrand
73886aecb1
Ensure partially triangulated polys are not valid
...
Moves rule area triangulation outside of layer iterator and keeps the
triangulation_valid flag false until the triangulation has been
completed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7032
2021-01-29 16:33:57 -08:00
Seth Hillbrand
386ead30c5
All circle and arc tools to select all at first
...
Non-layer elements can be logical centers for the circle and arc tools.
We allow the non-layer to snap for the center points and revert to only
on-layer elements after
Fixes https://gitlab.com/kicad/code/kicad/issues/7327
2021-01-29 10:14:44 -08:00
Seth Hillbrand
553166f932
Handle ARC bbox in tracks
...
Need to handle arcs separately to ensure we get the full bounding box
Fixes https://gitlab.com/kicad/code/kicad/issues/7318
2021-01-29 09:07:23 -08:00
Marek Roszko
30ba3aa240
Get python loading the new "user scripting" paths
2021-01-28 23:45:53 -05:00
Marek Roszko
43fd416d13
Flip the footprint new library flow to prompt global or project first
2021-01-28 20:15:44 -05:00
Jon Evans
b5e9a949bc
Selection: skip sloppiness pruning if invalid
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7320
2021-01-28 19:51:29 -05:00
Jeff Young
74a5db64c2
Update pad netnames (and numbers) to the new visibility architecture.
2021-01-28 23:31:38 +00:00
Jeff Young
21bec6c016
Comment.
2021-01-28 23:31:38 +00:00
Jeff Young
6983bcd55b
Push addition of shape width down into computeArcBBox.
...
Also improves performance by calling GetBoundingBox only once (this
is not always an inexpensive routine for some items, such as
polygons).
2021-01-28 22:29:28 +00:00
Seth Hillbrand
1733a23ac7
Take width into viewBBox account
...
Don't let objects disappear until their full extend has been removed
from view.
Fixes https://gitlab.com/kicad/code/kicad/issues/7318
2021-01-28 14:20:13 -08:00
Seth Hillbrand
714430fefa
Flash pads when connected by zone
...
Zone connections (even half-connections) should trigger the connected
logic in flashPads. This removes the double-standard for painting pads
and imposes thermal standoff based on the net connection to the pad if
it shares a net, not just if connected
2021-01-28 13:21:22 -08:00
Jeff Young
1a7b7e84c6
Use consistent terminology for component placement files.
...
CHANGED footprint positions files -> component placement files.
Not all footprints get placed, so component is a more neutral word.
Use of "placement" instead of "positions" removes the double-plural
that makes footprint positions files such a mouth-full.
Fixes https://gitlab.com/kicad/code/kicad/issues/7097
2021-01-28 19:24:55 +00:00
Jeff Young
636ae012ed
Overhaul the pad drawing special cases yet again.
...
New strategy is to draw the hole wall cylinder if the pad (or via)
isn't flashed on a particular layer. This is (1) more correct,
(2) keeps pads which aren't flashed on any layer from disappearing,
and (3) allows us to remove a bunch of the other special cases.
Or at least I think it does. The proof will be in the (lack of)
follow-on bug reports....
Also fixes a bug where via annular rings weren't highlighted in
high contrast mode.
Fixes https://gitlab.com/kicad/code/kicad/issues/7279
2021-01-28 17:02:42 +00:00
Seth Hillbrand
2ef00e9de4
Rebuild ratsnest when importing netlist
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7287
2021-01-27 17:57:00 -08:00
Seth Hillbrand
89a72df0b1
Fix a few FABMASTER issues
...
- Custom pads now properly supported with offset/rotation
- Fix missing pads from alternate layers
Fixes https://gitlab.com/kicad/code/kicad/issues/7299
2021-01-27 17:50:14 -08:00
Ian McInerney
beb50c529e
Reorganize the CMake folder to separate build and configure steps
...
The BuildSteps folder now contains the CMake scripts that are
called during the build process as individual stages, while
the root CMakeModules directory contains the CMake files used
during the configuration phase.
2021-01-28 00:24:22 +00:00
Marek Roszko
2807a37fc0
Create a stock scripting path helper
2021-01-27 19:12:18 -05:00
Marek Roszko
e6dd95e83a
Create a default user projects folder
2021-01-27 19:12:18 -05:00
Marek Roszko
28c6967dbc
Start trying to shuffle around path management
2021-01-27 19:12:18 -05:00
Wayne Stambaugh
6a39b81647
Fix the last of broken Doxygen comment specifiers.
2021-01-27 17:39:44 -05:00
Mikołaj Wielgus
3e42ba18a9
Show dragging tools in context selection menu for components
...
Show the dragging tools in the context selection menu when a single
component is selected. Prevent the dragging tools from appearing when
more than one object is selected, as they will not activate anyway.
Fixes https://gitlab.com/kicad/code/kicad/issues/7258
2021-01-27 19:55:42 +00:00
Jeff Young
06a0094597
Minor improvements to layer highlighting.
2021-01-27 14:52:22 +00:00
Jon Evans
bb79eb0e45
Fix typo causing no netnames in SPECCTRA export
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7298
2021-01-26 22:04:45 -05:00
Jon Evans
1e030655cd
Always create project when doing a Save As on a board with a project
2021-01-26 21:58:17 -05:00
Jon Evans
bea310569b
Fix parsing of track/via user sizes from legacy boards
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6134
2021-01-26 21:51:36 -05:00
Jon Evans
30f3a7d124
Rework high contrast for pads/vias slightly
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6923
2021-01-26 21:02:11 -05:00
Jon Evans
79f94c096e
Rename legacy selection filter action to avoid confusion
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7290
2021-01-26 18:15:36 -05:00
Seth Hillbrand
aefc107d86
Fix button sizing
2021-01-26 13:42:02 -08:00
Seth Hillbrand
9a51a75403
Confirm when cancelling a changed custom rule
2021-01-26 08:18:38 -08:00
Jeff Young
1e9639e89c
Save pintype alongside pinfunction (in pads).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7283
2021-01-26 15:28:48 +00:00
Jeff Young
0e7c18119e
Make sure pads are unlocked when editing footprint from board.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7274
2021-01-26 15:28:48 +00:00
jean-pierre charras
2e58826338
Minor fix: remove an unwanted font setting from panel_setup_constraints_base.fbp
...
that cannot be removed using wxFormBuilder due to a bug in wxFormBuilder.
2021-01-26 14:03:12 +01:00
Jeff Young
5a5f96bd9f
More consistent naming.
2021-01-26 11:41:47 +00:00
Jeff Young
b165ae6519
Fix note formatting issues.
...
Also removes the "tip" icon which doesn't work on OSX and isn't as
important as the graphics which actually convey information. Replaced
with the more generic "Note: " string.
Fixes https://gitlab.com/kicad/code/kicad/issues/7281
2021-01-26 11:29:30 +00:00
Jeff Young
7d6c1c5ee6
Improve comments.
2021-01-26 10:56:19 +00:00
Jeff Young
dca7e44455
Fix a missed Module -> Footprint.
2021-01-26 10:56:19 +00:00
Jon Evans
b96bcc86b1
Don't restrict start item to same layer if snapping is enabled
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7276
2021-01-25 21:19:26 -05:00
jean-pierre charras
96af236493
Code cleanup: remove include wx.h from pcb_plot_params.h.
...
including wx.h is useless for this file, and include wx.h in a lot of other files.
Include wx.h must be made only when needed in a given file, because on Windows
it include some headers that frequently create collision with kicad declarations
2021-01-25 16:18:46 +01:00
Michael Kavanagh
d933a0a863
Use the pencil for Properties in Pcbnew
2021-01-25 14:21:23 +00:00
Michael Kavanagh
eba09a59e9
Remove inappropriate icon
2021-01-25 14:21:22 +00:00
Jeff Young
09eb4b35c6
Make sure footprint edges get checked.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7267
2021-01-25 13:20:16 +00:00
Jeff Young
d40fe127aa
Update pad locked status when adding footprints from schematic.
...
Also fixes some latent bugs with not updating the local ratsnest
visibility in other places, and the netcode in update PCB from schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/7202
2021-01-25 01:20:36 +00:00
Seth Hillbrand
5a9c0a9b5a
Quiet a few coverity warnings
2021-01-24 14:53:18 -08:00
Seth Hillbrand
47d5900600
Fix build warnings
2021-01-24 11:37:48 -08:00
Mikolaj Wielgus
04cc64c008
Restore the old reference after rotation or flip instead of clearing
...
After a rotation or flip the reference point has to be restored to the
previous value to prevent the dragged item from warping to the cursor.
Before this change, the reference point was only cleared, causing odd
behavior when a rotation or flip was performed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7112
2021-01-24 18:56:46 +00:00
Roberto Fernandez Bautista
f353fc448b
Fix edge cases in EDIT_TOOL::DragArcTrack
2021-01-24 16:41:11 +00:00
Roberto Fernandez Bautista
99d203feae
Clarify CIRCLE::ConstructFromTanTanPt
...
Remove unused bool aAlternateSolution and add doxygen comments
2021-01-24 16:41:11 +00:00
Roberto Fernandez Bautista
48823c0723
Formatting fixes and fix qa_kimath following rebase
2021-01-24 16:41:10 +00:00
Roberto Fernandez Bautista
6e7ae93cc8
EDIT_TOOL::DragArcTrack Fix incorrect undo history when items are deleted
...
Need to make sure we only apply one COMMIT operation per object before calling COMMIT::Push() or COMMIT::Revert()
2021-01-24 16:41:10 +00:00
Roberto Fernandez Bautista
2b5c1bae97
CHANGED: Dragging a curved track starts an interactive resizing of it, keeping start an end points tangent
2021-01-24 16:41:10 +00:00
Jeff Young
25956152c6
Scan actual nets; not assumed nets.
...
Specctra exporter should not assume that PCB nets are numbered
sequentially without any holes.
Fixes https://gitlab.com/kicad/code/kicad/issues/7249
2021-01-23 22:55:03 +00:00
Jeff Young
d5d9372839
Don't cancel dialog when esc-ing out of autocomplete.
2021-01-23 22:55:03 +00:00
jean-pierre charras
15cc368918
Gerber plotter: prepare optimization of aperture macros type free polygons.
...
They are used for chamfered round rect pads, and can be used for custom shaped pads.
No actual change currently, but the shape rotation of custom pads and chamfered rr pads
can be now used in gerber plots.
2021-01-23 21:15:27 +01:00
Jeff Young
d8c7c8f700
Evaluate rules when fetching zone edge clearance.
2021-01-23 17:04:44 +00:00
Jeff Young
2d8cac658e
Allow negative clearances to signal supression of DRC test.
2021-01-23 00:10:01 +00:00
Jeff Young
0ba0160da9
Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT.
...
ADDED a new pin electrical type "free" for internally unconnected pins.
CHANGED the "unconnected" pin electrical type is now represented by
"no_connect" in files and netlists. (The legacy syntax is also accepted
in files.)
2021-01-23 00:10:01 +00:00
Jeff Young
f5e35af1a5
Transmit pin electrical types through to pads.
2021-01-23 00:10:01 +00:00
Jeff Young
9ac807bdd2
Freeze implicit footprint file version at last before explicit.
...
We have been writing footprint versions for a while now, but we were
still interpreting the lack of a version as "current". This changes
lack of a version to mean "last format before we started writing out
versions".
Fixes https://gitlab.com/kicad/code/kicad/issues/7143
2021-01-23 00:10:01 +00:00
jean-pierre charras
cbff706916
Update the .fpb file to be able to open it with wxFormBuilder 3.9, used by Kicad
2021-01-21 20:28:05 +01:00
Jeff Young
3fcd0860c1
Make 'E' go straight to Custom Track Width dialog.
...
Also fixes some mouse capture issues.
Fixes https://gitlab.com/kicad/code/kicad/issues/7198
2021-01-20 18:19:55 +00:00
qu1ck
07d4a28024
Improvements to pcbnew action plugins settings panel
...
1. Add open plugins directory button (same as in tools menu)
2. Add show plugin errors button to help debug issues
2021-01-20 09:09:53 +00:00
Roberto Fernandez Bautista
74aa081b8a
Don't add board-only footprints to the netlist (fixes back-annotation issue)
2021-01-20 00:37:38 +00:00
Jeff Young
360953ba98
"comp" -> "symbol".
2021-01-19 23:50:40 +00:00
Jeff Young
0ded846130
Go back to previous arc midpoint editing routine.
...
It avoids erratic behaviour near the chord or end-points.
Fixes https://gitlab.com/kicad/code/kicad/issues/7135
2021-01-19 23:50:40 +00:00
Michael Kavanagh
80dbc24326
Icons: remove superfluous icon
...
Remove icons where menu text gives context
2021-01-19 22:57:25 +00:00
Michael Kavanagh
ef2aa8a730
FP Editor: remember to update appearance manager
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6926
2021-01-19 20:24:16 +00:00
Seth Hillbrand
060635b14c
fabmaster: Fix graphic handling in geometry section
2021-01-19 12:16:40 -08:00
Jeff Young
35978adef9
Don't run dimension updates while parsing files.
...
They mess up the geometry when only partial values are provided.
Fixes https://gitlab.com/kicad/code/kicad/issues/7177
2021-01-19 16:09:44 +00:00
Jeff Young
25ff0fa662
Fix typo in unit label assignment and some minor layout improvements.
2021-01-19 16:09:44 +00:00
Jeff Young
e9dc1824d6
Minor improvements to layout.
2021-01-19 16:09:44 +00:00
Jeff Young
06dec36625
Improve layout and terminology in PCBNew/FPEditor edit settings.
2021-01-19 13:16:26 +00:00
Jeff Young
1ac47c2ac6
Fix misleading tooltip.
2021-01-19 11:05:25 +00:00
Jeff Young
0a2a3c9903
Fix Coverity-discovered typo.
2021-01-19 10:57:07 +00:00
Jon Evans
330d717c69
Fix typo
2021-01-18 21:50:26 -05:00
Michael Kavanagh
7461b96dea
Hide the selection tool submenu in the FP Editor
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7164
2021-01-19 00:30:44 +00:00
Jeff Young
12fe44d4b3
Snap arc center *by* the grid, not *to* the grid.
...
Also fixes a bug with editing an arc endpoint because the cursor pos
was being forced before the arc constraints stuff had been run (in
updateItem()).
2021-01-19 00:26:31 +00:00
Seth Hillbrand
b8dfcb34c4
Revert "Use less-sophisticated arc editing math."
...
This reverts commit 3b424d3868
. And fixes
issue with rouding causing arc errors
2021-01-18 12:44:27 -08:00
Ian McInerney
44655b98de
Initialize variables properly
2021-01-18 18:35:10 +00:00
Ian McInerney
d030d1667b
Fix improper string creation in fabmaster importer
2021-01-18 18:35:10 +00:00
Jon Evans
1e33928b96
Fix issues with zone filling connectivity locking
...
Two issues found with the locking system used to prevent access to
stale connectivity data during the zone fill process:
1) a std::mutex has undefined behavior if you try to use it to guard
against access from the same thread. Because of the use of wx event
loops (and coroutines) it is entirely possible, and in some situations
inevitable, that the same thread will try to redraw the ratsnest in the
middle of zone refilling.
2) The mutex was only guarding the ZONE_FILLER::Fill method, but the callers
of that method also do connectivity updates as part of the COMMIT::Push.
Redrawing the ratsnest after the Fill but before the Push will result in
stale connectivity pointers to zone filled areas.
Fixed (1) by switching to a trivial spinlock implementation. Spinlocks would
generally not be desirable if the contention for the connectivity data crossed
thread boundaries, but at the moment I believe it's guaranteed that the reads
and writes to connectivity that are guarded by this lock happen from the main
UI thread. The writes are also quite rare compared to reads, and reads are
generally fast, so I'm not really worried about the UI thread spinning for any
real amount of time.
Fixed (2) by moving the locking location up to the call sites of
ZONE_FILLER::Fill.
This issue was quite difficult to reproduce, but I found a fairly reliable way:
It only happens (for me) on Windows, MSYS2 build, with wxWidgets 3.0
It also only happens if I restrict PcbNew to use 2 CPU cores.
With those conditions, I can reproduce the issue described in #6471 by
repeatedly editing a zone properties and changing its net. The crash is
especially easy to trigger if you press some keys (such as 'e' for edit)
while the progress dialog is displayed. It's easiest to do this in a debug
build as the slower KiCad is running, the bigger the window is to trigger this
bug.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6471
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7048
2021-01-18 13:22:12 -05:00
Jeff Young
26bc29808a
Clean up Text Properties dialog.
...
It's no longer used for dimensions so doesn't need the line thickness
controls.
The spacing was a bit wonky.
Changed to disabling rather than hiding visibility checkbox. The less
the GUI moves around the better.
2021-01-18 15:20:15 +00:00
Jeff Young
4f399d4304
One more attempt to fix flipping geometry.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4480
2021-01-18 15:20:15 +00:00
Michael Kavanagh
479487ceb1
Tidy up context menus a bit
...
Try and put the common actions in the same places
2021-01-17 22:42:03 +00:00
Jon Evans
6bb9aeab4b
Position relative: store discarded pad for use as the selection anchor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6996
2021-01-17 14:25:52 -05:00
Jeff Young
f1221a9ca3
Resolve text variables in title blocks for outputing to netlist.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7153
2021-01-17 16:24:22 +00:00
Jon Evans
1754504234
Fabmaster: fix MSVC build
...
std::map is not move-constructable on MSVC because
it is not declared noexcept (and is not required to be
by the standard)
This means that a struct containing graphic_element
cannot be inserted into a vector with move semantics without
compile errors. However, wrapping it in a unique_ptr
works.
2021-01-17 10:23:31 -05:00
Jeff Young
68efdb2fff
Push shared parts of GRID_HELPERs into common.
2021-01-16 23:18:10 +00:00
Seth Hillbrand
950db6ff9c
pcbnew: Add Fabmaster import
...
Allows importing ASCII design output from OrCAD designs
2021-01-16 14:28:33 -08:00
Jeff Young
3b424d3868
Use less-sophisticated arc editing math.
...
While it doesn't do the tangent retention that the old version did,
this one I can at least make work.
Fixes https://gitlab.com/kicad/code/kicad/issues/7135
2021-01-16 20:46:14 +00:00
Roberto Fernandez Bautista
00918c68f5
Don't do clever snapping logic when drawing a circle
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7131
2021-01-16 08:39:20 +00:00
Jon Evans
38455c25ef
Bring back consideration of world scale to PcbNew snapping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7125
2021-01-15 12:29:47 -05:00
Jeff Young
08d595c9bf
Move title block fields to global availability in PCBNew.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7118
2021-01-15 15:41:18 +00:00
Jeff Young
7dc2ca93cd
Make sure we mark board-only-footprint nets as current.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6871
2021-01-15 12:46:48 +00:00
Jon Evans
6cc39d8011
Don't allow moving locked pads with Position Relative dialog
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6996
2021-01-14 22:14:00 -05:00
Jon Evans
0b7fc0e2d9
Update local ratsnest state when toggling appearance control
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7035
2021-01-14 22:03:23 -05:00
Jeff Young
36508807e7
Give the pad placement tool a context menu.
...
ADDED: allow pad properties to be edited while placing pads.
Fixes https://gitlab.com/kicad/code/kicad/issues/6953
2021-01-15 00:52:03 +00:00
Jeff Young
965482bd7f
Improve some tooltips.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7116
2021-01-14 22:35:32 +00:00
Thomas Pointhuber
9f24ea0bb7
altium: fix non-copper pads. Roundrect pads were not filled and SetLocalCoord() does not transform polygons into the local coordinates, which is unexpected.
2021-01-14 22:21:05 +01:00
jean-pierre charras
54cf67dad2
Pcbnew, drill map: fix incorrect position of texts for small boards.
...
Fixes #7111
https://gitlab.com/kicad/code/kicad/issues/7111
2021-01-14 18:52:04 +01:00
Mikolaj Wielgus
0129c7ae52
Notify appearance panel when net is (un)hidden by board inspection tool
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7039
2021-01-14 17:22:41 +00:00
Jeff Young
02ccd5fbdb
Make sure properties commands don't go to other tools during routing.
...
Brings up the track widths (or diff pairs) context menu instead,
which seems to be the closest parallel.
Fixes https://gitlab.com/kicad/code/kicad/issues/7099
2021-01-14 15:19:09 +00:00
Jeff Young
3e920c665f
Special case via area generation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7105
2021-01-14 12:48:44 +00:00
Mikolaj Wielgus
f0b11896da
Clip the first segment in leaders
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6548
2021-01-14 00:10:41 +00:00
Seth Hillbrand
13a4717aed
Add center handles to rectangle edits
...
Allows changing a single dimension at a time. Matching the polygon edit
tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/7085
2021-01-13 14:04:21 -08:00
Jeff Young
ffdff21f45
Use a sloppier hittest for the collector as well as the actual hittest.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7079
2021-01-13 21:22:24 +00:00
Seth Hillbrand
e3e9bfc1b8
Fix compile error
2021-01-13 13:21:27 -08:00
Seth Hillbrand
605dcfbedf
Fix Windows script location
...
Windows has arbitrary installation locations, so reference relative to
the executable
2021-01-13 13:11:26 -08:00
Seth Hillbrand
b57ad4b2f9
Correct SWIG path
...
Don't offset from executable, this is an absolute path
Fixes https://gitlab.com/kicad/code/kicad/issues/7089
2021-01-13 12:34:04 -08:00
Jeff Young
da4b269783
Make sure pad local clearances get in to m_worstClearance.
2021-01-13 12:37:20 +00:00
Jeff Young
0bce280424
Make sure design rules get recompiled after netclass changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7082
2021-01-13 12:37:20 +00:00
Jon Evans
d2d4ffe6d0
Dismiss infobar if it's dismissable on board save
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7071
2021-01-12 23:24:13 -05:00
Barabas Raffai
5931a39c0f
Fix layer preset overwriting ratsnest settings
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6975
2021-01-13 01:22:30 +00:00
Seth Hillbrand
6ed2a831d8
Don't override the router tool with drag actions
...
Before processing the select tool actions, we check if the router is
currently active and if it is, pass the event for processing in other
tools
Fixes https://gitlab.com/kicad/code/kicad/issues/7021
2021-01-12 15:44:20 -08:00
Dominik Wernberger
ad97fabfd3
Add missing const to Matches
2021-01-12 20:51:32 +00:00
Dominik Wernberger
dc02ec9758
Remove a few const_cast
2021-01-12 20:51:31 +00:00
Dominik Wernberger
07635d2fc7
Minor adjustments
2021-01-12 20:51:31 +00:00
Dominik Wernberger
ac94d72d2d
Add more const specifiers
2021-01-12 20:51:31 +00:00
Dominik Wernberger
ec0af24f13
Make wxFindReplaceData argument const
2021-01-12 20:51:31 +00:00
jean-pierre charras
76cc7b98a7
Fp editor, DIALOG_PAD_PROPERTIES: do not disable posX and posY settings.
...
When a pad is locked, posX and posY settings in DIALOG_PAD_PROPERTIES must
be locked only for the board editor, not in the fp editor.
2021-01-12 20:33:52 +01:00
Seth Hillbrand
2cb8dff650
Use KICAD_DATA for data path lookup in scripting
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7036
2021-01-12 08:22:17 -08:00
Konstantin Baranovskiy
cd2c46e5c9
Make "... file is read only." warnings translatable.
2021-01-12 14:33:35 +00:00
Jeff Young
beab68db13
Fix bone-headed error in rules optimization.
2021-01-12 12:46:51 +00:00
jean-pierre charras
d4c36230d2
Pcbnew, Graphic items: show the locked status in msg panel and dialog properties.
2021-01-12 10:00:21 +01:00
Jon Evans
01181ccb2f
Make sure project is unlinked before deleting it
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7038
2021-01-11 22:17:13 -05:00
Michael Kavanagh
a00b9cc821
Icons: general tweaks and pixel alignment
...
+ minor rename
+ fix missing bitmap in DRC panel
2021-01-11 23:31:25 +00:00
Michael Kavanagh
dc83cb7a41
Icons: general tweaks and pixel alignment
...
+ remove some unused icons
2021-01-11 23:31:25 +00:00
Michael Kavanagh
32f7f30958
Icons: remove where they don't make sense
...
Also avoid icon reuse
2021-01-11 23:31:25 +00:00
Michael Kavanagh
8fba0c257b
Icons: remove more inconsistencies around Select
...
Missed from 5d9b2d3fea
2021-01-11 23:31:24 +00:00
Seth Hillbrand
740df93808
Don't dereference board groups in fp editor
...
The Footprint editor group resolution should stop at the footprint level
to avoid breaking into groups that cannot be accessed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7049
2021-01-11 14:58:33 -08:00
Jeff Young
63e2046eb0
Performance improvements for DRC rules.
2021-01-11 22:09:36 +00:00
Jeff Young
50889a9ed6
Promote mouse drag settings to full enums.
2021-01-11 22:09:36 +00:00
Seth Hillbrand
c09dc5abdd
Prevent locking items in footprint editor
...
Adding footprints to the board now has a preference for whether we want
pads locked or unlocked by default
2021-01-11 11:23:26 -08:00
jean-pierre charras
1b755bbc37
Fix issues in ConvertOutlineToPolygon() related to S_POLYGON PCV_SHAPE
...
Fixes #7046
https://gitlab.com/kicad/code/kicad/issues/7046
2021-01-11 17:05:44 +01:00
Jeff Young
a4d417f5c0
Get rid of "drill" terminology when talking about finish hole size.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7044
2021-01-11 13:49:43 +00:00
RigoLigoRLC
493a784b62
Fix Pcbnew search "not found" prompt not displayed
...
Before this, "Searching..." prompt will not go away if nothing was found
in a search session. A bug I noticed while working on !611 . After this
fix, "foo not found" will be displayed when Pcbnew cannot find the
given text.
2021-01-11 13:48:20 +00:00
RigoLigoRLC
dd328d230b
Make Pcbnew search about zone names, fixes #6951
...
I put zones in "other text items" category of searching as I thought it
would be the appropriate one.
Fixes https://gitlab.com/kicad/code/kicad/issues/6951
2021-01-11 13:48:20 +00:00
Wayne Stambaugh
1eee72ec65
Fix library tree behavior when duplicate project table entry is disabled.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5438
2021-01-11 07:46:07 -05:00
Jeff Young
6c648df4c6
Support 3 drag vs. select options, and unifiy with other drag prefs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5493
2021-01-11 11:50:14 +00:00
Jeff Young
7134ff2da6
Try a different arrangement of Board Setup pages.
2021-01-11 11:50:14 +00:00
Jeff Young
9ce6c2be80
Group global editors under tools menu.
...
Also improves some terminology in Remove Unused Pads.
2021-01-11 11:50:14 +00:00
Seth Hillbrand
8ee324b1a9
Add bezier output to VRML
2021-01-10 11:28:15 -08:00
jean-pierre charras
067b94c410
DRC: Fix a incorrect message and marker position when testing dangling vias.
...
Commit 6ffb721
detects vias connected on only one layer.
But the DRC diag (marker position and error message) were not correctly initialized
for this new test.
2021-01-10 10:21:24 +01:00
Marek Roszko
828ecb76aa
Remove polyline 3d check added by previous fixes
...
Fix #7030
2021-01-09 18:56:35 -05:00
Seth Hillbrand
4f6134b60d
Check for CCW polys
...
Use rectangles for 4-sided polygons that are rectangular regardless if
they are CW or CCW oriented
2021-01-09 13:05:58 -08:00
Seth Hillbrand
8036303f8f
Add margin to both sides to avoid drawing 0-poly
...
We cannot draw degenerate polygons, so we need to test for 0-size shapes
especially after scaling the mask. The mask adjustment is from both
sides however, so it needs to be doubled.
Fixes https://gitlab.com/kicad/code/kicad/issues/7020
2021-01-09 13:05:58 -08:00
Jeff Young
ed7b3373d1
Disentangle copper- and board-edge-clearances in Clearance Resolution...
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6983
2021-01-09 16:44:03 +00:00
jean-pierre charras
08b93bd5ba
FOOTPRINT::GetBoundingHull(): avoid returning a empty hull SHAPE_POLY_SET,
...
when a footprint contains only texts.
empty SHAPE_POLY_SET creates most of time issues (crashes for instance) when
containing no data.
Ensure the returned SHAPE_POLY_SET contains a minimal hull (a 0.04 mm square)
Fixes #7026
https://gitlab.com/kicad/code/kicad/issues/7026
2021-01-09 16:53:32 +01:00
jean-pierre charras
daae68a6b8
French translation update.
...
Fix also a typo in 2 I18n strings.
2021-01-09 14:54:43 +01:00
Jeff Young
5ae6f93af8
A groups children may also have children.
...
For instance, it could be a nested group or a footprint.
Fixes https://gitlab.com/kicad/code/kicad/issues/7025
2021-01-09 13:47:24 +00:00
Jeff Young
78dcfb2392
Honour locks inside groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6841
2021-01-09 13:47:24 +00:00
Jeff Young
7716f20a5b
Disentagle board edges from graphics in global delete.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7024
2021-01-09 13:47:24 +00:00
Jeff Young
e4f29d358c
Formatting.
2021-01-09 13:47:24 +00:00
Seth Hillbrand
cf2dd0bd38
Fix edit_tool pad handling
...
Check for footprint editor
Promote pad edits to footprint edits iff
- Pad is locked
- Footprint is not
Otherwise, handle the pad normally and prompt for locked items if found
2021-01-08 19:46:14 -08:00
Seth Hillbrand
1c9d8a9f4c
Don't warn on locked conversion
2021-01-08 16:49:47 -08:00
Seth Hillbrand
51f02ecc51
Fix alignment tool with locked footprints
2021-01-08 13:58:26 -08:00
Seth Hillbrand
721155165d
Don't move locked footprint if pads are locked
2021-01-08 13:58:26 -08:00
Jon Evans
d6448ce6b4
Expose settings manager to python
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6989
2021-01-08 16:47:20 -05:00
Jeff Young
d0af4e9f9d
Save a cancel value when asked if it's not being used to cancel.
...
Many, many KIDIALOGs use OK/Cancel and then rename both buttons to
confirm or deny some action. In those cases we *do* want to store
the deny actions if they check "Do Not Show Again".
Fixes https://gitlab.com/kicad/code/kicad/issues/6979
2021-01-08 21:32:19 +00:00
Jeff Young
8fffb75347
Allow custom pads with 0-sized anchor pads.
...
(Surprisingly we used to in 5.1, so this is a regression.)
Also had to go back to the nag dialog as on a small screen the infobar
comes up behind the dialog. A lot of the errors have also been turned
into warnings, so the overall effect should still be to reduce nagging.
Fixes https://gitlab.com/kicad/code/kicad/issues/6992
2021-01-08 20:43:02 +00:00
Jeff Young
3467e643e5
Move pad locking from footprint to pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6997
2021-01-08 20:43:02 +00:00
Seth Hillbrand
6ffb72159a
Remove vias if they only connect to single layer
...
A via takes up zone space on additional layers, so if we are not
connecting to those layers, then we should remove it.
Fixes https://gitlab.com/kicad/code/kicad/issues/7004
2021-01-08 09:39:43 -08:00
Seth Hillbrand
1e96374715
Consider tracks and vias together
...
Dangling tracks and vias affect each other and need to be considered at
the same time in order to fully remove the dangling segments
2021-01-08 09:35:58 -08:00
jean-pierre charras
93d203aef7
Fix a I18n issue: a string flagged as translatable cannot be empty.
2021-01-08 18:16:00 +01:00
Seth Hillbrand
9424d66d22
Move footprint when selecting locked pad
...
Prompting to unlock is obtrusive and blocks the common action of
dragging from a pad to align footprints. The less common action of
editing pads in layout can be accomplished after unlocking the pads
Fixes https://gitlab.com/kicad/code/kicad/issues/6997
2021-01-07 19:46:06 -08:00
Jon Evans
24435df6b0
Don't update 3D view on cursor movement
...
Our rendering pipeline is not set up for this kind of speed,
and this is a blocking operation at the moment.
Note that we will get an update at the end of the move
because OnModify does it.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6819
2021-01-07 20:43:14 -05:00
Jon Evans
61bddd0928
LAYER_PADS_TH is not a dependent layer
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6999
2021-01-07 20:12:31 -05:00
Jon Evans
111fa99f9f
PNS: Use last-segment posture optimization always
...
Also when auto-posture is enabled, don't flutter
until area threshold has been met.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6935
2021-01-07 20:12:31 -05:00
Jeff Young
3fd128a75b
Performance enhancements.
2021-01-08 00:46:55 +00:00
Jon Evans
5c22ffe422
Don't try to load a nonexistent layer setting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6998
2021-01-07 19:09:54 -05:00
jean-pierre charras
bf332b3189
Fix minor compil warnings
2021-01-07 20:55:24 +01:00
Jeff Young
01fe3b91e9
Implement locking for graphic shapes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6972
2021-01-07 17:39:18 +00:00
hoijui
6ca9a42251
Removes 3 other instances of a potential encoding problem
...
Signed-off-by: hoijui <hoijui.quaero@gmail.com>
2021-01-07 17:36:49 +00:00
Jeff Young
8c8516b7b1
Remove formbuild URL from hypertext links.
...
Also adds a tooltip.
Fixes https://gitlab.com/kicad/code/kicad/issues/6982
2021-01-07 15:12:19 +00:00
Jeff Young
e41c06304b
Don't show a leading ratline to a NPTH.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6960
2021-01-07 12:25:04 +00:00
Jeff Young
f702b64b8d
Minor improvements to formatting & SNR.
2021-01-07 12:25:04 +00:00
Marek Roszko
84dd78e01d
Fix the install location for vcpkg built python modules
2021-01-07 00:08:11 -05:00
Seth Hillbrand
52f822dedb
Remember autotrack width setting
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6971
2021-01-06 20:11:32 -08:00
Jon Evans
0234b7278a
PNS: Make DIRECTION_45 North be up everywhere
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6935
2021-01-06 21:47:06 -05:00
Jeff Young
ad8136541b
Improve layout and terminology of Remove Unused Pads.
...
Also removes the limitation of removing outside layers for pads.
It's already supported in Pad Properties so it's odd to not support
it here.
2021-01-07 01:27:12 +00:00
Jeff Young
f372c8025b
Better sizing for some conditional dialogs.
...
These dialogs don't have growable features but do have conditional
features, so the size is better adjusted automatically by the code
then by the user.
2021-01-07 01:27:12 +00:00
Seth Hillbrand
43e7b1ab6e
Set icons for front/back assembly layers
2021-01-06 13:49:00 -08:00
Seth Hillbrand
c0f940438a
Clarify Flip action
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6954
2021-01-06 13:02:44 -08:00
Jeff Young
2a088e5c7b
Add conversion of circles to zones and enable in footprint editor.
...
Also rule areas, of course.
Fixes https://gitlab.com/kicad/code/kicad/issues/6966
2021-01-06 17:21:49 +00:00
Jeff Young
70967bfebd
Hierarchical menu parents don't get ...'s.
...
Also moves the Convert menu up a level. Nested hierarchical menus
should be avoided whenever possible.
2021-01-06 17:21:49 +00:00
Jeff Young
8aeaaf99ef
Disable net selector for non-free vias.
...
Also moves the checkbox up so this relationship is clearer.
Fixes https://gitlab.com/kicad/code/kicad/issues/6967
2021-01-06 15:49:12 +00:00
Jeff Young
366c7096b3
More double- and triple-pointer erradication.
2021-01-06 14:37:38 +00:00
Jeff Young
426536c381
Don't show empty-net synthetic net in Net Inspector.
...
Also fixes an assert when deleting a net inspector row with no
parent row.
Fixes https://gitlab.com/kicad/code/kicad/issues/6962
2021-01-06 14:27:02 +00:00
Jon Evans
46c4727783
Make MSVC happy again
2021-01-05 20:56:37 -05:00
Michael Kavanagh
2a24886d47
Icons: remove more duplicates
2021-01-06 00:35:20 +00:00
Michael Kavanagh
6fd718fbd8
Icons: replace old with new
2021-01-06 00:35:20 +00:00
Michael Kavanagh
5d9b2d3fea
Icons: new filter icon
...
+ remove icons where they don't make sense.
2021-01-06 00:35:20 +00:00
Michael Kavanagh
54724096ea
Icons: consistency between Eeschema and Pcbnew
2021-01-06 00:35:20 +00:00
Seth Hillbrand
fd04a176a4
Remove full path from drill report
...
Leaves just file name in place. Full paths are considered a security
risk for some
Fixes https://gitlab.com/kicad/code/kicad/issues/6949
2021-01-05 16:22:08 -08:00
Seth Hillbrand
71a93c71f7
Prevent footprint editor snapping to footprint
...
Inside the footprint editor, we only want snap points from the base
elements
Fixes https://gitlab.com/kicad/code/kicad/issues/6948
2021-01-05 16:08:30 -08:00
Jon Evans
e7b047660c
PNS: Correctly assemble lines with reversed arcs
2021-01-05 17:57:21 -05:00
Jon Evans
feda03f69b
PNS: Fix arc orientation when assembling lines with backwards arcs
2021-01-05 17:57:21 -05:00
Jon Evans
7431d5c985
PNS: First pass at updating meander placers for arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6464
2021-01-05 17:57:21 -05:00
Jon Evans
8619086cf2
PNS: re-enable optimization of colinear segs in lines with arcs
2021-01-05 17:57:21 -05:00
Jon Evans
8901e71fc8
PNS: Fix loop removal, make walkaround less broken for arcs
2021-01-05 17:57:21 -05:00
Zoltan Gyarmati
5676117d0b
Make small drill marks size configurable via advanced config for both printing and plotting
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1972
2021-01-05 22:37:34 +00:00
Jeff Young
81aa91ce2a
Run insideCouryard on all matching footprints, not just the first.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6945
2021-01-05 22:22:25 +00:00
Seth Hillbrand
4710b709d9
Only darken, don't hide vias unless requested
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6912
2021-01-05 14:00:15 -08:00
Jeff Young
a9d4d9d7f0
Modify insideArea() to return true for zones only when fully inside.
...
Intersections is enough for other objects.
This is also a bit of a DRC performance improvement.
Fixes https://gitlab.com/kicad/code/kicad/issues/6934
2021-01-05 21:43:04 +00:00
Jeff Young
02cd8c99cd
Better error messages when routing can't be started.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6541
2021-01-05 18:47:58 +00:00
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