386 Commits

Author SHA1 Message Date
jean-pierre charras
da92279436 Pcbnew: add pad fabrication property Press-Fit
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21457
2025-08-11 15:59:19 +02:00
Jeff Young
60dbfd3eec Don't show locked shadow in pad preview. 2025-08-08 13:54:26 +01:00
Seth Hillbrand
f875fd1d60 Add support for chamfering larger sizes
If we are only chamfering opposite corners, we can support up to 100%
chamfer

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13567
2025-07-26 10:33:36 -07:00
Jeff Young
d2a623719b Be consistent about getting board copper layers. 2025-07-09 13:05:22 +01:00
Jeff Young
ee2cf47f23 CHANGED: Use FILTER_COMBOBOX for label names.
Also pushes some of the implementation down a level
so that it can be shared between this and the
SYMBOL_FILTER_COMBOBOX.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20943
2025-06-04 17:49:17 +01:00
Jeff Young
f58fc0b952 Rewrite GROUP undo based on uuids.
This also removes the GROUP/UNGROUP-specific undo actions.

This also fixes a bunch of undo bugs when duplicating
group members, creating pins, etc.

This also fixes some undo bugs when dividing wires etc.

This also fixes some bugs with new sch items not
being created within an entered group.
2025-05-21 14:24:59 +01:00
Jeff Young
2b33a03954 Make Edit Text & Graphics dialogs more similar.
Also a bunch of cleanup for dialog heading
format and info sizes.

Also fixups for consistency of syntax help
(should be a link, not a button)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20790
2025-04-27 17:34:18 +01:00
jean-pierre charras
1af76a9bef Pad properties dlg: Clearing thermal relief override (gap/spoke) does not work
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20709
2025-04-20 11:05:21 +02:00
JamesJCode
eb17ebee4e Implement time-domain length tuning
- Adds time and delay units
- Adds time domain tuning parameters entry and storage
- Adds pad-to-die delay property
- Adds time domain parameter interface for length / delay calculations
- Adds unit tracking for numerical constants through LIBEVAL
   - Will need future work to truly propagate through binary expressions
- Adds time domain tuning to meander placers
- Adds time delay display to net inspector panel
- Modifies DRC to handle time domain constraints
2025-04-17 21:46:56 +01:00
Jeff Young
559a966ef7 Yet another static line issue. 2025-03-02 18:43:09 +00:00
Jeff Young
7d9dd50b08 Remove extra divider from Pad Properties. 2025-03-02 17:28:44 +00:00
Jeff Young
dc12fdfc33 Remove extra divider from Pad Properties. 2025-03-02 17:25:44 +00:00
Jeff Young
dd7c076bc9 Use std::optional for pad connection overrides.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19555
2025-01-09 17:32:05 +00:00
Jon Evans
018af2b6cd Pad properties: Update props book after changing edit layer
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19529
2025-01-07 21:45:58 -05:00
Jeff Young
c2818dcb29 Disable pad-hole-not-fully-inside-copper for board-level testing.
Also fixes the error string for it.
2025-01-07 14:50:16 +00:00
Seth Hillbrand
0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
John Beard
e9f8b2ba77 Pcbnew: apply same IPC rule in properties panel as in dialog
This means when you switch a pad to be roundable (round rect or
chamfered-with-round), you get the same behaviour as in the dialog
(and an IPC-compliant pad by default).

Also fixes the radius visibility in the properties panel for
chamfered pads (which can have radii).
2025-01-02 00:42:31 +08:00
Jeff Young
1cf569b0be Firebomb teardrop curve points.
See 17b0dabec364d24bab4333a9ad15cfefd852728e for the start.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19403
2024-12-28 22:38:51 +00:00
Jon Evans
5832fa0982 Remove redundant change to padstack mode 2024-11-09 15:02:19 -05:00
Jon Evans
59f7615fbd Expose padstack settings in via properties dialog
Behind a flag because this feature may not
stabilize before V9
2024-11-02 10:02:29 -04:00
John Beard
a090b86b87 Separate generic aspects of NET_SELECTOR_COMBOPOPUP
Lots of this class is reusable, and it's a fiddly one
that can be useful elsewhere.
2024-10-27 05:13:32 +08:00
Jon Evans
df0de2b059 Expose padstack editing in Pad Properties dialog 2024-10-05 23:23:44 -04:00
Jon Evans
56e0811516 Phase 2 of padstack support
CHANGED: PCB file format now supports saving/loading complex padstacks

CHANGED: PTH pads are now rendered per copper layer in the copper color;
         the PTH pad color is no longer used.

ADDED: support for importing complex pad stacks from Altium PCBs

Enforce padstack-aware access to pad properties across KiCad

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8182
2024-10-01 19:55:03 -04:00
John Beard
215533f31a Unify flip direction handling
There was a gentle mish-mash of booleans, some with
true being left/right and some up/down, and some functions that
can flip in both axes (which is never actually done, and doesn't
really make geometric sense).

Replace all this with the FLIP_DIRECTION enum class, which makes
the intention completely unambiguous.

This also then allows a small scattering of simplifications,
because everything takes the same type and you don't have to
fiddle booleans to fit.
2024-09-27 17:13:13 +01:00
Jeff Young
014a2a49e1 Make dialog modified state work in Pad Properties. 2024-08-11 12:45:36 -06:00
Seth Hillbrand
17b0dabec3 Remove the now unused curve-point count
With the refactor of the bezier lib, we no longer base the curve on the
number of points but rather on the error allowed.  The parameter was
vestigal and had no effect on output
2024-07-10 11:19:09 -07:00
jean-pierre charras
30dd8224be Fp editor, DIALOG_PAD_PROPERTIES: fix crash if no footprint loaded.
Fix also a incorrect pad stack for SMD pad in some cases.
2024-06-30 10:43:10 +02:00
Jeff Young
15d4e114e0 Move pad checking to Footprint Checker.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18102
2024-05-29 15:25:49 +01:00
Jon Evans
e16130a02c Move pad and via properties into PADSTACK 2024-05-14 20:57:56 -04:00
Jon Evans
c800fb790d Start unifying padstack properties 2024-05-14 20:57:56 -04:00
Seth Hillbrand
a835ba0715 Add "Mechanical" pad property
Prevents mechanical support pads from being used to check pad types.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16747
2024-05-05 21:57:10 +00:00
Jon Evans
0c835b7c30 Get rid of relative position in pad properties dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17246


(cherry picked from commit 09736ebf2ccc3fbd62a4d9e4e5543449101ecd4c)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2024-05-04 03:32:29 +00:00
Jeff Young
1bf24da385 Schematic editor Table Properties and commenting for QuasiModal usage. 2024-03-10 12:18:50 +00:00
jean-pierre charras
d81605f4ea DIALOG_PAD_PROPERTIES: fix a incorrect test to show a warning. 2024-03-02 17:16:27 +01:00
Jan Wichmann
1297ddc88d pcbnew: Added default master pad properties
CHANGED: Automatically selects the right pad type for the footprint type. Resets the pad properties if the master pad properties do not match the pad type.

https://gitlab.com/kicad/code/kicad/-/issues/16563
2024-03-02 00:13:39 +00:00
Jeff Young
fa0ead98d8 Split out table editing and table cell editing. 2024-02-24 20:05:51 +00:00
Jeff Young
ee3be0802c Move PCBNew overrides to nullable properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5562
2024-02-24 20:05:51 +00:00
Ian McInerney
d3befd8bb8 Remove dummy items from group before they are deleted
Board items should not be in a group when they are deleted, but these
are dummy ones, so their group membership doesn't matter.

Fixes KICAD-7P0
Fixes KICAD-6VX
Fixes KICAD-7KK
Fixes KICAD-6VH
2024-02-16 12:20:00 +00:00
Jeff Young
86edba9eb8 Make teardrop images international, and unify terminology.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16154
2023-11-28 13:56:41 +00:00
Wayne Stambaugh
98cae68ea5 Fix pad properties dialog control updating.
This fixes an issue (at least on GTK builds) where the hidden controls
that change when selecting a different pad type and or pad shape get
shown are not laid out correctly.
2023-10-26 13:36:32 -04:00
Jeff Young
bf4529c1b5 Remember last tab for Pad Properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15925
2023-10-23 14:13:49 +01:00
Jon Evans
eb5b3db063 Add bitmap bundle support to BITMAP_SCALE
Change a bunch of buttons and toolbars to use it

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Marek Roszko
f8e33be07f Break out the boundary violating parts of gal into common through subclassing 2023-09-23 09:37:47 -04:00
Marek Roszko
22b733209d Fail GAL on its header leaking audit
Maybe we should rethink directly accessing GAL so much, but at least 600 files didn't need GAL leaked into them due to view_overlay.h
2023-09-18 19:52:27 -04:00
Jeff Young
31c88d1bcb Don't show cursor or grid axes in pad preview; do show the pad anchor axes.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15631
2023-09-13 23:34:25 +01:00
jean-pierre charras
cbcaaa001c fix some Coverity and compil warnings. 2023-09-05 20:30:08 +02:00
Jeff Young
7c718db5d2 Remove dialog-based primitive editing in favour of Pad Edit Mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13561
2023-09-04 20:49:52 +01:00
Jeff Young
60419f542a Bug fixes for paste margins on custom-shaped pads.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15125
2023-09-03 20:43:48 +01:00
Jeff Young
68c839b214 Stop trying to zero-out offset of custom-shaped pads.
It causes *way* to many issues.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15555
2023-09-01 18:48:46 +01:00
jean-pierre charras
d8ba6c07ac Pcbnew, DIALOG_PAD_PROPERTIES: ensure the right spoke angle is displayed.
Previously it was sometimes the default value, not the initial value when
opening the dialog.
Fixes #15410
https://gitlab.com/kicad/code/kicad/-/issues/15410
2023-08-14 17:56:16 +02:00