jean-pierre charras
b6aa5bd1ed
Pcbnew: PCB_TEXT: save the Locked flag in file.
...
Previously, one could lock a graphic text on a board, but the lock state was not saved.
2022-03-08 17:35:26 +01:00
jean-pierre charras
bafd8ac9d5
plot_board_layers.cpp: Add missing layers (USer_x) in list
...
Fixes #11072
https://gitlab.com/kicad/code/kicad/issues/11072
2022-03-08 14:41:10 +01:00
Jeff Young
293021c58c
ADDED: knockout pcb and fp text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7055
2022-03-08 13:22:20 +00:00
Seth Hillbrand
6934bc124c
Move temp save files to temporary directory
...
Avoid excess writes to the project directory to dodge issues with remote
file systems not fully writing data.
wxRename works across disk boundaries (in theory) and falls back to
wxCopy/wxRemove when it fails
Fixes https://gitlab.com/kicad/code/kicad/issues/10747
2022-03-07 20:13:28 -08:00
Jeff Young
bf0f2aa4a8
Adjust bitmap text spacing a bit so it's closer to the stroke font.
...
This helps the text better match the highlighting when it gets small
enough that we switch to the bitmap font for performance.
2022-03-07 20:30:50 +00:00
Thomas Pointhuber
a9ebb42ecd
altium: Parse keepout restrictions of tracks
2022-03-07 19:58:43 +01:00
jean-pierre charras
f866d15154
Pcbnew: fix crash when clicking on a footprint on a filled zone area.
2022-03-07 13:56:47 +01:00
Jeff Young
bf44ae907b
Minor fix for dialog.
2022-03-07 10:26:18 +00:00
Jeff Young
0dc857b5ab
Clean up pad handling in 3D viewer.
...
Most importantly, create F_Cu/B_Cu layers if they're otherwise empty
but we have plated pads to render on them.
Fixes https://gitlab.com/kicad/code/kicad/issues/10207
2022-03-06 13:57:12 +00:00
jean-pierre charras
dbfdd3fb56
Fix some Coverity warnings.
2022-03-06 09:48:33 +01:00
Frank Palazzolo
3cb1a689a7
pcbnew: Fix Bezier "Add Primitive" in Pad Creation Dialog
2022-03-06 00:35:53 +00:00
Jeff Young
1fc99dd2c0
Don't call GetLayer() on a multi-layer object.
2022-03-05 23:07:43 +00:00
Jeff Young
23088e6e1a
Minor performance enhancements for zone filler.
...
Be smarter about not knocking out some classes of pads twice.
2022-03-05 20:32:08 +00:00
Jeff Young
fed5bcbdf6
Improvements for pads/vias in zones which knockout other zones.
...
1) Drop tiny islands which might cause connection problems.
2) Cleanup some dead code in filler
3) Don't estabilish a connection to an island that is fully covered
by whatever its connecting to.
Fixes https://gitlab.com/kicad/code/kicad/issues/11036
2022-03-05 18:59:53 +00:00
Jeff Young
878c4d2f6b
Must clear arcs before calling Clipper.
2022-03-05 18:59:53 +00:00
Jon Evans
cb6d6d7ef4
Settings: allow multiple project access from Python standalone
...
We can't handle this in the UI, but we can externally, so allow
it for Python scripting and eventually we'll use this in the UI
also...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10540
(cherry picked from commit 1394509734
)
2022-03-05 13:04:19 -05:00
jean-pierre charras
69453964b4
pcbnew_scripting_helpers: fix a potential crash when running a script outside kicad.
...
BOARD* LoadBoard( wxString& aFileName, IO_MGR::PCB_FILE_T aFormat ) crashes if a
old project file (*.pro) exists and the *.kicad_pro file doses not exists.
The crash happens when trying to convert the old config outside kicad.
2022-03-05 18:26:33 +01:00
jean-pierre charras
cc5493e91e
DIALOG_COPPER_ZONE_BASE: better tool tip.
2022-03-05 18:23:08 +01:00
jean-pierre charras
3bb1fd8311
Teardrops: fixes and enhancements:
...
- do not allow smoothing outlines: outlines are already optimized.
- do not allow settings incompatible with teardrop area (grid, thermal relief)
- DIALOG_COPPER_ZONE: export zone settings to similar zones only.
Fixes #11040
https://gitlab.com/kicad/code/kicad/issues/11040
2022-03-05 17:18:42 +01:00
Seth Hillbrand
c18d9b9baf
Normalize `IsInsideCourtyard`
2022-03-04 15:49:02 -08:00
Seth Hillbrand
cd7141fd10
Cache read arc data for stability
...
Arcs can be altered by the process of changing from on-disk
representation to in-memory representation. Saving back to disk without
modifying the arc should not modify the calculated values.
This stores a copy of the on-disk representation that is only used to
save back to disk in the event that the arc is not modified during
editing.
Fixes https://gitlab.com/kicad/code/kicad/issues/10442
2022-03-04 15:20:31 -08:00
Seth Hillbrand
8218f9ab44
Finally found the intermittant QA crash
...
When loading footprints/zones in parallel, we cannot reference a static
vector that gets cleared by other threads.
It is unclear why this element was ever static to begin with (premature
optimization?) but it has been this way for a long time. We never
noticed until we threaded load cycles, which gave the hatch a chance to
override itself and cause crashes
Fixes https://gitlab.com/kicad/code/kicad/issues/9888
2022-03-04 11:37:49 -08:00
jean-pierre charras
006e1be69c
ZONE: display number of vertices on the info panel (regression fix)
...
This is a useful info because the calculation time depend on this number.
2022-03-04 10:42:32 +01:00
Seth Hillbrand
e7673f7198
Remove unneeded condition to rotate
...
The condition that the board must have elements on it before allowing
the rotate command is invalid as we allow rotating new elements before
placement
Fixes https://gitlab.com/kicad/code/kicad/issues/10581
(cherry picked from commit c1dcfdffb1
)
2022-03-03 16:04:22 -08:00
Seth Hillbrand
b5c2f0d39a
Remove the open array in favor of std containers
...
The containers allow iteration, size knowledge and lower bug surface
2022-03-03 16:03:26 -08:00
Jeff Young
2d1fa48a73
Improve solder paste tooltips.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10585
2022-03-03 23:08:36 +00:00
Jeff Young
c4b6801f3a
Improve some strings and measurements.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10482
2022-03-03 22:40:18 +00:00
Jeff Young
ec5b7a57ec
Consistency in via dimensions terminology.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11024
2022-03-03 22:40:18 +00:00
Seth Hillbrand
9d927f3135
Check for additional connections between tracks
...
Prevents removal when a track is connected not just to other tracks but
also other connected items
Fixes https://gitlab.com/kicad/code/kicad/issues/10916
2022-03-03 12:07:20 -08:00
jean-pierre charras
27db23eba0
FP_TEXT::ViewGetLOD() fix incorrect test (LAYER_MOD_VALUES color has no matter)
...
Fixes #11026
https://gitlab.com/kicad/code/kicad/issues/11026
Fixes #11028
2022-03-03 11:57:19 +01:00
Tomasz Wlostowski
adace996f4
qa/pns: refactored the P&S debug tool:
...
- factored out 'business' code from the UI code
- moved to the new DEBUG_DECORATOR interface
- UI-less log file and log player classes as a step towards P&S unit tests
2022-03-03 01:02:00 +01:00
Tomasz Wlostowski
45f7cf9571
router: rework the DEBUG_DECORATOR a bit:
...
- support for dumping complete PNS::ITEMs and generic SHAPEs
- support for log nesting levels
- wxT-ized strings
- more verbose output where needed
2022-03-03 01:02:00 +01:00
Tomasz Wlostowski
b6fc96c1d5
pcbnew: check for null SETTINGS in RATSNEST_VIEW_ITEM (prevents crash in the P&S debug tool)
2022-03-03 01:02:00 +01:00
Seth Hillbrand
2fafa55647
Maintain width of converted tracks
2022-03-02 10:45:53 -08:00
Seth Hillbrand
7e836ae27a
Select the copper layer before processing
...
If we are converting to tracks, the copper layer needs to be selected
before any other elements are processed, otherwise, we end up with the
default undefined layer
Fixes https://gitlab.com/kicad/code/kicad/issues/11025
(cherry picked from commit 9396735733
)
2022-03-02 10:41:44 -08:00
Jeff Young
513486b0ec
Overhaul show no-net indicators logic.
...
It doesn't appear that it was ever finished the first time around.
Fixes https://gitlab.com/kicad/code/kicad/issues/11020
2022-03-02 18:28:39 +00:00
Jeff Young
6b806bbe9c
Make sure Cleanup handles shapes other than segments.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10955
2022-03-02 18:28:39 +00:00
Seth Hillbrand
4d6c2e4868
Update end item before moving on track/via change
...
The move even dereferences m_enditem for logging and perhaps other
actions. We need to ensure that the end item has not been invalidated
before taking this action
Fixes https://gitlab.com/kicad/code/kicad/issues/10732
(cherry picked from commit 901c330478
)
2022-03-02 09:23:15 -08:00
Jeff Young
495b42c39f
Fix logic error. Footprint is sometimes the item and sometimes its parent.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10949
2022-03-01 21:18:01 +00:00
Jeff Young
298940e3d3
Switch zone auto-fill default to false.
2022-03-01 19:27:00 +00:00
Jeff Young
0677ef6510
Default isolated copper DRC violation to a warning.
2022-03-01 19:21:09 +00:00
Jeff Young
1966972fc1
Retire no-pads warning in favour of defaulting to area-based remove islands strategy.
2022-03-01 19:19:18 +00:00
Jeff Young
c4143b0ff6
Reconcile two different printing bug fixes.
...
a9f092b370
6f5cb1f97d
Fixes https://gitlab.com/kicad/code/kicad/issues/11004
2022-03-01 17:28:37 +00:00
Jeff Young
bbfbfc2cd2
High-contrast mode: don't render vias that don't cross high-contrast layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8740
2022-03-01 16:00:28 +00:00
Jeff Young
843a56c4e4
Implement two-staged zone priority: assigned priority followed by UUID.
2022-03-01 14:53:35 +00:00
Jeff Young
914e706023
Replace zone-with-no-pads test with isolated copper test.
...
The later is far more discriminating.
Fixes https://gitlab.com/kicad/code/kicad/issues/11009
2022-03-01 12:02:17 +00:00
Jeff Young
661488e932
Be more cognizant of multi-layer items.
2022-03-01 12:02:17 +00:00
Jeff Young
a4a3f6ff74
Fix zone/connectivity deadlock.
2022-03-01 12:02:17 +00:00
Seth Hillbrand
fab78af176
Remove TEDIT
...
This marker is not used in KiCad and creates merge conflicts when two
different users edit the same file
2022-03-01 00:25:44 +00:00
Jeff Young
58b8d63ff8
Draw boundary based on first zone layer.
2022-02-28 21:40:36 +00:00
Jeff Young
69a6033905
Hysteresis for track netnames.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10416
2022-02-28 21:11:01 +00:00
jean-pierre charras
aa0787f2b4
Gerber plotter: fix broken plot of SHAPE_LINE_CHAIN with arcs.
...
Also simplify SHAPE_T::POLY plot.
Fixes #10989
https://gitlab.com/kicad/code/kicad/issues/10989
2022-02-28 18:10:16 +01:00
Jeff Young
1f16092e29
Infobar warning if symbol loading was cancelled.
...
Also makes sure the progress dialog is closed when we're done reading
symbols (it used to stay up for much of the symbol editor initialization).
Also makes sure that any cancel in the preLoad step is honoured in the
sync step. (The preload is done because it is multi-threaded and therefore
faster than the single-threaded sync.)
Also makes sure that individual threads pay attention to the cancellation,
not just the GUI thread.
Fixes https://gitlab.com/kicad/code/kicad/issues/8372
2022-02-27 17:06:08 +00:00
Jeff Young
d299ddbc7e
Cleanup.
2022-02-27 12:05:39 +00:00
jean-pierre charras
8de4f762e1
svg importer: fix a crash when importing some files with no graphic item
2022-02-27 09:59:42 +01:00
jean-pierre charras
a178de8744
FP editor: fix crash when trying to export a footprint to the board editor.
2022-02-27 08:38:19 +01:00
Jeff Young
ae85f57577
Drop a knee between tracks to a single item when dragging.
...
This prevents the disambiguation menu from coming up when we don't
really care which element we start the drag on.
Fixes https://gitlab.com/kicad/code/kicad/issues/10745
2022-02-26 22:54:23 +00:00
Jeff Young
2c6a2c3479
Repair tab order in Footprint Properties dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10978
2022-02-26 16:41:22 +00:00
jean-pierre charras
e61c48fbf2
DIALOG_BOARD_STATISTICS: Reset the drill count list before recalculations.
...
Fixes #10984
https://gitlab.com/kicad/code/kicad/issues/10984
2022-02-26 17:03:48 +01:00
Jeff Young
89c14f01f7
Repair algorithm to avoid slow movement issue.
...
This goes back to the previous code for this one part.
Fixes https://gitlab.com/kicad/code/kicad/issues/10976
2022-02-26 15:58:44 +00:00
jean-pierre charras
0e00ca31ea
APPEARANCE_CONTROLS: fix missing update when toggling a layer view.
...
Fixes #10977
https://gitlab.com/kicad/code/kicad/issues/10977
2022-02-26 10:36:57 +01:00
Seth Hillbrand
c9746fb34b
Handle list double-click without shortcuts
...
The LIST_DCLICK event can be fired by spacebar or enter in GTK. This
conflicts with using the spacebar to reset local coordinates. Instead,
we capture the double-click event manually to add the footprint to the
board
Fixes https://gitlab.com/kicad/code/kicad/issues/5714
Fixes https://gitlab.com/kicad/code/kicad/issues/10633
(cherry picked from commit ff6f398607
)
2022-02-25 16:53:27 -08:00
Seth Hillbrand
535ea800c0
Honor modifier keys in diambiguation
...
Needs to be reset for the new action before selecting elements at a
point.
Fixes https://gitlab.com/kicad/code/kicad/issues/9712
(cherry picked from commit a30ad0b54a
)
2022-02-25 16:16:15 -08:00
Steffen Mauch
78620347c8
Fixing Eagle refs that do not work with KiCad
...
KiCad has stricter requirements for what consititutes an annotated
symbol. This checks for and corrects annotations that begin with '#',
do not begin with a non-numeric character or do not end with a number
2022-02-25 23:42:47 +00:00
Jeff Young
714c65275c
Initial focus for Get and Place Footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10230
2022-02-25 21:54:38 +00:00
Seth Hillbrand
283aaff2df
Use board polygon instead of bbox for size
...
Board BBox uses the visible size of the board, which includes edge cut
thickness. This is not appropriate for the Board characteristics.
Using the outline polygon gives accurate results and falls back to a
bounding box in the case where the outline is invalid
Fixes https://gitlab.com/kicad/code/kicad/issues/10972
(cherry picked from commit 54f621c570
)
2022-02-25 11:14:54 -08:00
jean-pierre charras
a7b8a1446b
fix minor compil warnings.
2022-02-25 14:26:37 +01:00
Jeff Young
bc51c89c90
Reconcile zone-auto-fill with undo.
2022-02-25 13:05:49 +00:00
jean-pierre charras
77f1aad77e
Fix incorrect conversion from lines to rect in fp editor.
...
Fixes #10965
https://gitlab.com/kicad/code/kicad/issues/10965
2022-02-25 12:41:57 +01:00
Seth Hillbrand
3ac121620d
Handle negative arc angles
...
Plotter expects the arc angles to be positive, so check and flip before
plotting if we have track arcs that might be negative angles
Fixes https://gitlab.com/kicad/code/kicad/issues/10968
2022-02-24 17:27:08 -08:00
Jeff Young
5c54f40eae
Layer visibilities aren't stored in project for footprint editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10953
2022-02-25 00:08:49 +00:00
Jeff Young
639fdb915a
Implement real layer test for visibility.
2022-02-24 21:32:43 +00:00
Jeff Young
d65f9ad2d8
Implement multi-layer stitching via logic.
2022-02-24 21:32:43 +00:00
Jeff Young
369f53bb19
Better DRC checking when placing vias.
2022-02-24 21:32:43 +00:00
Jeff Young
b7be42375d
Add an infobar warning when trying to fill a zone which is not connected.
2022-02-24 21:32:43 +00:00
jean-pierre charras
c924b0155e
DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS: fix a wx alert.
2022-02-24 19:33:29 +01:00
Greg Davill
429c311ec3
action_plugin: Remove duplicated entry in UndoList
2022-02-24 18:31:16 +00:00
Jeff Young
d465eb6425
ADDED: automatic zone refilling.
...
This is for the out-of-box experience for novice users. It is presumed
that folks with larger more complicated boards will turn it off.
Fixes https://gitlab.com/kicad/code/kicad/issues/6413
2022-02-24 18:16:45 +00:00
Jeff Young
f076d07e9e
Fix asserts.
2022-02-24 18:16:45 +00:00
jean-pierre charras
8ef4ef8d96
fp texts are not upright when footprint rot is not n*90deg
...
Fixes #10882
https://gitlab.com/kicad/code/kicad/issues/10882
2022-02-24 09:08:09 +01:00
Jeff Young
d2069e1548
Copy Pad_Master when copying BOARD_DESIGN_SETTINGS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10932
2022-02-23 18:11:27 +00:00
Jeff Young
cb16ad7557
Debounce layer visibility buttons and fix issues with FP Editor.
2022-02-23 17:52:08 +00:00
Jeff Young
a36bc27e6d
Fix a couple of asserts.
2022-02-23 17:38:51 +00:00
Jeff Young
08df5c0b01
Handle hidden layers in FP Editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10946
2022-02-23 15:31:07 +00:00
Jeff Young
6e35406015
Fix copy/pasta.
2022-02-23 12:21:07 +00:00
Jeff Young
41f6e634c6
Partially integrate grid snapping with constraints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10941
2022-02-22 22:19:55 +00:00
jean-pierre charras
6d5d6d7302
PCB_EDIT_FRAME: do not forget to pass wxIdleEvent to other clients.
2022-02-22 19:51:32 +01:00
Jeff Young
e6c617b74d
Respect ERROR_OUTSIDE when inflating polygons.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10896
2022-02-21 15:19:46 +00:00
Jeff Young
79c7859052
Apply a19d9105f0
to zone case as well.
...
Also improves on the previous comments.
Fixes https://gitlab.com/kicad/code/kicad/issues/10922
2022-02-21 13:48:34 +00:00
Jeff Young
d9d23dd06b
Commenting.
2022-02-21 12:26:59 +00:00
Jeff Young
5544dd8018
Don't call GetLayer() on a multi-layer object.
2022-02-21 00:08:43 +00:00
Jeff Young
aa2c8e9b0c
A more discerning un-flashed-connectivity test.
2022-02-20 23:49:02 +00:00
Jeff Young
78ae3d286a
Fix merge damage.
2022-02-20 21:25:50 +00:00
Jeff Young
fad4c135fa
Use only a physical connection to determine flashing of pads.
...
Checking for proper nets just confuses things when the nets are set
wrongly for some reason. This way we generate clearer DRC errors.
Fixes https://gitlab.com/kicad/code/kicad/issues/10645
2022-02-20 20:54:56 +00:00
Jeff Young
866fade4ab
Remove unnecessary validations.
...
Not sure if this will fix the bug or not as I can't reproduce it, but
I'd say odds are pretty good.
Fixes https://gitlab.com/kicad/code/kicad/issues/10467
2022-02-20 20:54:47 +00:00
Thomas Pointhuber
52a2d52bf0
altium: Parse solder and paste mask settings of tracks and arcs
2022-02-20 20:18:40 +01:00
jean-pierre charras
5efd29d6f4
Optimize DIALOG_GLOBAL_EDIT_TRACKS_AND_VIAS: a time consuming call (OnModify())
...
was made for each item change.
It is now made only once.
Fixes #10905
https://gitlab.com/kicad/code/kicad/issues/10905
2022-02-20 20:07:33 +01:00
Jeff Young
df3291c59d
Fix nullptr error (no router tool in footprint editor).
2022-02-20 16:56:53 +00:00
Jeff Young
f18aae679c
Use router to update message panel when routing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10068
2022-02-20 16:50:30 +00:00
jean-pierre charras
d2cf68bcdd
Plotters: add plot Arcs using EDA_SHAPE or center, start point and end point.
...
It avoid trying to calculate arc angles (start, end or arc angle) that
frequently create issues due to reverse Y axis, plot mirrored and/or
angle normalization with different criteria.
Fixes #10914
https://gitlab.com/kicad/code/kicad/issues/10914
2022-02-20 17:17:20 +01:00