49743 Commits

Author SHA1 Message Date
Jeff Young
1f44417ad0 Attempt to improve ever-growing-window problems. 2025-09-01 11:45:20 +01:00
jean-pierre charras
5b31b11731 SHAPE_RECT: add Normalize method to assure width or height > 0
ROUNDRECT: add option to normalize the rectangle on creation

if the created rectangle has a negative size(width or height) there are issues
when drawing it.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21613
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21610
2025-09-01 11:56:56 +02:00
Adrián García
5fb55ccb30 jobsets: fix Replace button to overwrite existing files (#19900) 2025-09-01 01:13:23 +00:00
Seth Hillbrand
2eb7ba2fb9 Simplify overlapping points after editing
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21571
2025-08-31 17:48:59 -07:00
Seth Hillbrand
2c4d792358 Stop converging at existing point
Prevents collapsing points into drag element when hitting convergence
2025-08-31 17:48:59 -07:00
Seth Hillbrand
77a2330a33 Fix QA result based on updated behavior 2025-08-31 15:52:38 -07:00
Seth Hillbrand
7b4f4540b4 ADDED: Light snapping to 45° multiples
When modifying the points of a polygon, we add a small snap to the
points preferring multiples of 45° unless you are holding shift

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15709
2025-08-31 13:47:34 -07:00
Seth Hillbrand
1885f4bdee When re-launching on MacOS, create a new instance
Allows people to run multiple copies of KiCad.  Only launches new copies
if the TLW is already shown.  Otherwise, sticks with the default MacOS
behavior of raising the running window
2025-08-31 12:54:55 -07:00
Seth Hillbrand
eba8d0748c Don't show angles for non-polygons 2025-08-31 12:54:38 -07:00
Seth Hillbrand
f5904cf2ac Prevent main KiCad window from expanding based on DPI events
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21602
2025-08-31 11:54:53 -07:00
Seth Hillbrand
bbc762a546 ADDED: Angle preview for polygon mod
Shows angle for the current and adjacent corners and whether they are
congruent
2025-08-31 11:49:41 -07:00
Seth Hillbrand
c6c8e19e39 The smallest angle between two segments is 0-180
Not 0-90.  Subtracting 180-angle and then taking the smaller of angle
and 180-angle will always get you 90 or less.  But obtuse angles are not
< 90
2025-08-31 11:49:41 -07:00
Jeff Young
1309b436da Allow stitching of graphic shapes. 2025-08-31 19:32:48 +01:00
Jeff Young
c47b7459aa Set free vias to graphic net if available.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21578
2025-08-31 19:21:29 +01:00
Jeff Young
a2e98fb53c Don't set point to a value we're not going to keep.
It just causes flicker.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19947
2025-08-31 17:13:11 +01:00
Seth Hillbrand
2321285c16 Maybe don't need eary exit here 2025-08-31 08:11:44 -07:00
Seth Hillbrand
2cdeb0cd7c Second pass at fixing warping and grids
First attempt caused additional problems for #21535

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18196
2025-08-31 07:54:21 -07:00
Seth Hillbrand
4af585c531 Revert "Remove the forced ancillary grid"
This reverts commit 29dc45d584a882866f2f3f27a7257481043ecc84.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21535
2025-08-31 07:54:12 -07:00
Seth Hillbrand
8c6f057f6c Re-organize points to allow missing radius
Not all rectangles want/need the radius point, but we will only be able
to drag one point at a time.  So we re-organize which point of an
overlapping set is selected

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21605
2025-08-31 07:10:14 -07:00
Jeff Young
9d7db3d135 Better interactive feedback.
Don't wait for mouse to move before refreshing after a command.

Also fixes a crash bug deleting an item after an
Unstage() (the Unstage() has already deleted the item).

Also fixes a crash when changing label type during
creation of a label produces a mess.

Also Keep cursor aligned to grid when not warping
back to original point.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16828
2025-08-31 14:25:52 +01:00
Seth Hillbrand
b22f259ccb Make properties panel obey free pads setting
Pads should almost never be moved without their parent.  Only allow this
in the case where free pads has explicitly been checked

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21591
2025-08-31 06:08:27 -07:00
Seth Hillbrand
b86cddbbe9 Fix RRECT handling in processClosedShape 2025-08-31 05:43:59 -07:00
Seth Hillbrand
053c46aa72 Add last point in 3d export 2025-08-31 05:29:37 -07:00
jean-pierre charras
4610a49323 Fix round rect shape STEP export.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21599
2025-08-31 12:43:40 +02:00
jean-pierre charras
68f9b74ae9 SHAPE RECTANGLE: fix hatching clipping for round rectangle. 2025-08-31 10:05:21 +02:00
Adam Wysocki
814f78f2b2 ADDED: Add pcb/sch upgrade cli command 2025-08-30 20:57:41 +00:00
Jeff Young
be57c1a380 Fix undo for rounded rects.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21595
2025-08-30 21:16:47 +01:00
Jeff Young
194b7f9dc5 Add corner radius to Shape Properties dialog. 2025-08-30 20:45:02 +01:00
Jeff Young
c6fcf7e0b8 Allow easier code searching for property names. 2025-08-30 19:09:15 +01:00
Mark Roszko
cf09e8ae88 Adjust flags for dynamicdeopt to build 2025-08-30 13:46:38 -04:00
Mark Roszko
1ff5f09c3a Add cmake flag for enabling MSVC Dynamic Debugging in release 2025-08-30 13:35:40 -04:00
jean-pierre charras
7610c02fed 3D view: honor round rectangle shape.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21597
2025-08-30 18:51:43 +02:00
Jeff Young
7fd8b515b5 Prefer const&. 2025-08-30 17:45:49 +01:00
Jeff Young
ba84f50997 Commenting. 2025-08-30 17:45:49 +01:00
Jeff Young
acc7b1e508 ADDED: separate front/back silk and mask colours for STEP export.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21593
2025-08-30 17:45:49 +01:00
Jeff Young
67feb2e139 Performance tweaks. 2025-08-30 17:45:49 +01:00
Jeff Young
6f59821930 Prefer const &. 2025-08-30 17:45:49 +01:00
jean-pierre charras
6592c75345 fix issues in ROUNDRECT. This also fix a change commit by mistake in aeafbe48
Fix incorrect ROUNDRECT Ctor. It also fixes a link issue on msys2
- Do not throw  an error in CTor: this is not the place. It is much easy to
fix the value of incorrect radius.
Moreover, the Ctor is called without catching a throw-ed error in code.
- fix the test about radius validity, broken.
2025-08-30 17:35:26 +02:00
Seth Hillbrand
1a3f6028f8 Fix missed last points
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21596
2025-08-30 08:33:46 -07:00
Seth Hillbrand
fe4ddc66eb Limit radius in more places 2025-08-30 08:19:35 -07:00
Seth Hillbrand
e3b550dd13 Add a little radius helper
When rounding a rectangle, add a helper that shows the current radius
2025-08-30 08:19:35 -07:00
Mark Roszko
1baa28a1e6 Kick out more strtod. Actually should have used parseDouble from DSNLEXER years ago. 2025-08-30 10:46:06 -04:00
Seth Hillbrand
0f1b514964 Handle corner radius in Create from selection
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21601
2025-08-30 07:33:30 -07:00
jean-pierre charras
aeafbe48fe Step exporter: fix overzealous validity test.
When converting poly shapes with arcs in STEP_PCB_MODEL::MakeShapes,
when an error happens, a second try is made using a full polygonal shape.
However a fatal error was emitted at the first attempt, before the second try.
Now at first try, only a debug message is emitted on error. The fatal error
is emitted only if the second try fails.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21589
2025-08-30 12:58:56 +02:00
Mark Roszko
2b8542861c Missed a strtod in kicad legacy pcb parsing 2025-08-30 06:57:48 -04:00
Mark Roszko
9dd642b66c Kick out strtod in legacy parsers 2025-08-29 23:38:00 -04:00
Mark Roszko
d5c0d040b4 Add missing fast_float files 2025-08-29 22:18:08 -04:00
Mark Roszko
b3de964eff Add fast_float for float parsing.
2x faster than both std::from_chars and strtod on Windows.

macOS will get to benefit from a modern from_chars impl too.
2025-08-29 21:48:24 -04:00
Seth Hillbrand
8acf5c1a25 ADDED: Rounded Rectangles
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4742
2025-08-29 17:37:30 -07:00
Seth Hillbrand
e282dca102 Add configurable hysteresis to PCB snapping
Makes it harder to enter and harder to exit a snap.  ideally this should
help make snapping more intuitive and easier to use.  Once you have a
snap, it is harder to lose it but it avoids being overly snappy in the
begining
2025-08-29 16:21:35 -07:00