jean-pierre charras
e30e510354
gen drill map: fix duplicate suffix in map filenames if gbr drill fmt is selected
...
Fixes #14026
https://gitlab.com/kicad/code/kicad/issues/14026
2023-02-21 14:22:50 +01:00
jean-pierre charras
db66419f02
Teardrops: fix incorrect shape in some cases.
2023-02-20 09:06:21 +01:00
jean-pierre charras
3a11d90d92
Teardrops: handle arcs in tracks.
...
Fixes #13858
https://gitlab.com/kicad/code/kicad/issues/13858
2023-02-19 14:44:37 +01:00
Marek Roszko
30a49462fe
Fix crash parsing cadstar
...
Fixes sentry KICAD-B2
2023-02-19 08:06:35 -05:00
Marek Roszko
aacc9746e3
Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere
2023-02-18 22:57:18 -05:00
Mike Williams
bc8f81b14d
PCB Search Pane: show Board Setup / Net Classes on net activation
2023-02-18 15:41:26 -05:00
Marek Roszko
dffd2da8c8
Fix the shared_lock added and micro-opt the reindex
2023-02-18 11:28:19 -05:00
qu1ck
c7bb6f5778
Treat dimensions in fp as text for bbox calculations
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13976
2023-02-18 13:04:12 +00:00
Jon Evans
cad607ae84
Hide parent property in footprint editor
2023-02-17 20:40:09 -05:00
Jon Evans
f7d59f2e89
Enable properties panel in footprint editor
2023-02-17 20:35:56 -05:00
Jon Evans
f12f2b8420
PNS: Diff pairs can have different hole-to-hole size
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13993
2023-02-17 19:56:02 -05:00
Jon Evans
459473ccc3
PNS: Safety for evaluating item nets for rules
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13993
2023-02-17 19:56:02 -05:00
qu1ck
2975f53647
PCM: auto reload global libs after dialog is run
...
This adds Reset() method to KIFACE to reload global libs stored in
global static vars.
Also refactors some lib reload code in various frames to have
common MAIL_RELOAD_LIB handler.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12500
2023-02-17 17:24:32 +00:00
Alex
ecb28ddf1c
Prevent ghost image after canceling bitmap placement.
2023-02-17 03:53:44 +03:00
Jeff Young
5b0f1376c0
Simplify code now that we no longer drop out on first rule fired.
2023-02-16 17:55:33 +00:00
Jeff Young
978c2b074e
Negative clearance means test will be ignored, not rule.
2023-02-16 17:39:47 +00:00
Jeff Young
407cdd63fb
Translatable strings.
2023-02-16 17:28:06 +00:00
jean-pierre charras
911e013850
Pcbnew: Do not change visibility objects when changing Visibility layers
...
Fixes #13836
https://gitlab.com/kicad/code/kicad/issues/13836
2023-02-16 12:39:15 +01:00
qu1ck
9f10c142c4
Sync pcbnew selection with selected items after plugin is run
2023-02-16 02:29:06 +00:00
Seth Hillbrand
9d3f4bef6a
DRC: Verify overlapping layers in physical clearance
...
When checking the physical clearance on a layer, it is critical to check
that the via hole exists on that layer. Blind/buried and micro vias may
not overlap, so should be excluded from this check when they don't exist
on a particular layer
Similarly, we should only be reporting a single physical clearance error
for each item pair even though they may have multiple errors across
multiple layers in the case of via-via clearance
2023-02-15 11:35:24 -08:00
jean-pierre charras
2032b8af59
Pcbnew: fix incorrect rotation of thermal spoke for rotated footprints.
...
If the footprint rotation is not a multiple of 90°, the thermal spokes
were not correctly rotated.
Fixes #13919
https://gitlab.com/kicad/code/kicad/issues/13919
2023-02-15 18:19:34 +01:00
Jeff Young
40e1296a8b
Clear dirty flags after a move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11362
2023-02-15 14:50:31 +00:00
Jon Evans
2d7c5c5c0f
Router: Do not collide items within a net tie footprint
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13909
2023-02-14 21:08:36 -05:00
Jon Evans
473979d686
Fix handling of PPI when loading embedded images
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13884
2023-02-14 19:42:06 -05:00
Wayne Stambaugh
eb83f76bff
Allow plotting of multiple board layers per plot in Python.
...
Since the always plot the edge cuts layer option was deprecate,
the ability to plot multiple board layers was exposed through the
PLOT_CONTROLLER object.
Added the interactive plot information which was overlooked during
version 7 development.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13841
2023-02-14 09:49:20 -05:00
Mike Williams
4b07e3e413
Common Actions: Find Previous
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/8968
2023-02-14 08:21:37 -05:00
Mike Williams
3e715c99c8
Swap: take S key now that it's available
2023-02-14 07:42:06 -05:00
Seth Hillbrand
e7fe69b97f
Better handling of vertex sorting
...
Nominally, the zcode of a vertex is unique. This is not 100% true,
however, as we must interlace two 32-bit numbers into a single 32-bit
number. Sorting needs to account for the possibility that the zcode
will be the same while other elements of the vertex are different. This
commit fixes the broken boolean logic to more clearly handle these cases
Fixes https://gitlab.com/kicad/code/kicad/issues/13867
2023-02-13 11:21:04 -08:00
Jeff Young
8bab429c7d
Account for border when calculating text margin for text boxes.
...
Also fixes some unnoticed issues with the textbox dialogs (probably
dating from the move to wxWidgets 3.2).
Fixes https://gitlab.com/kicad/code/kicad/issues/13877
2023-02-13 17:08:29 +00:00
Mike Williams
71b687622b
PCB Search Pane: activate item opens properties dialog
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/12475
2023-02-13 10:57:05 -05:00
jean-pierre charras
17059971e8
DIALOG_UNUSED_PAD_LAYERS: do not use TransferDataFromWindow for any button.
...
TransferDataFromWindow is called only when closing by a wxID_OK button
Fixes #13865
https://gitlab.com/kicad/code/kicad/issues/13865
2023-02-13 10:26:46 +01:00
Jeff Young
499b58f505
ADDED: user-specified gap and linewidth for bounding hull creation.
2023-02-12 23:16:45 +00:00
Marek Roszko
f409837d26
Fix a stray ternary hidden under #if
2023-02-12 16:46:34 -05:00
Jeff Young
837ba323fb
Add doc link to custom rules syntax help.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13727
2023-02-12 21:34:35 +00:00
Marek Roszko
4665823089
Turn on and fix MSVC compliance mode issues
...
We want /permissive- to enable debug performance improvements in MSVC 17.5+.
This flag is also default under C++20 so we'll have to deal with these compile issues anyway at some point in the future.
In particular, MSVC becomes pedantic about ternary types.
See https://learn.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance?view=msvc-170#ambiguous-conditional-operator-arguments
MSFT cites https://cplusplus.github.io/CWG/issues/1805.html
2023-02-12 16:30:37 -05:00
Jeff Young
2a5bb71fbd
ADDED operating point text variables for labels and symbols.
...
ADDED formatting for cursors and operationg points
Also fixes a bunch of bugs to make the new cursors work with .ac sims.
Fixes https://gitlab.com/kicad/code/kicad/issues/11253
Fixes https://gitlab.com/kicad/code/kicad/issues/6965
2023-02-11 21:11:07 +00:00
Jeff Young
e73366db5c
Add 3D viewer to toolbar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13559
2023-02-11 21:11:07 +00:00
Jeff Young
aab237852b
Flatten Reannotation dialog.
2023-02-11 21:11:07 +00:00
Jeff Young
0dcc34ddc8
Simplify Remove Unused Pads dialog.
2023-02-11 21:11:07 +00:00
Jeff Young
362d85ef50
Special selection mode when in high-contrast with courtyard layer active.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13521
2023-02-11 21:11:07 +00:00
Jeff Young
95fb3825bd
Fix some strings from V7's string freeze.
2023-02-11 21:11:07 +00:00
Jon Evans
61dd4b7043
Properties: fix rebuilding when availability changes
2023-02-11 15:50:51 -05:00
Jon Evans
0b3928d38f
Properties: add some validators for PAD
2023-02-11 15:50:51 -05:00
Jeff Young
13391176ae
Remove DRC exclusions that no longer have items.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13802
2023-02-11 20:43:00 +00:00
Marek Roszko
4d6e06d349
Add grid reset to place menubar.
2023-02-11 13:20:35 -05:00
Jon Evans
eb240fda9a
Properties: introduce validators; re-enable zone hatch settings
2023-02-11 11:44:58 -05:00
Jon Evans
254168c788
Properties: introduce method chaining for initialization
2023-02-11 11:44:58 -05:00
Jon Evans
6948a0bebd
Expose new netclass storage to SWIG
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13337
2023-02-11 09:50:24 -05:00
Alex
b5191c8c22
Fail-safety in spreadRectangles.
2023-02-11 16:42:27 +03:00
Jon Evans
b888714ed5
Don't discard temporary item being placed if placement is rejected
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13697
2023-02-11 08:40:33 -05:00
Jon Evans
e066454c61
Zones: use metric defaults and limits instead of mixed units
...
Update testcases to reflect new defaults
2023-02-11 07:39:29 -05:00
Seth Hillbrand
fda3feaf3f
Revert "Add doc link to custom rules syntax help."
...
This reverts commit 7874735810
.
2023-02-10 15:33:03 -08:00
Seth Hillbrand
90a388571e
Fix copy-pasta
...
testing 'othervia' for dynamic_cast success needs to use `othervia`
rather than `via` which might still be null
Fixes Sentry issue KICAD-5K
2023-02-10 13:33:21 -08:00
Seth Hillbrand
6fb9d190ac
Use the common subset of nets for local update
...
When adding new data, we may have differing sizes of the dynamic
ratsnest and our local copy, so ensure that we are only referencing
elements that exist in both
2023-02-10 12:50:29 -08:00
Alex
89429996da
Fix a crash in rectpack2D when unable to pack footprints.
2023-02-10 22:45:07 +03:00
Seth Hillbrand
f4825cdd8f
Allow same-net, same-priority zone filling
...
When two zones with the same net and same priority overlap, they should
both be filled, matching the behavior of v6. If you would like an
explicit override of one or the other, you need to set the zone priority
higher. Relying on the UUID as a tie breaker is good for zones with
different nets but creates unexpected changes from v6 when applying it
to zones of the same net
2023-02-10 11:07:08 -08:00
Jon Evans
e2353a2849
PANEL_BOARD_STACKUP: Ensure UI is re-linked to storage when importing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13835
2023-02-10 12:58:04 -05:00
jean-pierre charras
538ee12188
Pcb editor: fix crash when trying to activate the "place anchor" tool.
...
"place anchor" tool exists only in the Fp editor. However, the hotkey
to activate this tool was also active in the board editor. Now disabled.
2023-02-09 16:29:33 +01:00
Jon Evans
92a61b187f
Properties: Hide zone fill type settings for now
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13811
2023-02-08 21:56:15 -05:00
Alex
b71fa91bc4
Don't write outside of overrides array on pad zone_layer_connections.
...
Use std::array to catch future errors in Debug.
Fixes https://gitlab.com/kicad/code/kicad/issues/13803
2023-02-08 01:32:52 +03:00
jean-pierre charras
a493a2c822
kicad-cli, pcbnew pàlot: honor the color options when ploting pdf files
...
--black-and-white and -t were shown in help, but not handled
Fixes #13805
https://gitlab.com/kicad/code/kicad/issues/13805
2023-02-07 20:20:45 +01:00
jean-pierre charras
82d9176782
FOOTPRINT::Flip(): add missing PCB_BITMAP_T.
...
Fixes #13785
https://gitlab.com/kicad/code/kicad/issues/13785
2023-02-05 18:41:58 +01:00
Jeff Young
f2f54fe926
Improve zone-layer-connections terminology and comments.
...
This makes it clearer that the overrides are not inverses of each
other -- one overrides the flashing state and the other overrides
the connection state (to other zones, not to everything).
Also fixes a bug where we were failing to check the force-no-connect
for pads.
2023-02-05 17:39:42 +00:00
Alex
c122fd0e36
Remove unused cache_optionally_flashed_connections.
2023-02-05 17:39:42 +00:00
Alex
f6fd85af85
CHANGED: Try to determine via/pad flashing state before filling zones.
...
If removing unused via annular ring option is enabled on a layer, then the via will have the ring if both:
- Via center is not inside a rule area with "Keep out copper fill" flag set
- Highest-priority zone the via hole intersects with has the same net
Pads will be flashed if:
- Pad center is not inside a rule area with "Keep out copper fill" flag set
- Highest-priority zone at the pad center has the same net
Fixes https://gitlab.com/kicad/code/kicad/issues/12964
2023-02-05 17:39:42 +00:00
Alex
bf1a8f2582
router: Fix clamp in meander corner radius calculation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13781
2023-02-05 07:22:38 +03:00
Jeff Young
a59c1afa53
Fix two bugs in RTree polygon collions special case.
...
1) Special case doesn't work for polygons with holes
2) Fix special case to handle intersecting lines where neither end is
in the polygon.
Note that only (1) is required for the bug below. (2) was just
discovered while implementing (1).
Fixes https://gitlab.com/kicad/code/kicad/issues/13779
2023-02-04 13:46:40 +00:00
jean-pierre charras
6b5eeeb861
Preferences dialog: try to reduce its width, in non English languages.
...
Remove some useless spacers, and do not force some widgets to have a to
large size (by removing empty areas).
Work in progress: one panel is still too big.
2023-02-04 14:36:14 +01:00
Seth Hillbrand
887c740c2e
Limit the number of potential netnames
...
Don't set text if outside of the clipbox. Text is non-cached so will
get redrawn on zoom
Fixes https://gitlab.com/kicad/code/kicad/issues/13572
2023-02-04 11:17:09 +01:00
Jeff Young
8ecf64b6c5
Don't run DRC rules on non-existant layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13753
2023-02-03 15:08:31 +00:00
Jeff Young
235925d62c
Clearer reporting of negative clearances.
2023-02-03 15:08:31 +00:00
Jeff Young
0d083d0230
AllCuMask() and AllTechMask() are static, they do NOT modify "this".
2023-02-03 15:08:31 +00:00
Seth Hillbrand
b427ad80f6
Don't make unneeded copies of std::pairs
2023-02-03 15:28:53 +01:00
Seth Hillbrand
dde336ee40
Split connectivity mutex locking
...
Internal routines have no need for locking the mutex they already own.
While external routines that want to recalculate the Ratsnest do need an
exclusive lock before being allowed access
Fixes https://gitlab.com/kicad/code/kicad/issues/13011
2023-02-03 15:26:19 +01:00
jean-pierre charras
8ce0a84ca7
Fix compatibility with older wxWidgets versions.
...
Fix also a compil warning
2023-02-03 08:24:38 +01:00
Wayne Stambaugh
e20c86ad5e
Minor dialog layout improvements.
2023-02-02 16:54:52 -05:00
Seth Hillbrand
e60152e351
Fix island removal when copper->edge clearance is 0
...
Just testing a single point to find copper that is outside the board works
until the arc->segment conversion moves the board outline just enough to
have the filled copper slightly (few IU) outside of the converted outline.
Instead, we do an expensive check of comparing the size of the
intersection between the island and the island's intersection with the
board. If the intersection is at least half as large as the original
island, we can say with certainty that the island is inside. The margin
could be much smaller than half but this preserves the intent without
picking an arbitrary number that might be violated
Fixes https://gitlab.com/kicad/code/kicad/issues/13717
2023-02-02 19:19:26 +00:00
jean-pierre charras
fcefb5f86d
Re-allows selection of bitmaps not owned by a footprint.
...
It was broken by my commit f8051d95
Fixes #13747
https://gitlab.com/kicad/code/kicad/issues/13747
2023-02-02 18:09:37 +01:00
Jon Evans
200bf696af
Fix importing of legacy netclasses
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13746
2023-02-02 08:29:43 -05:00
jean-pierre charras
737318a24d
struct ZONE_DESC: ensure ENUM_MAP<PCB_LAYER_ID> is initialized before use it.
...
ENUM_MAP<PCB_LAYER_ID> is tested initialized in some other XXX_DESC,
but not in ZONE_DESC
Fixes #13699
https://gitlab.com/kicad/code/kicad/issues/13699
2023-02-02 09:11:27 +01:00
Jon Evans
26b9d2f5ac
DRC: Allow disabling DP constraints in specific areas
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13743
2023-02-01 23:11:39 -05:00
Jeff Young
7874735810
Add doc link to custom rules syntax help.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13727
2023-02-01 23:40:53 +00:00
Alex
6543d23d9f
router: Re-add electrical path lines drawing for length tuning.
2023-02-01 20:36:52 +03:00
Alex
7d6218acb4
Unify checkbox borders in Interactive Router Settings.
2023-02-01 07:46:42 +03:00
Alex
1c2345776e
Remove unused variable.
2023-02-01 07:28:55 +03:00
Jon Evans
48e4005111
Fix diff pair router checking of min clearance
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13720
2023-01-31 19:53:35 -05:00
Kliment
68eac74458
pcbnew: Fix strokeWidth truncation to integer mm in SVG polygons import
...
The polygon conversion algorithm mistakenly stored the stroke width of
filled polygons in an integer variable. As a result, all stroke widths
were rounded down to the next smaller integer mm size. This commit changes
the types in the relevant functions and variables from int to double.
2023-01-31 20:34:25 +00:00
Seth Hillbrand
f34aa947d3
Allow on-outline zones to be considered inside
...
Also ensure that calculated areas for island removal are absolute.
The on-outline zone can happen when the clearance to the edge is
particularly small.
Fixes https://gitlab.com/kicad/code/kicad/issues/13717
2023-01-31 12:32:23 -08:00
jean-pierre charras
f8051d954a
Better handling of PCB_BITMAP items in a footprint.
...
- Ensure they can be erased in the FP editor
- Ensure they cannot be selected in the PCB editor (they are not show)
Fixes #13714
https://gitlab.com/kicad/code/kicad/issues/
2023-01-31 11:16:38 +01:00
Roberto Fernandez Bautista
44cfb1ea43
CADSTAR PCB: Don't create zero sized text items
...
Partially addresses https://gitlab.com/kicad/code/kicad/-/issues/13693
2023-01-30 19:56:22 +00:00
Roberto Fernandez Bautista
963e82ee7f
CADSTAR PCB: Correctly handle anticlockwise arcs
...
Also add some qa tests for EDA_SHAPE::SetAngleAndEnd
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13626
2023-01-30 19:56:22 +00:00
Jeff Young
50e9685490
Check for tented vias before expanding solder mask.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13705
2023-01-30 17:56:35 +00:00
Chris Morgan
ce06171561
Convert additional sprintf to snprintf
2023-01-30 16:22:03 +00:00
Marek Roszko
e928d72c3b
Fix relative step file export
...
Forgot to set the project relative path, and the library search path
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13696
2023-01-29 22:19:37 -05:00
vinsfortunato
5bdaf20af6
eagle: determine and use the minimum copper layer stackup count
...
Fixes: https://gitlab.com/kicad/code/kicad/issues/13484
2023-01-29 21:13:41 +00:00
Jon Evans
971abcfc1a
Fix DP meander placer when tuning from an uncoupled section
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12212
2023-01-28 22:25:46 -05:00
Wayne Stambaugh
68decdd4f2
Fix static event table derived object definitions.
2023-01-28 14:10:06 -05:00
Marek Roszko
d4a5e2caad
Fix crash when .kicad_pcb is renamed to .kicad_mod and load library attempted
...
Pick a random error message used elsewhere
2023-01-28 10:42:46 -05:00
Jon Evans
d04cda35c5
Handle hidden attribute in fp-lib-table
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13689
2023-01-28 09:23:25 -05:00
Jeff Young
b1018e8eeb
Relax no-zone-commands constraint on interactive placer tools.
...
These tools are initialized with an item (via/pad/microwave) so there's
no way to tell between during-placement and idle. Besides, they don't
update the ratsnest so they probably won't fall afoul of the original bug
(https://gitlab.com/kicad/code/kicad/-/issues/12736 ).
Fixes https://gitlab.com/kicad/code/kicad/issues/13686
2023-01-28 10:42:24 +00:00
Marek Roszko
4d811ba975
Enable layer arg for fp export svg
2023-01-27 23:45:42 -05:00
Jon Evans
b4994a7fa1
Locked shadows should not be on overlay
...
These are supposed to render under the component
and do not need to be pulled to the front for overlay.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12486
2023-01-27 22:09:42 -05:00
Ian McInerney
51c8f2c119
Fix library sort order in library viewers
...
The lib table returns a properly sorted list of libraries already, which
we just iterate through. A std::set is a sorted collection, but uses a
different sorting function than the lib table, so appending to a
std::set breaks the initial sorting that was done already.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13530
2023-01-27 23:39:50 +00:00
Kliment
f6dc48ead7
Pcbnew: Make "Substitute similarly named models" on by default in STEP export.
2023-01-27 23:32:23 +00:00
kliment
a3e3231605
Pcbnew: Increase the default size of the board setup dialog
2023-01-27 22:00:39 +00:00
Alex
8603c06ef3
Fix netnames.
2023-01-27 19:35:41 +03:00
Alex
13ce2ebf46
15% rendering optimization in PCB_TRACK::ViewGetLOD.
2023-01-27 18:37:43 +03:00
Jeff Young
8268234aa1
Reverse shown-source logic so we report if it's the netclass width.
...
(whether or not it's *also* the previous track width).
2023-01-27 15:31:02 +00:00
Jon Evans
675b6b5d5c
Fix logic error in ec4d377d
...
Also fixup goldens for importers for new default island mode
2023-01-27 10:16:56 -05:00
Jon Evans
ec4d377d15
Stop removing islands for fully-isolated zones
...
It is hard for a user to tell what is going on when their zone
just doesn't fill at all. We catch isolated areas in the DRC so
we can just leave them alone here until the zone has at least one
non-isolated filled area.
Also change default back to always remove islands to reduce confusion
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13271
2023-01-27 08:57:18 -05:00
Alex
e3fa447f0c
router: Remove extra qualification.
2023-01-27 11:56:23 +03:00
Alex
0ff6cb49d6
router: When dragging tracks, don't snap to parts of the original line.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10113
2023-01-27 11:06:36 +03:00
Alex
52edbf91dc
Better synchronization of various ratsnest visibility controls.
2023-01-27 10:01:12 +03:00
Alex
a872ed11bf
Fix paths for Copy default global library table.
2023-01-27 09:24:52 +03:00
Seth Hillbrand
a0236113da
Attempt fix to RATSNEST crash
...
We call 'RecalculateRatsnest' in multiple locations, this will
invalidate various pointers needed by VIEW::Redraw(). When this is
called through the normal connectivity routines, we have the mutex
locked to prevent conflict but we've added more locations that update
just the Ratsnest. The std::adopt_lock should take over the existing
lock when needed
Fixes https://gitlab.com/kicad/code/kicad/issues/13011
2023-01-26 17:32:38 -08:00
Seth Hillbrand
ec9e7eed90
Don't link DNP with Exclude from Pos files
...
Exclude from Pos file property follows the footprint but may be
different from the DNP property
Fixes https://gitlab.com/kicad/code/kicad/issues/13616
2023-01-25 13:54:12 -08:00
Seth Hillbrand
a6badd0313
Fix compile warning
2023-01-25 13:53:13 -08:00
Jeff Young
2312cf34c4
Pay attention to knockout text when adding to DRC Rtrees.
2023-01-25 18:34:03 +00:00
jean-pierre charras
b2f6c13b6a
Fp editor and Fp viewer: fix missing info on msg panel after loading a fp
...
Fix also duplicate/not used code
Fixes #11404
https://gitlab.com/kicad/code/kicad/issues/11404
2023-01-25 17:47:04 +01:00
Mike Williams
a76a4f9788
Router: don't unnecessarily change track widths on layer change
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13546
2023-01-25 09:34:17 -05:00
Marek Roszko
ae812bdf39
Try to use the theme setting for the cli pcb svg export
2023-01-24 22:57:28 -05:00
Jeff Young
e886ccacbd
Cleanup unused local variable.
2023-01-24 23:45:55 +00:00
Jon Evans
769afa6fe6
Properties: refactoring
2023-01-24 12:08:37 -05:00
Jon Evans
890103a012
Properties: Fix handling of mixed value selections
2023-01-24 11:51:26 -05:00
Simon Richter
05198b896f
Move PCB_EDIT_FRAME::ExchangeFootprint to pcb_edit_frame.cpp
...
No idea why it was in the dialog file, but there is no good reason for that.
2023-01-24 12:54:05 +00:00
Jeff Young
00e2bbac5a
Special-case net-ties for solder mask bridging.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13646
2023-01-24 11:33:08 +00:00
Jeff Young
b0ec006b81
The safety of running the event loop during doCloseWindow is debatable.
...
(Possibly a fix for Sentry KICAD-7T.)
2023-01-24 11:33:08 +00:00
Jeff Young
8eae75e8d6
Suppress handling of selection events until delete is done.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13451
2023-01-24 00:07:40 +00:00
Seth Hillbrand
e713a3eac2
Handle cleanup safely
...
Make sure that the connectivity has successfully completed before
attempting to merge segments. Also avoids reaching into the shared_ptr
if we don't need to
Fixes https://gitlab.com/kicad/code/kicad/issues/13639
2023-01-23 15:56:46 -08:00
Jon Evans
12b0a12d74
Handle DP checks for board minimum rules
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13640
2023-01-23 17:45:16 -05:00
Seth Hillbrand
efe12f2da5
Cleanup variable naming
...
Also remove ancient/unused code for lazy resolving
2023-01-23 22:21:12 +00:00
Seth Hillbrand
a9ed47f06c
Update KICAD6->KICAD7
2023-01-23 22:21:12 +00:00
Jeff Young
509b39e9e4
Propagate nets within non-conflicting clusters immediately.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13601
2023-01-23 16:25:29 +00:00
Jeff Young
ece775c53c
Blind/buried vias are drilled, and drilled holes need to avoid prior-burned holes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13627
2023-01-23 16:25:29 +00:00
Jeff Young
c430c88f9d
Immediate update of no-net objects when they're connected to something else.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13601
2023-01-23 16:25:29 +00:00
Jon Evans
4a55b7998a
Standardize on longer phrasing
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13514
2023-01-23 08:59:18 -05:00
Jon Evans
e11012fe06
Properties: show via friendly name
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13635
2023-01-23 08:56:21 -05:00
aris-kimi
09b83b95d0
PCB Editor: Locked filter unchecked by default
...
And some minor code style improvement in one place
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13246
2023-01-23 11:36:06 +00:00
jean-pierre charras
136c150460
plot_brditems_plotter: fix crash (null poiner use) when run from kicad-cli,
...
with a not initialized plotter render settings.
Fixes #13633
https://gitlab.com/kicad/code/kicad/issues/13633
2023-01-23 11:50:27 +01:00
jean-pierre charras
e0111f709b
Fix minor cosmetic issues in Print dialogs
...
Fixes #13629
https://gitlab.com/kicad/code/kicad/issues/13629
2023-01-23 09:21:23 +01:00
Jon Evans
1bc3f77d2e
Coverity fixes
2023-01-22 22:48:31 -05:00
Alex
1aca216f18
Add DRC suggestions for Via_Type
2023-01-23 05:14:06 +03:00
Alex
91d154cd28
Add DRC suggestions for Shape
2023-01-22 22:35:12 +03:00
Alex
05eafdc08b
Add missing DRC Type suggestions.
2023-01-22 22:35:12 +03:00
Jeff Young
bf8762c57c
Streamline color lookup (and a bit of wxS).
2023-01-22 17:18:03 +00:00
Jon Evans
09cb222252
Change indeterminate checkbox behavior to be more intuitive
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13604
2023-01-22 12:10:45 -05:00
Jon Evans
351f668645
Separate selection change updates from properties updates
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13624
2023-01-22 12:10:45 -05:00
Jeff Young
729b2deb5c
Use board layer names for properties grid.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13553
2023-01-22 15:47:57 +00:00
Marek Roszko
0ff32d20cd
wxS more things
2023-01-22 09:41:42 -05:00
Jeff Young
03a64492e8
Handle all member vars if not doing a std::swap on "this".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13621
2023-01-22 13:00:18 +00:00
aris-kimi
86c12d35b4
Small order change for three View menu items
2023-01-22 01:04:17 +00:00
Jeff Young
005648f4db
The net inspector is a modeless panel, not a dialog.
...
No need for OK button.
2023-01-22 00:14:02 +00:00
Jeff Young
8a9a63134c
Minor dialog adjustments.
2023-01-22 00:14:02 +00:00
Jon Evans
3a9ef02fdf
Clean up handling of selection changes
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13620
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13609
2023-01-21 17:37:29 -05:00
jean-pierre charras
df4f9d4c94
FP editor: fix crash when trying to save a footprint after removing its library
...
Fixes #13619
https://gitlab.com/kicad/code/kicad/issues/13619
2023-01-21 18:18:38 +01:00
Jeff Young
12215647f1
Handler blind/buried/micro via drawing when all layers are hidden.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13607
2023-01-20 19:09:12 +00:00
Mike Williams
6586a2ca66
PCB Editor: prevent scroll wheel on track size opening board settings
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13218
2023-01-20 12:13:16 -05:00
Seth Hillbrand
34810d24a5
Remove unique dummy text
...
Text that will be replaced programmatically should be specified as
"dummy" in wxFormBuilder to avoid adding unneeded translation strings
2023-01-20 09:11:08 -08:00
Jeff Young
89d434255c
Run clearance rules for router status bar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13605
2023-01-20 14:19:58 +00:00
Jeff Young
d9a90519f9
Flatten (and fix layout) of library table managers.
2023-01-20 14:19:58 +00:00
Jeff Young
24dd402e29
Finish processing last pad in pad group, and trim whitespace from pads.
2023-01-19 15:48:32 +00:00
Mike Williams
67eae77e9d
PCB/SCH/3D: Implement 3D cross-probing from schematic
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/3859
2023-01-19 10:39:47 -05:00
Mike Williams
b8352b07c5
PCB: Immediate mode copy should deselect if hover selecting
2023-01-19 09:45:47 -05:00
Seth Hillbrand
7e5a2450b8
Move multiple wxMessageBox to DisplayErrorMessage
...
Also provide protection for headless running in multiple callsites
Fixes https://gitlab.com/kicad/code/kicad/issues/13575
2023-01-18 16:54:01 -08:00
Seth Hillbrand
b99bd7633d
Allow commas, spaces in pad names for net-ties
...
Net tie groups are currently separated by comma. But comma is also an
allowed, albeit rare character for pad names. To allow pad names with
commas in net tie groups, the group definition must be escaped with a
forward slash for commas (and forward slashes).
Pad 1,2
Pad 2,3
Net-tie group "1\,2,2\,3"
Fixes https://gitlab.com/kicad/code/kicad/issues/13001
2023-01-18 14:45:52 -08:00
Seth Hillbrand
8f4486752d
Fix build error
2023-01-18 10:20:20 -08:00
Seth Hillbrand
7fa15b3fbb
Only update items that can be affected
...
When updating the view, don't force repaint all items. Changing the
line width only affects elements with lines
Fixes https://gitlab.com/kicad/code/kicad/issues/13579
2023-01-18 09:59:00 -08:00
Dag Lem
cff0560088
Eagle schematic import: Handling of escaped text
2023-01-18 12:33:36 +00:00
Jeff Young
3af9c658e6
Don't specify fonts in wxFormBuilder. It only leads to pain.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-18 12:28:07 +00:00
jean-pierre charras
90c76fa4bc
Pcbnew: display first and last layer ID on buried and micro vias.
...
Fixes #13566
https://gitlab.com/kicad/code/kicad/issues/13566
2023-01-18 09:56:25 +01:00
jean-pierre charras
940d88c47d
PCB_SHAPE::swapData() : Do not swap twice a parameter
...
Fixes #13576
https://gitlab.com/kicad/code/kicad/issues/13576
2023-01-18 08:37:34 +01:00
Jeff Young
7844602210
Nullptr safety.
2023-01-18 01:30:40 +00:00
Jeff Young
f90b04c715
Nullptr safety. (Sentry KICAD-5N)
2023-01-18 01:05:27 +00:00
Jeff Young
f45d44a639
Don't leave temp footprints attached to a board.
2023-01-18 00:46:59 +00:00
Seth Hillbrand
f35a02d57a
Move early exit higher in netname redraw
...
If the track is outside of the viewbox, GetLOD returns HIDE. This needs
to be handled quickly in the loop before further processing
Fixes https://gitlab.com/kicad/code/kicad/issues/13572
2023-01-17 15:56:04 -08:00
Jeff Young
3cc960a872
Push nets to free pads when they're used.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13516
Fixes https://gitlab.com/kicad/code/kicad/issues/13517
2023-01-17 23:29:47 +00:00
Seth Hillbrand
1d223d1439
Safely load python plugins
...
Catch potential exceptions when doing the initial python plugin load
Fixes https://gitlab.com/kicad/code/kicad/issues/12231
2023-01-17 12:56:15 -08:00
Seth Hillbrand
60ba245474
Remove Eagle islands by default unless told otherwise
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13503
2023-01-17 12:49:44 -08:00
Jeff Young
26c821962f
Simplify and regularize text variable substitution architecture.
...
EDA_ITEMs are responsible for giving their parent a crack at it if
they failed to resolve it. This recurses all the way up to the schematic/
board, and then to the project.
Cross-reference handling is also move to the EDA_ITEMs. It must be done
before bubbling up so that we don't end up in loops. (The aDepth parameter
will break the loop, but without having done anything useful.)
Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-17 17:05:41 +00:00
Jeff Young
9820062c71
Fix clipping issue in Pad Properties dialog.
2023-01-17 17:05:41 +00:00
Wayne Stambaugh
022c913e8f
Fix another broken graphics import file filter.
2023-01-17 11:34:51 -05:00
Mike Williams
369c0efade
Bitmaps: respect source DPI
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13565
2023-01-17 11:20:17 -05:00
Wayne Stambaugh
f81642bbb3
Fix broken graphics import file filters.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13570
2023-01-17 11:19:53 -05:00
jean-pierre charras
90c5ede1e6
pcbnew: move DIALOG_PAD_PROPERTIES_BASE from dialog_pad_properties to its own files.
...
dialog_pad_properties_base.fbp included to many dialog descriptions.
2023-01-17 09:44:28 +01:00
Marek Roszko
ac94995f70
Some more wxS
2023-01-16 19:07:50 -05:00
Felix Schneider
08295c795b
Add vertical justification buttons to pcbnew text dialog
...
kicad 6 default behaviour was not achievable through the UI.
Addresses #13423 and #2375
2023-01-16 18:40:08 +00:00
Jeff Young
22497502e6
Don't leave a dummyPad in a group. Freeing it will cause problems.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13556
2023-01-16 17:30:40 +00:00
Jeff Young
e490728226
Don't run the footprint checker's shorting pads routine at board level.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13555
2023-01-16 16:44:16 +00:00
jean-pierre charras
c4ccf46cc7
DIALOG_PAD_PRIMITIVES_PROPERTIES: fix incorrect display of polygon primitive.
...
Fixes #13557
https://gitlab.com/kicad/code/kicad/issues/13557
2023-01-16 17:32:22 +01:00
Jeff Young
f0b2902b8c
Don't allow quit while zone filler is running.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13551
2023-01-16 16:01:45 +00:00
Jeff Young
62649b868c
Ensure good fonts in grid headers.
...
Also moves rendering to a flat look for headers (instead of a beveled
border).
Fixes https://gitlab.com/kicad/code/kicad/issues/13547
2023-01-16 02:47:14 +00:00
Jeff Young
ca1fb732c8
Share Eagle var substitution between board and schematic importers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13541
2023-01-15 22:27:19 +00:00
Jeff Young
91c5bb9175
Block user-initiated zone-fill actions, but not system ones.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13536
2023-01-15 19:16:36 +00:00
Jeff Young
0328cae94c
Detach revert footprint copy from parent board.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13537
2023-01-15 17:26:44 +00:00
Wayne Stambaugh
744fd3a71e
Fix GCC build issue on Linux.
2023-01-15 12:18:56 -05:00
Jeff Young
bf4b9ef6e2
Remove sorting by priority before filling.
...
We can't fill lower-priority zones until the higher-priority ones
have been tesselated, and as the tesselation step always gets pushed
to the back of the queue after the fill finishes having them sorted
by priority accomplishes little. (We're also going to push all other
layers of the high-priority zone to the back as the first layer will
have the lock, further degrading the usefulness of sorting.)
2023-01-15 15:52:24 +00:00
Jeff Young
0c8f95aa02
Make sure tesselate_lambda has lock before modifying zone.
...
Also implements locking for upating pad & tracks' zoneConnectionCaches.
Fixes https://gitlab.com/kicad/code/kicad/issues/13531
2023-01-15 15:52:24 +00:00
Jeff Young
45a71a205c
Don't wait for degenerate zones.
2023-01-15 15:52:24 +00:00
Jeff Young
f1aee2fa18
Minor dialog tweaks.
2023-01-14 01:45:30 +00:00
Jeff Young
ea4c3a267b
Be more discerning about dirtying zones for auto-refill.
...
In particular, record which children caused a parent footprint to be
added to the commit so we can determine if they have intersecting
bounding boxes and/or layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/13512
2023-01-13 19:09:22 +00:00
Jeff Young
f358749b28
Import copper pour cutouts from Eagle packages (footprints).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13503
2023-01-13 16:35:45 +00:00
Tomasz Wlostowski
761e754294
router: trying to improve the 'guess posture' algorithm to work well with both fix-all and fix-last-segment on click
2023-01-12 23:37:07 +01:00
Tomasz Wlostowski
65def26b4d
router: follow up ROUTER::GetUpdatedItems() API changes in the ROUTER_TOOL
2023-01-12 23:37:07 +01:00
Tomasz Wlostowski
d07d6c9a30
router: fix 'Bowen knot'-looking hulls for 0-length segments
2023-01-12 23:37:07 +01:00
Tomasz Wlostowski
0595440d79
router: minor improvements in shove algorithm handling of vias
2023-01-12 23:37:07 +01:00
Tomasz Wlostowski
213d30cad6
router: workaround for assertion fail on NODE::Add(unique_ptr<LINE>)
2023-01-12 23:37:07 +01:00
Tomasz Wlostowski
aa7271e55a
router: expose the 'head' traces in a separate list for debug logs
2023-01-12 23:37:07 +01:00
Seth Hillbrand
79f567cff4
Standardize BOM nomenclature
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13499
2023-01-12 13:54:12 -08:00
Jeff Young
631fd54f9f
Don't suppress writing of empty values. They have meaning.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13507
2023-01-12 15:24:59 +00:00
Jon Evans
595bf70d5d
Do not try to read from UI elements that haven't been initialized yet
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13480
2023-01-12 09:16:22 -05:00
Jon Evans
c530bdb5a1
Rename GetSelectMenuText to GetItemDescription
...
This descriptive text is used for many more things than
just the select menu these days.
2023-01-11 22:27:44 -05:00
Jon Evans
1ff1571849
Bring back deprecated net properties to rules system
2023-01-11 22:14:52 -05:00
qu1ck
2654279678
Cleanup zone bbox cache in destructor
2023-01-12 00:21:51 +00:00
Seth Hillbrand
248399f771
Standardize print/plot terms
...
Use choice box for color/bw selection
"border and title block" -> "drawing sheet"
Fixes https://gitlab.com/kicad/code/kicad/issues/13128
2023-01-11 12:30:02 -08:00
Jeff Young
8238973bf4
Make sure std::unique_ptr gets initialized.
...
(Fixes unit test failure.)
2023-01-11 18:28:29 +00:00
Jeff Young
096cc7a5ad
Suppress unflashed annular rings only when copper layer is primary.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13471
2023-01-11 18:15:46 +00:00
Jeff Young
c85dcbc4e1
Improve performance of IncrementTimestamp so it can be called at will.
2023-01-11 17:41:08 +00:00
jean-pierre charras
1500e3bb80
Pcbnew, minor fix: do not write twice the dielectric color in stackup section in broad file.
2023-01-11 17:45:00 +01:00
Jeff Young
30c9deb9d5
Flat(er) look for paged dialogs.
2023-01-11 01:11:25 +00:00
qu1ck
f153ff8453
Add GetCurrentSelection() python scripting helper
2023-01-10 16:39:48 +00:00
jean-pierre charras
507edc54b3
Fix issues related to footprint wizards not loaded/reloaded in fp editor and fp wizard frame.
...
Fixes #11195
https://gitlab.com/kicad/code/kicad/issues/11195
2023-01-09 19:58:02 +01:00
Wayne Stambaugh
c3ded7a03d
Remove board editor standard dialog button static line separators.
2023-01-09 08:49:38 -05:00
Jeff Young
e916b715d5
Special case for very-short tracks was killing both-ends-in-a-zone.
...
(And doing so randomly as if the closer endpoint to the zone center
was the one without a pad then it would get marked as good, while if
it was the other way around we'd notch 2 connections for the pad end
and none for the other end.)
Fixes https://gitlab.com/kicad/code/kicad/issues/13420
2023-01-09 13:35:54 +00:00
Marek Roszko
82a1175d72
Fix cli gerbers output path and add job file
2023-01-08 23:03:30 -05:00
Jeff Young
6ed90134c7
Check for collisions on common layers.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13438
2023-01-08 20:53:15 +00:00
Wayne Stambaugh
f28ea5e784
Remove standard dialog button static line separators.
...
For the sake of consistency across all dialogs and window that behave
like dialogs, remove the static line that separates the main part of
the dialog from the standard buttons. This only applies to windows
that have the standard button on the bottom of the frame.
This covers the 3D viewer, CvPcb, common, GerbView and KiCad dialogs.
2023-01-08 13:15:33 -05:00
jean-pierre charras
ae8bbcad32
PadArray.py: ensure parameters used to create a VECTOR2I are ints.
...
Fixes #13430
https://gitlab.com/kicad/code/kicad/issues/13430
2023-01-08 09:10:13 +01:00
qu1ck
a369fd6a9c
Fix swig optimization flag causing incompatible codegen
2023-01-08 00:55:21 +00:00
Jeff Young
1e407e5e20
Minor dialog adjustments.
2023-01-07 23:55:01 +00:00
Jeff Young
4794956804
Minor dialog adjustments.
2023-01-07 22:26:43 +00:00
Jeff Young
bc50f537ff
Re-layout standard buttons after editing their names.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13425
2023-01-07 19:34:32 +00:00
Jeff Young
e509fa0fc9
Don't depend on a pad being connected to a non-zone when filling zones.
...
If the pad hasn't already been owned by another zone, and the zone we're
currently filling can connect to it, then we want to try to flash it even
if it's not connected to anything else.
Fixes https://gitlab.com/kicad/code/kicad/issues/13415
2023-01-07 19:34:32 +00:00
Seth Hillbrand
a93c83d2fa
Don't count non-coper SMD pads for likely type
...
We are only concerned for connected pads, not apertures
Fixes https://gitlab.com/kicad/code/kicad/issues/13387
2023-01-07 07:14:16 -08:00
Jeff Young
94847336a1
Bug fix for dark mode switch for layers palette.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13154
2023-01-06 20:43:33 +00:00
Seth Hillbrand
2399759c03
Allow default sexpr libs to have '.' and no .pretty
...
We default to KICAD_SEXPR format. In this case, if the library doesn't
have the .pretty extension, the full directory name including a '.' is
the correct nickname
Fixes https://gitlab.com/kicad/code/kicad/issues/13388
2023-01-06 10:08:32 -08:00
Jeff Young
2cbb66d70d
Dim other pads when in pad edit mode.
2023-01-06 11:13:57 +00:00
Seth Hillbrand
25f34a14a1
Check file starting signature when opening
...
Opening .brd files might be legacy or eagle (probably others as well).
We check for the starting "PCBNEW" in KiCad files to differentiate
Fixes https://gitlab.com/kicad/code/kicad/issues/10201
2023-01-05 18:10:22 -08:00
Jon Evans
1ccd387c8d
Exit a group when selecting a component outside it
...
We had this filter in place when doing mouse selection, but not when
the selection comes from another tool event.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13398
2023-01-05 20:32:52 -05:00
Seth Hillbrand
a6eb6d3228
Default to SMD if we have an SMD pad
...
SMD pads indicate that the footprint can be used in PnP more often than
the presence of THT indicate that it cannot.
Fixes https://gitlab.com/kicad/code/kicad/issues/13387
2023-01-05 16:56:07 -08:00
Seth Hillbrand
126225866b
Don't add footprint components to PCB group
...
Footprint components are only group-able inside of the footprint editor
Fixes https://gitlab.com/kicad/code/kicad/issues/13396
2023-01-05 15:38:07 -08:00
qu1ck
7dfa100ff0
Correctly refresh the board after action plugin run and maintain
...
selection
2023-01-05 14:05:15 -08:00
Jeff Young
cbe5340d37
Allow pads in multi-select mode when nothing else would be selected.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13371
2023-01-05 17:02:50 +00:00
Marek Roszko
fa7205ebbc
Handle block insert scaling a little better but incompletely
...
https://gitlab.com/kicad/code/kicad/-/issues/11614
2023-01-04 21:22:36 -05:00
Marek Roszko
0e42cb19f2
Realize we can just describe the dxf arb axis with our MATRIX3x3 class
2023-01-04 20:42:56 -05:00
Seth Hillbrand
20d7ffd5d3
Ensure we are not trying to sort on an invalid col
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13377
2023-01-04 13:56:25 -08:00
Seth Hillbrand
6271917682
Remove deprecated -py3 flag, use -O for swig
2023-01-04 11:32:15 -08:00
Seth Hillbrand
98d55ce82f
Avoid rebuilding with each commit
...
We shouldn't include the kicad_build_info.h outside of the wrapper
build_info.h. Also adds an error directive to prevent re-introduction
of define dependencies
2023-01-04 11:32:15 -08:00
Seth Hillbrand
14339aa786
Fix shadowing variable
...
Move check into switch block
2023-01-03 17:15:44 -08:00
Jon Evans
ac3ed02283
Rework bitmap cache and enable it
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12405
2023-01-04 00:26:45 +00:00
Marek Roszko
8ab9934143
Use our own cmake module path variable to avoid conflicting with the main ones listy functional
2023-01-03 19:18:16 -05:00
Jeff Young
375fdb7a49
Exact clearance is allowed; less than clearance is an error.
...
Also fixes a bug where the units weren't shown for extra precision
numbers.
Fixes https://gitlab.com/kicad/code/kicad/issues/13262
2023-01-04 00:03:11 +00:00
Mike Williams
1ba9a6abe3
Rotate/Mirror: unbreak immediate mode actions
2023-01-03 16:05:52 -05:00
Marek Roszko
c2e7524cb6
Surpress the giant opencascade stats print unless we are tracing
...
Also catch Warn level messages to set a flag and print the relevant there were warning message
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8613
2023-01-02 18:34:32 -05:00
Jeff Young
056349e5ea
Units for footprint preview widgets.
2023-01-02 22:12:26 +00:00
Jeff Young
67e6603699
Move updateUnits functionality to where it can be shared.
...
Also call it when adding a footprint via the chooser.
Fixes https://gitlab.com/kicad/code/kicad/issues/13340
2023-01-02 22:12:26 +00:00
Jeff Young
f4bce6079c
Prevent round-off errors from drawing one spoke and not the other.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13316
2023-01-02 19:23:52 +00:00
jean-pierre charras
07b4f88e6b
Pcbnew: Fillet Lines tool does not set line width and layer.
...
When fillet a polygon or a rect, the resulting lines and arcs had incorrect
width and layer.
Fixes #13338
https://gitlab.com/kicad/code/kicad/issues/13338
2023-01-02 16:52:08 +01:00
Jeff Young
20f2232d4e
Adjust dimension units when placing footprints on board.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13339
2023-01-02 12:39:35 +00:00
jean-pierre charras
e8114dc49a
Minor compil and Coverity warnings fixes.
2023-01-02 10:21:42 +01:00
jean-pierre charras
16fd586c41
Do not prune items/layers when copying the clipboard to the FP editor: all are allowed
...
(Some are disabled only for GUI)
Fixes #13334
https://gitlab.com/kicad/code/kicad/issues/13334
2023-01-01 13:35:05 +01:00
Gary Kim
8e8a3c7bdc
Do not translate name in version info
...
Leave the application name in version info untranslated when
viewed, copied, or used in a bug report.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13298
2022-12-31 20:28:45 -05:00
jean-pierre charras
9f56771611
Fix a typo
2022-12-31 11:41:04 +01:00
Jeff Young
53b6993d2b
Don't report errors in first pass of board outline generation.
...
Segments which aren't used to build holes in footprints can still
be used by the second pass to build the board outline.
Fixes https://gitlab.com/kicad/code/kicad/issues/13321
2022-12-30 22:32:08 +00:00
Alex
95f5d92fc6
Fix length overestimation when first/last line segment enters a pad.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13322
2022-12-30 16:27:59 +05:00
Alex
867a2e833d
router: Hotglue the debug graphics back to pcbnew.
2022-12-30 14:44:48 +05:00
Jeff Young
4c63b4e061
Class name <-> file name sync.
2022-12-29 18:05:57 +00:00
Tomasz Wlostowski
7d40bbdf38
router: mark the head trace (as opposed to the 'fixed tail') with fully saturated color
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11386
2022-12-29 17:54:59 +01:00
Tomasz Wlostowski
dfb1068358
router: improve heuristic to avoid segment drag 'flickery snapping'
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10113
2022-12-29 17:54:31 +01:00
Mike Williams
4bb1b4a3d2
Router: settings dialog fixes
...
Make keyboard activation of OK save settings instead of cancelling.
Also, fix the string for the shortcut so that it works (shortcut
unchanged).
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13303
2022-12-29 10:31:12 -05:00
Greg Davill
3b55f9e326
PCB Editor: Inform tools when selecting/unselecting net
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13308
2022-12-29 13:46:20 +00:00
lukas-heiligenbrunner
29e51cc198
fix quoting of layernames
2022-12-29 09:01:11 +00:00
Mike Williams
411efe6f3d
PCB Editor: Allow mouse drag of group-of-groups
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13076
2022-12-28 15:23:52 -05:00
Mike Williams
0c415a7190
PCB Editor: make rotate menu bar items conditional on selection items
2022-12-28 13:33:35 -05:00
Mike Williams
d62681f6db
PCB Editor: fix pad preview sketch mode not applying immediately
2022-12-28 12:27:57 -05:00
Jeff Young
e7300ffb5c
Improved column sizing in library setup dialogs.
2022-12-28 16:27:03 +00:00
Jeff Young
8d4694a83e
Iterator safety.
...
Move mergeSegments to a lambda so we can more easily break out of the
nested for-loops when we find a merge. We really need to start over
again at that point as we may have invalidated our connectivity items
iterator.
This also means we don't have to queue up all the track pointers, which
should get us a _little_ bit of the performance back.
Fixes https://gitlab.com/kicad/code/kicad/issues/13287
2022-12-27 20:14:13 +00:00
Mike Williams
741d1e043a
PCB Editor: make Mirror menu items conditional
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13230
2022-12-27 14:18:47 -05:00
Jeff Young
c85590a470
Correct is-inside logic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13259
2022-12-27 14:34:35 +00:00
Jon Evans
ee0a41e3bc
Remove excess calls to SelectedItemsModified
...
We really don't want to post these events unless the *selected* items
were actually modified, since it results in a redraw of the properties
panel (which disturbs edit state and causes flicker on MSW).
Now the COMMIT system is responsible for sending this event iff the
commit touches items that are selected.
Side note: UpdateMsgPanel is useless on every app except pl_editor, so
it can probably be refactored/removed at some point.
2022-12-26 20:57:58 -05:00
Jon Evans
5eb3f5d3e7
Use correct translation macro for group names
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13277
2022-12-26 20:11:20 -05:00
Jon Evans
dee5357d4d
Properties: give focus back to canvas after committing changes
...
Only needed on MSW, but safe to enable everywhere I think
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13275
2022-12-26 16:46:03 -05:00
Jeff Young
ab6aa08f33
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13263
2022-12-26 20:33:04 +00:00
Jeff Young
1f3727f548
Assigning a netclass has no meaning in fp editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13267
2022-12-26 20:33:04 +00:00
Jon Evans
f214f6f44c
Temporarily work around buggy zone refresh behavior
...
The actual problem is that EVENTS::SelectedItemsModified (via EDA_DRAW_FRAME::UpdateMsgPanel) is being called on every OnModify call, where it really should only be called if the *selected* items are modified. This problem will take longer to fix.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13279
2022-12-26 14:04:53 -05:00
Jeff Young
eb5a831a99
Fix typo.
2022-12-26 14:11:46 +00:00
Jeff Young
0094a0fc15
Treat teardrops as tracks not zones for disallow constraints.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13264
2022-12-26 11:33:09 +00:00
Jon Evans
fbaf4af489
Properties: Allow dynamic update of read-only state
2022-12-25 20:35:44 -05:00
Jon Evans
b85fab9ab6
Support DXF ellipses and elliptical arcs
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12563
2022-12-24 22:46:07 -05:00
Jeff Young
5dce8323e8
KIGFX::REPAINT is not enough if the item isn't in the view.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11656
Fixes https://gitlab.com/kicad/code/kicad/issues/13217
2022-12-24 17:18:22 +00:00
Jeff Young
34e134c5e5
Don't allow clearanceEpsilon to force clearance < 0.
...
Also, a plated hole has the max clearance of hole_clearance and
copper_clearance.
Fixes https://gitlab.com/kicad/code/kicad/issues/13237
2022-12-24 12:56:41 +00:00
Marek Roszko
020f8f61db
Let's try fixing the doxygen-python again
2022-12-23 23:11:04 -05:00
jean-pierre charras
59f0e428fa
Fix a PnS router issue doesn't respect knockout texts.
...
Fixes #13251
https://gitlab.com/kicad/code/kicad/issues/13251
2022-12-23 18:17:44 +01:00
jean-pierre charras
eef47c2a79
DRC: ensure tracks are tested against holes, even if hole clearance is set to 0.
...
Even with clearance = 0, copper to hole must be tested because it cannot be
inside the hole
2022-12-23 14:06:10 +01:00
Marek Roszko
e152cf0a92
Undo one doxygen-python build change, remains broken
2022-12-22 21:35:21 -05:00
Jon Evans
e19fb101ef
Properties: Show basic marker props
2022-12-22 17:45:16 -05:00
Jon Evans
18788b03eb
Properties: Hide unsupported hyperlink property
2022-12-22 17:45:16 -05:00
Jon Evans
2b4cafe9f7
Properties: Fixes for arc tracks
2022-12-22 17:45:16 -05:00
Jon Evans
4a0588db7a
Properties: translation fixes
2022-12-22 17:45:16 -05:00
Jon Evans
cc2b107649
Footprint Viewer: resolve canvas type after menus are created
...
SaveSettings can't be called until the menus are in place
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13243
2022-12-22 12:14:55 -05:00
Marek Roszko
8bfec30761
Fix the pcbnew.py dependency causing the doxygen to fail
...
The doxygen-python target recreates pcbnew.py that got deleted by xml-to-docstrings
2022-12-21 23:49:23 -05:00
Marek Roszko
caeb579174
Fix the dependencies for the python doxygen build
...
DEPENDS was being used for targets which is invalid for add_custom_target...as confusing as that is.
It is files only.
2022-12-21 23:39:35 -05:00
Seth Hillbrand
1cc9792cdb
Fix snapping dist when disabling grid
...
The disable grid hotkey should allow the snap scale to be completely
determined by the snapSize and world scale. This prevents snapRange
from overriding in the case where grid is disabled.
Additionally, we disallow grid snapping when the grid scale is not
visible. This means that when zoomed out sufficiently to not show the
minor ticks, these minor ticks will not override a snap
Fixes https://gitlab.com/kicad/code/kicad/issues/12303
2022-12-21 17:47:45 -08:00
Jon Evans
1590e48ec1
Use translated strings for property display
2022-12-21 18:03:15 -05:00
Mike Williams
47dc2379d8
PCB: Fix issues with grab unconnected
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13232
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13233
2022-12-21 15:10:19 -05:00
Jeff Young
e28f6ecc00
Fetch a better location for keepout area collsions.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13220
2022-12-21 18:22:15 +00:00
Alex
e8f755c665
router: Match segment endpoint calculation between dragger and the tool.
...
Prevents always picking point A when dragging short segments.
2022-12-21 20:55:49 +03:00
Alex
75053cfc57
Remove normally unused code from Move function.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13222
2022-12-21 19:06:32 +03:00
Mike Williams
5d94d2634e
PCB Editor: make locking menu items conditional
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/5202
2022-12-21 10:34:54 -05:00
jean-pierre charras
44ab6876d9
fp editor: remove useless "Unroute Selected" from context menu.
...
Fixes #13229
https://gitlab.com/kicad/code/kicad/issues/13229
2022-12-21 13:11:51 +01:00
Tanay Gupta
b0cbab5c4b
Footprint Editor: Focus search field when window is first opened
...
The search field on the Symbol Editor is focused when its window
is first opened. Similar behavior has been implemented in the search
field of the Footprint Editor with this change.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13100
2022-12-20 19:54:02 +00:00
Mike Williams
bd24e85289
PCB: Add Copy With Reference to the Positioning Menu
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11947
2022-12-20 11:54:05 -05:00
jean-pierre charras
161a1e21f5
PnS router: NPTH can be on copper layers, depending of the pad size and the hole size.
...
Now: round NPTH with a round hole bigger than the pad are not on a copper layer.
Other pas shapes are seen on copper layers (far from ideal, but reasonable)
Fixes #13214
https://gitlab.com/kicad/code/kicad/issues/13214
2022-12-20 12:50:22 +01:00
Jan Mrázek
f601c87cea
Export UNITS_PROVIDE into SWIG
2022-12-19 17:30:37 +00:00
jean-pierre charras
abff7975f1
Python scripting: fix some issues when trying to create a DRC Report:
...
- avoid aborting the DRC report on a .dru issue without any error message.
- ensure the list of layer names is up to date (contains both canonical
and user layers names, that can be used in DRC tests.
Fixes #11410
https://gitlab.com/kicad/code/kicad/issues/11410
2022-12-19 12:39:20 +01:00
jean-pierre charras
6c73fe05e9
python scripting: better fix for commit 5a79821
(fix crash due to a null pointer):
...
Try to use a better error message for severity.
Fixes #13160
https://gitlab.com/kicad/code/kicad/issues/13160
2022-12-18 18:31:19 +01:00
Ian McInerney
639626fda4
Include the proper header instead of the entire lockfile function
2022-12-17 23:37:24 +00:00
Ian McInerney
82a11c71af
Clean up extra control creator logic in pcbnew save file dialog
2022-12-17 23:37:24 +00:00
Jon Evans
5abf73e3c9
Never call ReCreateMenuBar inside a menu event handler
...
As of wxWidgets 3.2, the wxWidgets event handler runs code after the
the client event handler that depends on the menu still existing.
Because there are potentially many paths to call ReCreateMenuBar from
within a menu event handler, let's just wrap this action in a CallAfter
to make sure it happens after the wx handler call completes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13149
2022-12-16 16:37:51 -05:00
Jan Mrázek
90fb315113
Add missing text alignment types to SWIG export
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13174
2022-12-16 18:55:21 +00:00
Jan Mrázek
e699c25d98
Add operators for the SWIG wrapper of EDA_ANGLE
2022-12-16 18:55:21 +00:00
Jan Mrázek
66c2462c7e
Eliminate angle as double in SWIG wrapper
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13171
2022-12-16 18:55:21 +00:00
Seth Hillbrand
66e9d5c61c
Return reference rather than copy
...
No need to return a const copy by default in GetItems(). The const
reference will be faster. Thanks to @GyrosGeier for the suggestion
2022-12-16 10:52:57 -08:00
Jeff Young
12ea3e0822
Fix wxWidgets crankiness.
2022-12-16 00:53:53 +00:00
Jeff Young
7750d2e00e
Microvias always use separate uvia netclass properties.
...
There is no current microvia size/drill.
Fixes https://gitlab.com/kicad/code/kicad/issues/13176
2022-12-16 00:10:03 +00:00
Simon Richter
b5cb9eccbf
Generate dependency files from Swig
...
The wrapper is only rebuilt if one of the files that were parsed during
generation has changed.
2022-12-15 23:42:07 +00:00
Seth Hillbrand
e91c039ed3
Prevent event stackup when init pages
...
The paged book initialization (and others) can generate events,
re-laying out the whole dialog multiple times during initialization.
This halts events during the layout period
Fixes https://gitlab.com/kicad/code/kicad/issues/13158
2022-12-15 11:39:03 -08:00
Jeff Young
5327ea5823
Respect selectabiltiy when adding wholy-selected groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13092
2022-12-15 17:57:58 +00:00
Jeff Young
366cad1f01
Uniformly translate "<no net>" message.
2022-12-15 13:59:25 +00:00
jean-pierre charras
5a7982161d
python scripting: fix crash due to a null pointer use.
...
Fixes #13160
https://gitlab.com/kicad/code/kicad/issues/13160
2022-12-15 14:27:29 +01:00
Ian McInerney
034981ff9d
Add tooltip to add existing library button in pcbnew
2022-12-15 02:08:41 +00:00
Jeff Young
93879532f7
More wxTextCtrl minimum widths.
2022-12-14 23:23:41 +00:00
Seth Hillbrand
279edcefdc
Don't break tracks without snap
...
If the user asks to not snap to a track, we should also prevent the
track from snapping to the via
Fixes https://gitlab.com/kicad/code/kicad/issues/13142
2022-12-14 13:51:42 -08:00
Jeff Young
19a5a3ae16
Remove unused member variable.
2022-12-14 13:36:28 +00:00
Marek Roszko
2f8cc84551
Hotglue footprint to svg export
...
This needs additional work
2022-12-13 22:50:15 -05:00
Mike Williams
eb10d7d1d8
PCB Search: fix untranslated string
2022-12-13 16:35:15 -05:00
Mike Williams
5652eaea82
Search Pane: name net 0 as "No Net" with no class
...
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13148
2022-12-13 15:52:07 -05:00
Jeff Young
c0872364d4
Get rid of bloated bitmap buttons on wxWidgets 3.2.
2022-12-13 20:48:02 +00:00
jean-pierre charras
88038907fa
Pcbnew, graphic importer: do not import 0 length segments and smaller than 20 nm Bezier curves.
...
Degenerated Bezier curves (i.e. straight lines) are imported as segments.
They create issues in kicad because they are hard to edit and manage.
2022-12-13 20:23:40 +01:00
Jeff Young
d3228dbab2
Differentiate search panel font between Mac and others.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13145
2022-12-13 00:47:19 +00:00
Jeff Young
f24372bc18
Layout adjustments for wxWidgets 3.2.
2022-12-13 00:47:19 +00:00
Jeff Young
9d13e419c2
Reduce compiler warnings.
2022-12-13 00:47:19 +00:00
Seth Hillbrand
4fe35d0df1
More push/pop tool issues
...
We need to pop the move tool off when it doesn't find anything to act on
so that the pushed tools under it on the stack can re-activate
Fixes https://gitlab.com/kicad/code/kicad/issues/13114
2022-12-12 12:56:35 -08:00
Seth Hillbrand
2fd500e20b
Respect the "report all errors" checkbox
...
When we have objects spanning multiple layers, the user doesn't need to
see every layer/hole combination violation if they do not request it
(cherry picked from commit c07043e762
)
2022-12-12 11:14:38 -08:00
Jeff Young
6d73d9a08e
Split another couple of hairs in the never-ending "how big is a font".
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13009
Fixes https://gitlab.com/kicad/code/kicad/issues/13115
2022-12-12 17:37:17 +00:00
jean-pierre charras
96a9ec4a0c
Enhance compatibility with V6.0 for Intersheetrefs fields associated to GLOBAL labels.
...
In V6.0, the identifier is "Intersheet References" and was not immediately
seen as Intersheetrefs field.
2022-12-12 16:38:04 +01:00
Jeff Young
45eae3e594
Don't Simplify() polys with arcs in them.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13134
2022-12-12 12:54:34 +00:00
Alex
5e8227b54a
pcbnew: Support dragging arc center in "Keep endpoints" mode.
2022-12-12 13:00:44 +03:00
Alex
3eb31befed
Fix a delay when dragging arc endpoints in pcbnew.
2022-12-12 09:39:56 +03:00
Alex
da1e5a80a8
Restore removeCorner transition in PCB editor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13133
2022-12-12 07:04:20 +03:00
Marek Roszko
7e53663d5d
Add a bulk gerber export that's a wee bit smarter
2022-12-11 20:13:26 -05:00
Jeff Young
65538ccad4
Rename files and classes to match dialog name.
...
Also a bit of formatting cleanup.
2022-12-11 18:42:57 +00:00
Jeff Young
d27fb35780
A few more adjustments to wx 3.2 layout issues.
2022-12-11 14:12:35 +00:00
Jeff Young
4e47b5c25f
Fix some layout and selection issues on Mac.
...
Some of these are due to moving to wxWidgets 3.2, but I'm not sure
all of them are. In particular, the need for CallAfter() in the
search pane's selection handler is probably just a wxWidgets bug on
Mac (the control lies about the current selection inside the event
handler).
Also sets better column widths in the search pane.
2022-12-11 00:56:46 +00:00
Jeff Young
a7df573748
Clear bounding box caches *before* reverting commit.
...
We're going to re-add items to the view assuming they will have their
current locations, which requires the bounding boxes to be refreshed.
Fixes https://gitlab.com/kicad/code/kicad/issues/13084
2022-12-11 00:56:46 +00:00
jean-pierre charras
75f1067642
GRAPHICS_CLEANER: fix bad detection of short Bezier curves that can be cleaned
...
eda_shape: small enhancement: when generating a polyline from the Bezier curve,
filter the last point if the last segment is shorter than the given min lenght
2022-12-10 18:19:09 +01:00
Jeff Young
492e6548ff
If item is on mask layer then we won't call it again on copper layer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13075
2022-12-10 13:51:00 +00:00
Alex
b01d950071
Remove start pt when collinear with neighboring pts in zone/poly draw.
2022-12-10 06:21:54 +03:00
Alexander Dewing
02325130fa
Initial arm64 work
2022-12-09 23:48:31 +00:00
Yang sheng
aff5245041
Fix enum class DRILL_MARKS no export to python
2022-12-09 18:07:58 +00:00
Alex
b4b25a7009
Fix Pack & Move footprints when working with groups.
2022-12-09 20:42:35 +03:00
Alex
c1f82d0c80
Canceling Move cancels Pack too in Pack & Move footprints.
2022-12-09 20:41:56 +03:00
Alex
3d2b1aaf90
Improve H/V/45 deg mode when drawing zones and polygons.
2022-12-09 19:11:56 +03:00
Jon Evans
ad33515916
Properties: mask visibility for free text
2022-12-08 18:06:14 -05:00
Jon Evans
67df342255
Properties: mask irrelevant NPTH properties
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13087
2022-12-08 18:00:44 -05:00
Jon Evans
72939e8918
Properties: enable in PCB editor for everyone
...
Leaving the AC flag around for future use in the footprint editor etc
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2039
2022-12-08 17:38:36 -05:00
Mike Williams
0e75bf02fa
Selection: refactor modifier checking
2022-12-08 14:12:12 -05:00
Jon Evans
2b0d7f65d0
Properties: sync wxPGGlobalVars map state with editor global state
...
Thanks to @dsa-t for suggesting this
(maybe)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12297
2022-12-08 07:55:57 -05:00
Jon Evans
435651237c
Properties: Support overridden availability functions
2022-12-08 00:09:51 -05:00
Marek Roszko
2fc0cd68ed
Avoid crashing due to empty lib tables in cli
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13097
2022-12-07 23:56:03 -05:00
Jon Evans
33d76f63b0
Properties: save and restore splitter position
2022-12-07 21:38:33 -05:00
Alex
e03a91c9c7
Reduce static ratsnest opacity when moving items; tweak colors.
2022-12-07 21:01:56 +03:00
Alex
82874daf08
router: Limit the amount of move attempts in ROUTER::Finish
...
Otherwise auto-finish hangs in some cases.
2022-12-07 19:24:13 +03:00
Marek Roszko
aa537fe559
Change bezier curve iteration to be easier to read
...
Fix #https://gitlab.com/kicad/code/kicad/-/issues/11153 somewhat
2022-12-06 23:25:04 -05:00
qu1ck
25688eb75e
Include plotprint_opts.h in swig
2022-12-07 04:02:59 +00:00
Marek Roszko
24ca892afb
Update tinysplice to latest
...
A few years worth of bug fixes
2022-12-06 22:28:23 -05:00
Marek Roszko
61119fbf64
Poke a const to make gcc happy
2022-12-06 22:00:23 -05:00
Marek Roszko
c0b5fe58c3
Implement output targeting of symlib/fplib upgrade per request
2022-12-06 21:20:27 -05:00
jean-pierre charras
593dc9e8b6
Some fixes in Gerber job file:
...
- Ensure colors use a normalized value (normalized name or RnnGnnBnn notation).
- Better code.
2022-12-06 17:01:37 +01:00
Alex
008704fc6f
router: Allow highlighting both DP nets when routing.
2022-12-06 05:24:23 +03:00
Jon Evans
38a509e768
Properties: support bitmaps
2022-12-05 18:31:40 -05:00
Jeff Young
c771d866f5
Cleanup 3D caches before d'tors run.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10973
2022-12-05 22:39:09 +00:00
Seth Hillbrand
d8f94962ff
Prevent halting the main GUI thread
2022-12-05 11:10:57 -08:00
Alex
0089df8ca4
Update comment in zone filler.
2022-12-05 21:48:12 +03:00
Alex
c4aed1d941
Make sure that threads are not running after zone filling.
2022-12-05 21:36:59 +03:00
Alex
6d513e7ecf
Expose changing arc edit mode in arc button context menu and Preferences
...
Ctrl+Space can still be used to cycle through modes.
Fixes https://gitlab.com/kicad/code/kicad/issues/5412
2022-12-05 21:28:16 +03:00
jean-pierre charras
c3dddaf41f
panel_board_finish: mark board as modified when a finishing parameter is modified.
...
Fixes #13074
https://gitlab.com/kicad/code/kicad/issues/13074
2022-12-05 18:39:18 +01:00
Jeff Young
295ef6588d
Fix uninitialized variable.
2022-12-05 14:42:05 +00:00
Jeff Young
b7d41e0e56
Update simulator with NUMERIC_EVAL, decimal separator processing, etc.
...
Also includes fixes for instance data and resolving of textvar
references.
Also includes virtual d'tors for IBIS parser to get rid of all the
compile warnings on CLang.
Fixes https://gitlab.com/kicad/code/kicad/issues/12357
2022-12-05 12:40:29 +00:00
Alex
4482e9f634
Minor UI fixes.
2022-12-05 00:37:25 +03:00
Seth Hillbrand
47e7cd2e90
Don't allocate/delete a PG_UNIT_EDITOR unless needed
...
We cannot actually delete the PG_UNIT_EDITOR without substantial issues
from the global variables in wx.
2022-12-04 10:27:38 -08:00
Alex
90ad4dcc05
router: Various bugfixes in length tuning meandering
...
- When fine-tuning, keep adjust to the original baseline length
- Enforce a minimum amplitude based on settings, DP gap and track width
- Use binary search to fine-tune amplitude if the length is not trivial
- Account for inequalities in balancing
- Don't add the meander if adding it with min. amplitude will make the
tuning worse
- Keep a distance after meandering end to prevent overlaps in DP
Fixes https://gitlab.com/kicad/code/kicad/issues/9267
Fixes https://gitlab.com/kicad/code/kicad/issues/1776
2022-12-04 16:30:00 +00:00
Graham Keeth
ef83d01455
Minor string changes: "eeschema" / "pcbnew" in tooltips, and power port terminology
2022-12-04 14:29:57 +00:00
Jeff Young
f6822120b3
Enable tab and return commit in property grid.
2022-12-04 11:51:44 +00:00
Jeff Young
f805fd267f
Divorce UNIT_BINDER from wxFrame.
...
This allows us to supply Pcbnew or Eeschema as the unitsProvider when
called from the main frame.
Fixes https://gitlab.com/kicad/code/kicad/issues/13066
2022-12-04 11:51:44 +00:00
Jeff Young
96819f6c01
Better cache invalidation for text objects with references.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13059
2022-12-04 11:51:44 +00:00
Jeff Young
8c97a7b8c6
If fps contain complete board-edge holes then exclude those edges from main calc.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12921
2022-12-04 11:51:44 +00:00
Seth Hillbrand
92266635cc
Add an advanced config value for the minimum sliver
...
The hard coded value was too small for certain calculations. Better to
have a configurable value that is initially set to our error level to
allow for deviations that don't meet the visibility test for spikes.
These have become more apparent with Clipper2
2022-12-03 16:03:43 -08:00
Seth Hillbrand
b5bd633625
Strict-order points in connection_width
...
The connection width checker uses morton codes to order elements. The
sort should be primarily morton-based but needs to be stable in order to
ensure that nextZ/prevZ elements are properly placed as the actual
next/prev elements in the list. Otherwise, hitting a fracture point
might make us skip in the wrong direction
Fixes https://gitlab.com/kicad/code/kicad/issues/12831
2022-12-03 16:03:43 -08:00
jean-pierre charras
497b368006
Pcbnew menubar: View/Drawing Mode/Sketch Text Items and Skecth Graphic Items:
...
Handle the Checked/Unchecked bitmap symbols of these 2 submenus.
2022-12-03 11:03:14 +01:00
Jon Evans
4134db3c47
GCC fixes
2022-12-02 22:38:15 -05:00
Jon Evans
050d282c12
Properties: Hide some copper-only properties from non-copper zones
2022-12-02 21:59:17 -05:00
Jon Evans
a5f7ecbe00
Properties: support text knockout
2022-12-02 21:46:03 -05:00
Jon Evans
0bc06d506c
Properties: reselect after canceled move
2022-12-02 21:40:21 -05:00
Seth Hillbrand
f9a36b9c91
Update thread_pool to 3.3
...
Fixes an issue with `wait_for_tasks()` and adds a lower-overhead
`push_loop` helper. We replace our usage of `parallelize_loop` with
`push_loop` as we didn't use the multi-future vector return and don't
need the extra overhead.
2022-12-02 12:01:34 -08:00
jean-pierre charras
50d34e232b
pcbnew: fix a bug that crashes pcbnew on startup when running under gdb/msys2
2022-12-02 15:14:17 +01:00
Jeff Young
bba8a0826e
Clear caches before undo operation.
...
The undo will remove/re-add items to the view in order to update the
RTree. However, if we only clear caches at the end (in the OnModify
call), then the (stale) bbox caches are still used for the re-add
operation, and they end up at the wrong place in the RTree.
Fixes https://gitlab.com/kicad/code/kicad/issues/13048
2022-12-02 10:59:48 +00:00
jean-pierre charras
93c631af44
drawing_stackup_table_tool: fix incorrect color of dielectric sublayers.
...
when a dielectric has sublayers, the printed color was always the main layer color.
2022-12-02 10:41:20 +01:00
Jon Evans
73b3f28c25
Properties: mask layer property for items that can't set it
2022-12-01 22:22:29 -05:00
Jon Evans
ef3f2a8f1e
Properties: ignore shape props for textbox
2022-12-01 21:54:12 -05:00
Jon Evans
e0ff8ba09c
Fix normalize flags for wx3.1
2022-12-01 18:49:08 -05:00
Alex
e56064696b
router: Refactor m_padToDieLength out of meander placer base.
2022-12-02 01:03:34 +03:00
Jon Evans
3b25fdc212
Properties: Fix zones stomping on position props for other items
2022-12-01 16:55:12 -05:00
Jon Evans
6066ccdfd5
STEP: Normalize path to kicad-cli
...
Keeping the path relative messes up the logic that loads the DSO
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12728
2022-12-01 16:55:12 -05:00
Jeff Young
3501ad1b4d
Record layer for starved thermal exclusions.
2022-12-01 18:04:34 +00:00
Jeff Young
20791c99ac
Allow conversion of single track segments and vias.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13047
2022-12-01 17:15:29 +00:00
Alex
1aa05c0e10
router: Fix up single meander side switching.
2022-12-01 18:39:19 +03:00
jean-pierre charras
d7368588db
stackup manager: fix incorrect handling of colors for multi-layer dielectrics
...
The dialog allows a color selection for each dielectric layer.
However for a "dielectric" defined by more than one layer, the color was handled
only for the first layer, and not for the other sub-layers.
2022-12-01 16:19:13 +01:00
jean-pierre charras
c378d01068
code cleaning.
2022-12-01 16:01:38 +01:00
Jeff Young
6befa1c57e
A bit of cleanup to recent convert tool changes.
2022-12-01 14:53:13 +00:00
Jeff Young
4d8e73a630
Allow tracks as input to bounding hull generation.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13047
2022-12-01 14:53:13 +00:00
Jon Evans
757b73e50e
Hide some unusable zone properties
2022-11-30 23:36:53 -05:00
Alex
7dbdb68730
router: ADDED option to create single-sided meanders.
2022-11-30 20:39:02 +00:00
Seth Hillbrand
b31349b679
Get consistent point for gfx import
...
TopLeftItem() should always return same element for our import
Fixes https://gitlab.com/kicad/code/kicad/issues/13041
2022-11-30 12:25:34 -08:00
Seth Hillbrand
cf33f33899
Standardize placement tool modifiers
...
PlaceImage, PlaceImportedGraphics and PlaceText need to handle the grid
and hotpoint snapping as well as the modifiers to disable them
2022-11-30 10:57:42 -08:00
Jeff Young
3c4c4e5166
Remove shortened debug time from zone refill message.
...
Also adds a time-out for it.
2022-11-30 17:38:02 +00:00
Jeff Young
074c087c21
Allow disabling of grid snapping while placing imported image.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13040
2022-11-30 14:38:22 +00:00
Jeff Young
98ab078905
Remember conversion strategy.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13043
2022-11-30 14:29:16 +00:00
Mike Williams
17bb57cc73
PCB: fix stale ratsnest between moves in Move Individually
2022-11-30 09:11:37 -05:00
Jeff Young
03f79f512c
Nullptr safety.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12966
2022-11-30 14:02:22 +00:00
jean-pierre charras
6dc1c9b0b7
Step exporter: filter very small segments when exporting them.
...
very small segments create issues in step export.
Add also more messages and more controls.
Fixes #13038
https://gitlab.com/kicad/code/kicad/issues/13038
Fixes #12905
2022-11-30 14:56:02 +01:00
Jeff Young
8dbd6fee00
Go back to smaller chaining epsilon.
...
Using a large epsilon here to allow for sloppy drawing can cause
the algorithm to miss very short segments in a converted bezier.
So use an epsilon only large enough to cover for rouding errors in
the conversion.
Fixes https://gitlab.com/kicad/code/kicad/issues/12951
2022-11-30 13:26:45 +00:00
Jeff Young
19eab62516
More safety around ratsnest state.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13011
2022-11-30 13:00:21 +00:00
Jeff Young
9fa8b9e49f
Fix memory leak and re-code non-memory-leak so Coverity can understand it.
2022-11-30 13:00:20 +00:00
jean-pierre charras
ec4fd42bee
Pcbnew: force courtyard area shape rebuild afret rotation/flip.
...
Fixes #13039
https://gitlab.com/kicad/code/kicad/issues/13039
2022-11-30 09:07:32 +01:00
Alex
8c468dcffc
Use ecoords for distance comparison in PCB grid helper.
...
Fixes a bug where a cursor would jump to a far location while hovering
over some 45-degree tracks.
2022-11-30 08:18:19 +03:00
Seth Hillbrand
e4b7bc82be
Prevent UI events during footprint dialog ctor
...
Errors may get thrown when the 3d models are loaded for missing search
paths. This triggers the idle event that makes assumptions about the
state of the dialog. We halt event handling until the ctor finishes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12944
(cherry picked from commit be86e9f57f
)
2022-11-29 19:39:35 -08:00
Jon Evans
81ab8a0499
Properties: Move orientation to basic
2022-11-29 18:56:15 -05:00
Jon Evans
41ca2789a6
Get rid of shadowing warning
2022-11-29 18:12:39 -05:00
Seth Hillbrand
1a670f4673
Catch IO_ERROR thrown in timestamp gen
...
Missing nickname can throw when generating a timestamp, this should be
caught and prevent further work in the footprint loading (the entry does
not exist)
Fixes https://gitlab.com/kicad/code/kicad/issues/13029
2022-11-29 14:09:22 -08:00
Jeff Young
abd818a426
Update msgpanel after entering or exiting group.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13031
2022-11-29 21:33:04 +00:00
Jeff Young
31eb91e9e5
Infobar for slow zone auto-refill.
2022-11-29 21:09:16 +00:00
Seth Hillbrand
0ee7f8e2bd
Fix 436f95e02e
...
NanoSVG does handle opacity (thanks Mark) but the check needs to be
unsigned if we are comparing the resulting down-shifted value against
zero
Fixes https://gitlab.com/kicad/code/kicad/issues/13033
2022-11-29 11:21:16 -08:00
Seth Hillbrand
436f95e02e
Don't look for alpha in nanosvg color
...
Nanosvg colors are only RGB, so we will never get an alpha value here.
Fixes https://gitlab.com/kicad/code/kicad/issues/13033
2022-11-29 10:44:03 -08:00
Jeff Young
b6bd74d822
Replace single zone fill under "draft" terminology.
...
Also sets Autofill Zones to default to on.
2022-11-29 18:13:36 +00:00
Seth Hillbrand
5fc5a2132b
Fix Properties panel to reference the correct frame
...
The properties editors are global but the frame that they reference is
not static, so we need to be able to update the frame reference when
restarting pcb editor from the main window. This updates the frame,
being careful to remove the signalling when closing pcbnew but keeping
the instance of the editor in place.
Fixes https://gitlab.com/kicad/code/kicad/issues/12297
2022-11-29 09:24:41 -08:00
Mike Williams
ad6ef35c9f
PCB: Add skip action to Move Individually
2022-11-29 15:42:03 +00:00
Jeff Young
6d52601241
Update stale tooltip.
2022-11-29 15:21:20 +00:00
Jeff Young
b2177718a1
Tighten up refresh logic for net & netclass references.
...
Also tightens it up a bit for text variables which can reference things
like netnames and netclasses, but also board settings.
Fixes https://gitlab.com/kicad/code/kicad/issues/13032
2022-11-29 15:18:36 +00:00
Jeff Young
8260f0ee13
Add support for unitless values to PCB_EXPR_EVALUATOR.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13016
2022-11-29 14:24:20 +00:00
Marek Roszko
25d5defc10
Add cli for "fp" upgrade
2022-11-28 20:48:14 -05:00
Seth Hillbrand
bd40684ecd
Handle polygons' triangulation
...
Graphic polygons may be invalid and so need to be explicitly simplified
before triangulation.
Also clean up hole handling in triangulation routine
2022-11-28 15:46:12 -08:00
Jeff Young
8165fc6c44
Give up trying to infer what kind of polygon the user wants.
...
In many instances there are 3 valid answers: mimic linewidths, use
centerlines, and build a bounding hull.
Fixes https://gitlab.com/kicad/code/kicad/issues/12950
2022-11-28 22:12:53 +00:00
Seth Hillbrand
137b4de1c2
Allow groups in groups
...
This was allowed in the qa test, so we allow it going forward
2022-11-28 11:28:31 -08:00
Mike Williams
4a4fab78a3
PCB: allow swap while moving
2022-11-28 14:16:08 -05:00
Mike Williams
3042633f4a
PCB: block unroute and move individually when already moving
2022-11-28 14:16:08 -05:00
Seth Hillbrand
259e41be2d
Don't add non-groupable items to the group
...
Things like markers and netinfo should never get added to the group,
even if we are inside the group while adding the items
Fixes https://gitlab.com/kicad/code/kicad/issues/13026
2022-11-28 09:11:20 -08:00
Seth Hillbrand
d232ade752
Remove cloned items from groups
...
When destroying, the group must be null and there's no group purpose in
the DRC checks
2022-11-28 09:11:20 -08:00
Jeff Young
eb19e32b40
Performance optimization for pad drawing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12999
2022-11-28 13:20:12 +00:00
Jon Evans
b2b3f5752f
Properties: Add grouping and sorting by creation order
2022-11-27 22:40:23 -05:00
Jon Evans
64f315c649
Move properties panel to widgets with the other AUI panels
2022-11-27 22:40:23 -05:00
Seth Hillbrand
3460c50afa
Attempt to avoid double-free when shutting down on Windows
2022-11-27 16:21:06 -08:00
Jon Evans
5bbe21f540
Properties: don't rebuild the panel when closing an editor
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12984
2022-11-27 14:29:16 -05:00
Jeff Young
c0ab2258a4
Update LAYER_PAD_FR when F_Cu colour changes (and same for back).
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13012
2022-11-27 18:55:00 +00:00
Jeff Young
ec9c6a8053
Separate creation of polygons for open and closed shapes.
...
This allows us to create a bounding hull from an open shape-line-chain,
which is useful for defining milled slots.
2022-11-27 18:29:41 +00:00
Jeff Young
740e193871
Increase bounding box of stroke text and the leader box of all text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13009
2022-11-27 15:27:30 +00:00
Jeff Young
1e3186b9cb
Allow pad-to-copper-graphic collisions in net-ties.
...
This is done under the same conditions as track-to-copper-graphic --
the pad or track must also collide with a net-tie pad, and the pad or
track to copper-graphic collision must be within the boundary of said
pad.
Fixes https://gitlab.com/kicad/code/kicad/issues/13008
2022-11-26 15:04:33 +00:00
jean-pierre charras
3f50199dad
TEARDROP_MANAGER: fix a corner case that generate a invalid teardrop polygon.
...
Also add a better handling of connected tracks when searching for a track connected
to a too short track to create a teardrop, search was stopped to Y connections.
Now the selected track is the longest of these 2 candidates.
Fixes #13006
https://gitlab.com/kicad/code/kicad/issues/13006
2022-11-26 14:37:20 +01:00
Jeff Young
86d7638f10
Fix typo.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/13005
2022-11-26 10:45:07 +00:00
jean-pierre charras
b3559ae12c
Minor fix: make DIALOG_EXPORT_STEP_PROCESS_BASE correctly re-sizable.
2022-11-26 07:40:48 +01:00
Jon Evans
74a2e4cad9
Properties: Add support for zone connection style
2022-11-25 18:44:02 -05:00
Jon Evans
96fe93618e
Properties: Stop sorting by name
...
It's more useful to have properties shown in add order,
since we can group them
2022-11-25 16:29:56 -05:00
Jon Evans
611c19016f
Properties: add support for string escaping
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12975
2022-11-25 13:15:46 -05:00
Jon Evans
5061f0556f
Properties: implement ellipsization for name column
2022-11-25 12:37:47 -05:00
Jon Evans
220ef6fb44
Properties: Add some missing footprint properties; cleanup
...
Add concept of "internal" properties that will be accessible from
Python/DRC but not shown in the Properties Manager
2022-11-25 12:37:47 -05:00
Jeff Young
4aff5c7618
Keep courtyard caches alive during move.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12999
2022-11-25 17:20:11 +00:00
Simon Richter
fbc321c4c1
Fix initialization order
...
This avoids a conditional branch on an uninitialized value in valgrind.
2022-11-25 16:00:23 +00:00
Jon Evans
8c7691fbc3
Harmonize on "Manager" for now, since we use that in the docs
2022-11-25 09:13:23 -05:00
Jon Evans
bbea5b3fbc
Save and restore properties and search panel sizes
2022-11-25 09:11:30 -05:00
Jon Evans
308576b78d
Properties: Use parent footprint references instead of UUIDs
...
Also remove redundant Net Name property (Net is used)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12334
2022-11-24 22:40:45 -05:00
Jon Evans
11e784cf10
Properties: specialize layer setting for footprints
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12480
2022-11-24 22:11:26 -05:00
Jon Evans
88495e5be1
Properties: Fix masking of layers for non-copper items
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12884
2022-11-24 20:34:40 -05:00
Jon Evans
7a9467b0d5
Get rid of some gcc warnings
2022-11-24 17:05:58 -05:00
Jeff Young
32836da14b
Don't show annular rings controls for vias that span only a single layer.
2022-11-24 18:05:37 +00:00
Jeff Young
d6ae915616
Pay attention to layers when sorting pads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10143
2022-11-24 15:47:10 +00:00
Seth Hillbrand
47d86e5d9e
Don't crash when canceling graphics import
...
Grouped graphics need to have their group removed from the preview
before deleting the elements to avoid reading freed memory when
redrawing
2022-11-23 16:21:06 -08:00
Jeff Young
16db0440ba
Fix logic that was accidentally flipped in earlier commit.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12962
Fixes https://gitlab.com/kicad/code/kicad/issues/12969
2022-11-23 23:10:28 +00:00
Jeff Young
1aad2fb37b
Change via keep-start-end to be start/end, not top/bottom.
...
The implementation used to always check F_Cu and B_Cu, rather than
where the via started and ended (which will be different for blind/
buried vias and microvias).
2022-11-23 21:37:50 +00:00
Jeff Young
5de4bfde93
Move drilled NPTH holes to hole-clearance checking. Edge-clearance
...
checking is just for milled holes (slots).
Fixes https://gitlab.com/kicad/code/kicad/issues/12980
2022-11-23 13:31:51 +00:00
Jeff Young
e62463b52b
Don't store optimized anchors in CN_ITEMs.
...
It appears that multiple RN_NETs can refer to the same CN_ITEMs meaning
that we run into threading problems if we modify the CN_ITEM.
Fixes https://gitlab.com/kicad/code/kicad/issues/12968
2022-11-23 00:46:06 +00:00
Mike Williams
60d42a7b1e
Spelling: fix various suppress misspellings
2022-11-22 13:47:10 -05:00
Jeff Young
b42d5da07d
Check keepTopBottom when determining whether or not to flash a pad/via.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12961
2022-11-22 18:18:43 +00:00
Jeff Young
8b1ffca7fa
Better reporting of nets and netclasses.
2022-11-22 14:54:08 +00:00
Jeff Young
97fd99ec99
Re-resolve netclasses after assigning netclass to pattern.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12965
2022-11-22 14:54:08 +00:00
Seth Hillbrand
9403b5ce99
Unescape strings in search panel
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12963
2022-11-22 05:51:31 -08:00
Jeff Young
50089ce558
Fix errors in handling of std::shared_ptrs.
...
We can't reset to a pointer owned by another std::shared_ptr.
2022-11-22 13:14:00 +00:00
Jeff Young
226529235c
Mostly const safety, but also performance opt. by avoiding shared_ptr overhead.
2022-11-22 12:21:30 +00:00
Seth Hillbrand
740dbdf09a
De-initialize propertygrid when done
...
There doesn't appear to be a nice way to de-register wxPropertyGrids, so
we need to reach into the singleton and remove our registered editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/12297
2022-11-21 16:36:00 -08:00
Seth Hillbrand
0e818360c4
Unescape netnames in search panel
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12960
2022-11-21 15:47:14 -08:00
Seth Hillbrand
50ecb5b498
Remove errant printf
2022-11-21 15:19:45 -08:00
Jeff Young
11130bfd88
Backing out earlier fix in favour of fixing std::shared_ptr usage.
...
Assigning to a reference to a std::shared_ptr does not update the
reference to a different std::shared_ptr; it changes what the
std::shared_ptr points to.
Fixes https://gitlab.com/kicad/code/kicad/issues/12968
2022-11-21 21:56:17 +00:00
Jeff Young
106508f266
Split ratsnest optimization into separate parallel threads.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12968
2022-11-21 18:50:44 +00:00
Seth Hillbrand
3b31955d98
Get hit test in group members
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12957
2022-11-21 09:28:49 -08:00
Seth Hillbrand
01138a2e19
Fix fillet action for lines
...
Generalize fillet action behavior to all straight lines in pcbnew
Fixes https://gitlab.com/kicad/code/kicad/issues/4742
2022-11-21 07:01:14 -08:00
Jeff Young
c1510f07d8
Fix some issues with group bounding boxes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12958
2022-11-20 23:57:36 +00:00
Jeff Young
0120df014e
Give group the right parent when pasting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12954
2022-11-20 22:52:06 +00:00
Alex
12a55f20d3
Fix a mistake in grip margin.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12952
2022-11-21 00:25:19 +05:00
Alex
dd2f19ca5f
Allow router cursor snapping to points on the arc.
...
Also don't disable grid snapping when holding Shift over arcs.
2022-11-20 16:56:25 +05:00
Alex
110bc6abd1
Fix router cursor glitching on H/V track segments.
...
Also don't disable grid snapping when holding Shift over tracks.
2022-11-20 16:56:25 +05:00
Kliment
c5fe265eb4
Take axis inversion into account when importing graphics. Fixes #9351 .
2022-11-19 17:25:27 +01:00
Jeff Young
9b2606018e
Fix shadowed variable.
2022-11-19 11:53:33 +00:00
Jeff Young
bab2b6c4b6
Don't assume a 1:1 map between Altium and Kicad nets.
...
We've found at least one Altium board which has duplicate netcodes
for the same net.
Fixes https://gitlab.com/kicad/code/kicad/issues/12909
2022-11-19 11:53:33 +00:00
Jeff Young
b82ec9595a
Allow board importing into project.
2022-11-19 11:53:33 +00:00
jean-pierre charras
035031d902
BOARD_CONNECTED_ITEM::GetShortNetname(): protect against nullptr.
...
m_netinfo was not tested against nullptr in this method, although it is
tested in all other places.
2022-11-19 11:16:47 +01:00
jean-pierre charras
9f0c03db94
Export STEP dialog: Fix outdated text (virtual components). Replaced by
...
"not mounted components" and added a tooltip.
No actual code change.
Fixes #12922
https://gitlab.com/kicad/code/kicad/issues/12922
2022-11-19 09:31:37 +01:00
Alex
126d224e44
array_creator: Transform item before adding, modify only the first one.
2022-11-19 04:07:35 +05:00
Jeff Young
11dddefd05
Implement GetEffectiveShape for groups.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12940
2022-11-18 21:13:23 +00:00
Alex
38fd1c9985
pcbnew: Improve performance when something is selected.
2022-11-19 01:53:30 +05:00
Jeff Young
c409646aad
Update message panel after rebuilding connectivity.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10122
2022-11-18 15:29:16 +00:00
Tomasz Wlostowski
24c271d508
router: GetUpdatedItems() now returns an unique_ptr to the temporary NODE so that the items it owns do not get deleted upon return from the method
2022-11-18 15:14:33 +01:00
Tomasz Wlostowski
644c76b9c6
router: follow up via force propagation interface changes in the via DRAGGER
2022-11-18 15:14:09 +01:00
Tomasz Wlostowski
dcfb35f002
router: more resilient via force propagation
2022-11-18 15:14:09 +01:00
jean-pierre charras
3960f48b5d
Fix a fatal compil error on gcc.
2022-11-17 08:39:42 +01:00
Jeff Young
bba6d503d4
Don't keep value of user or grid anchors between invocations.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12065
2022-11-17 00:51:52 +00:00
Alex
5e7c4b734c
Small optimizations in DRC and SHAPE_POLY_SET.
2022-11-17 02:10:22 +05:00
Alex
3dea146488
router: Clear rule resolver caches on routing/dragging start.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12907
2022-11-17 02:10:21 +05:00
Alex
3f790d9dae
Revert "router: Disable writing clearance cache for items in local variables."
...
This reverts commit 6d71f27500
.
Caused a performance drop in walkaround mode.
2022-11-17 02:10:20 +05:00
Jeff Young
cefc5268ab
Allow pads in selection and filter them for free-pads later.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12912
2022-11-16 18:37:40 +00:00
Alex
6d71f27500
router: Disable writing clearance cache for items in local variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12907
2022-11-16 21:19:56 +05:00
Jeff Young
1b3f03a800
Don't feed wxWidgets negative column widths.
2022-11-16 13:33:55 +00:00
Jeff Young
13f5c78e89
More tightening of group parent lifecycles.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12908
2022-11-16 00:42:38 +00:00
Tomasz Wlostowski
26a38797c7
router: log and replay the 'unfix' events too
2022-11-15 23:05:53 +01:00
Tomasz Wlostowski
b507c44d74
router: fix regression in Backspace (unfix/undo last segment) caused by redesign of the line placement algo
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12835
2022-11-15 23:05:53 +01:00
Alex
f9bfb8534f
Fix orientation of track netnames.
2022-11-16 00:43:06 +05:00
Jeff Young
5759a3a10a
Fix copy/pasta from previous commit.
2022-11-15 16:01:24 +00:00
jean-pierre charras
f13ffa8276
Step export: fix incorrect export of a pcb with multiple main outlines.
...
The code was existing but did not work fine with more than one outline
Fixes #6684
https://gitlab.com/kicad/code/kicad/issues/6684
2022-11-15 16:37:00 +01:00
Jeff Young
9724f6e736
Don't allow zone filling during other editing operations.
...
It's a very heavy op, and is likely to violate all manner of
assumptions the other ops make.
Fixes https://gitlab.com/kicad/code/kicad/issues/12736
2022-11-14 23:39:49 +00:00
Jeff Young
93c6d99a6d
Move saving preferences out of the destructor.
...
For other reasons we wrap the adapters in a wxDataObject, which has
delayed destruction semantics, but that means the settings stuff may
no longer be around when the d'tor executes.
Fixes https://gitlab.com/kicad/code/kicad/issues/12371
2022-11-14 20:01:37 +00:00
Jeff Young
bc0a753238
Slight improvement to overly-wide checkbox columns.
2022-11-14 20:01:37 +00:00
Marek Roszko
e85a84b8a3
Fix the step export for now
...
Need to fix argparse to handle single quotes and double quotes better
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12899
2022-11-14 07:31:23 -05:00
jean-pierre charras
f51db4e093
Fix some Coverity and compil warnings.
2022-11-14 09:02:40 +01:00
Marek Roszko
50dcf258e6
Adjust the position file comment header
2022-11-13 18:43:49 -05:00
Marek Roszko
d3606cb4e4
Fix position export job not running
2022-11-13 18:42:23 -05:00
Jeff Young
f4944f0db3
Quiet clang getting its knickers in a knot over case fallthroughs.
2022-11-13 23:01:48 +00:00
Jeff Young
9d8fdd8d53
Fire selection events from SelectAll().
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12896
2022-11-13 22:59:21 +00:00
Marek Roszko
cedef5912e
Link to zlib for pcbnew due to step
2022-11-13 17:58:41 -05:00
Alex
126914859a
Use correct pad to die lengths in DP length tuner.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12859
2022-11-13 21:07:09 +00:00
Marek Roszko
ea83449ef7
Change up the step export arg handling to single quote for now
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12890
2022-11-13 11:49:20 -05:00
Marek Roszko
0a8db3bb88
Fix forgotten handling of origin offsets
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12889
2022-11-13 09:22:59 -05:00
Jeff Young
7089e99f4b
Integrate move individually into move algo so other commands don't choke.
...
Also adds commands to cancel and finish move individually.
Fixes https://gitlab.com/kicad/code/kicad/issues/12750
Fixes https://gitlab.com/kicad/code/kicad/issues/12749
2022-11-13 13:18:42 +00:00
Jeff Young
365674dfdf
Footprints in the footprint editor can't be in a group.
2022-11-13 13:18:42 +00:00
Jeff Young
6a9a1e6e65
Print hole walls if in colour (and printing real drill sizes).
2022-11-13 13:18:42 +00:00
jean-pierre charras
49ff3513e7
Add missing lib (libz) in lib list to link on msys2
2022-11-13 09:29:48 +01:00
jean-pierre charras
9c5fbdb040
Fix compatibility with OCC version 7.4 and older
2022-11-13 08:18:10 +01:00
Marek Roszko
066a609b39
Cleanup warnings in the step exporter
2022-11-12 21:52:54 -05:00
Marek Roszko
3dd2ae762d
Refactor step export to use our normal board processing routines
2022-11-12 21:27:10 -05:00
jean-pierre charras
248181e62d
Fix Coverity and compil warnings.
2022-11-12 16:02:24 +01:00
jean-pierre charras
90238dede8
PCBNEW_PRINTOUT: fix incorrect size of holes printed with the "small drill" option
...
Fixes #12880
https://gitlab.com/kicad/code/kicad/issues/12880
2022-11-12 16:02:24 +01:00
jean-pierre charras
31bad5baaa
Avoid duplicating similar options in print and plot headers
2022-11-12 16:02:24 +01:00
Alex
348c3d4216
Fix an incorrect calculation in length tuning tools.
...
MEANDER_PLACER_BASE::lineLength wasn't calculating the length correctly
when starting and ending pads were on different layers.
Naturally, now jointA corresponds to the start of the path, jointB to the end.
Fixes https://gitlab.com/kicad/code/kicad/issues/12881
2022-11-12 13:11:27 +00:00
Jeff Young
d9987e9569
Orig_items will have been invalidated by Revert.
...
Don't use it to rebuild the selection. Use the board_item flags instead.
Fixes https://gitlab.com/kicad/code/kicad/issues/12882
2022-11-11 22:57:38 +00:00
Jeff Young
138f835672
Retire group bbox cache.
...
It's too hard to maintain when changes to other items (the groups
members) affect it.
2022-11-11 20:31:31 +00:00
Jeff Young
3fc727bb91
Clear selection before deleting objects during conversion.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12879
2022-11-11 17:53:01 +00:00
Jeff Young
03ba14c6d3
Tighten lifecycle management of parent group pointers.
...
Also adds some debugging to try to catch dangling pointers.
Also adds a cache for group bounding boxes (which will be expensive
to calculate for large groups).
Fixes https://gitlab.com/kicad/code/kicad/issues/12875
2022-11-11 17:27:28 +00:00
Alex
0b4fc8f50d
Fix bugs in PCB arc editing.
2022-11-11 15:00:36 +05:00
Alex
46d4861187
Use the 45-degree limit button to apply alternative constraint.
2022-11-11 15:00:36 +05:00
Alex
8b0f3f1ee7
Set keeping the center as the default arc editing mode.
2022-11-11 15:00:36 +05:00
Jeff Young
f846bc833b
Don't error out when enumeration of footprints fails.
...
We still want to load the ones that did enumerate.
Fixes https://gitlab.com/kicad/code/kicad/issues/12864
2022-11-10 13:48:04 +00:00
Jeff Young
36eb853570
Formatting.
2022-11-10 13:48:04 +00:00
Jeff Young
3e3ed0f3ee
Formatting and naming. (No functional changes.)
2022-11-09 16:31:29 +00:00
Jeff Young
da171b9665
0,0 origin isn't an option we give to the user.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12324
2022-11-09 16:20:52 +00:00
Jeff Young
3f63f9fc57
Don't prune inner layers of through-hole parts.
...
For historical reasons we've always included ALL inner layers in these
items and changing that has uncovered several latent bugs. Rather
than find all the rest this late in the game, I went back to storing
all inner layers, even those the board doesn't currently have.
Fixes https://gitlab.com/kicad/code/kicad/issues/12863
2022-11-09 15:58:14 +00:00
Jeff Young
63f937db85
Don't use drag origin for real drag events.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12763
2022-11-09 13:09:31 +00:00
Jeff Young
4066850f37
Use event point to determine if we're still in draggable item.
2022-11-09 13:09:01 +00:00
jean-pierre charras
85e44c2dae
pcbnew, SVG import: fix an issue for SVG files using a CR+LF end of file
...
The issue was in a validity test working only if CR+LF is not replaced by LF
Fixes #10096
https://gitlab.com/kicad/code/kicad/issues/10096
2022-11-09 09:33:51 +01:00
Seth Hillbrand
8b7d997a6d
Fix broken refactor
...
Don't trust the automatic refactor. It misses the strangest things
2022-11-08 20:30:30 -08:00
Seth Hillbrand
39774463db
Remove extra line
2022-11-08 16:35:03 -08:00
Jeff Young
2ada7db282
Update footprint editor's board with changed prefs.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12678
2022-11-09 00:30:39 +00:00
Seth Hillbrand
056f45cd70
Fixup most intersecting polygon points
...
Remaining is the intersecting complex pad, so this keeps the error
message when drawing
Fixes https://gitlab.com/kicad/code/kicad/issues/12806
2022-11-08 16:05:04 -08:00
Jeff Young
2cfe78170c
Honour selection filter when picking move anchors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12773
2022-11-08 16:27:18 +00:00
Jeff Young
1d7c5dce70
Don't attempt to write zone-connection-layers to footprint library.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12857
2022-11-08 12:13:15 +00:00
jean-pierre charras
9501f4303d
Rename CreateWindow to CreateKiWindow to avoid a collision name with a windows header
...
No code change, but it fix an issue specific to msys2 that bother me when
trying to fix issues with wx 3.0.x version
2022-11-08 12:31:07 +01:00
jean-pierre charras
cb3d215b6a
Fix compil and Coverity warnings.
2022-11-08 11:53:13 +01:00
Marek Roszko
d8e9436d92
Fix step export not resolving variables
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12754
2022-11-07 23:21:48 -05:00
Marek Roszko
cd30da179a
Round out the cli with position file export
2022-11-07 19:53:35 -05:00
Jeff Young
be8bbcaac3
Send Selected event even if the result is an empty selection.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12849
2022-11-07 19:47:51 +00:00
Jeff Young
b5f62da5d9
Respect synthetic layer visibility when selecting footprint texts.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12850
2022-11-07 19:26:14 +00:00
Jeff Young
ae741b93e6
Resore push/pop-less PickerTool.
...
(Functionality was accidentallly lost when we removed the opt command
strings.)
2022-11-07 19:11:12 +00:00
dsa-t
0b3ecdd968
Revert "Fix handling of self-intersecting polygons"
...
This reverts commit ed309e20da
2022-11-07 09:41:56 +00:00
jean-pierre charras
dc6fcc262c
Pcbnew : allows overwriting viewport with same name in appearance manager.
...
Fixes #12765
https://gitlab.com/kicad/code/kicad/issues/12765
2022-11-07 09:11:49 +01:00
Jeff Young
be29ab2c76
Need to check enabled as well as visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12786
2022-11-06 19:53:57 +00:00
Jeff Young
396e220133
Non-visible layers are stored in the GPU so still have to be drawn.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12792
2022-11-06 17:37:29 +00:00
Jon Evans
dd94b2d3a7
Rename PROPERTIES to STRING_UTF8_MAP for clarity
...
This class has nothing to do with the properties system
2022-11-06 11:51:52 -05:00
Jon Evans
68de92313e
Properties: move to custom editor for distances; refactoring
...
Also fix display of angle values since EDA_ANGLE was introduced
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12290
2022-11-06 11:40:45 -05:00
Jeff Young
90c5295a9f
Fix builds on non-Macs.
2022-11-06 15:07:38 +00:00
Jeff Young
f706ac06b8
Code cleanup.
2022-11-06 11:17:54 +00:00
Jeff Young
b385a4b60a
Implement DarkMode for the Appearances Palette.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11734
2022-11-06 00:34:45 +00:00
Jeff Young
a03799c61e
Don't mark collisions on dragged items, only things they collide with.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8965
2022-11-05 21:54:33 +00:00
Jeff Young
bb618f2d55
Update pointEditor after cancelled move.
2022-11-05 16:50:54 +00:00
Jeff Young
25f06eed8c
Move zone borders back to their "host" layer.
...
Zone borders shouldn't be affected by zone-opacity control; we always
draw them in full layer opacity.
Fixes https://gitlab.com/kicad/code/kicad/issues/12438
2022-11-05 16:50:54 +00:00
Jeff Young
0883c0ae64
Remove shadow member variable.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12830
2022-11-05 16:50:54 +00:00