Seth Hillbrand
50c7aff3ff
Simplify KiROUND using std::llround/clamp
...
Removes the bespoke rounding in favor of std::llround and std::clamp
routines
2025-08-04 09:26:25 -07:00
Seth Hillbrand
4aa2047f45
Replace alg::delete and alg::delete_if with std c++20
2025-08-04 09:03:16 -07:00
Seth Hillbrand
06d5503db1
Remove heap-managed WX custom list in BOM
...
No need to do the extra memory management for what is essentially a
vector
2025-08-04 08:49:47 -07:00
Seth Hillbrand
e379e91081
Store hierarchy expansion/collapse state
...
Defaults to fully expanded but stores the names for nodes that are
collapsed in project local settings. Because project local settings are
generally changed by modifying views or selection filters, these should
be saved on close rather than only when the project is saved
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19276
2025-08-04 08:34:09 -07:00
Jeff Young
b67b467483
Uninitialized variable.
2025-08-04 11:18:20 +01:00
Jeff Young
82124c9cef
Leave decision to show mandatory field columns to user.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13600
2025-08-04 11:11:19 +01:00
John Beard
2b69e118e0
Pcbnew: fix mistaken angle int cast in arc properties
2025-08-04 17:37:55 +08:00
dsa-t
6eb68aaf6e
Revert "Fix copy-pasta in common PCH command (-5.4% time on MSVC/Debug)"
...
This reverts commit af8491e788323bfc3316001730d88c364ef2a665
2025-08-04 08:16:41 +03:00
Alex Shvartzkop
af8491e788
Fix copy-pasta in common PCH command (-5.4% time on MSVC/Debug)
2025-08-04 08:02:05 +03:00
Seth Hillbrand
bf16dcfbe8
Make all windows remember their preferences
...
Hook into DIALOG_SHIM to remember stylistic preferences for windows such
as position, size, sash position, notebook selection, etc.
Dialogs and controls can opt out of this by setting a client data user
property "persist" to false.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19992
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10756
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21108
2025-08-03 20:22:30 -07:00
Seth Hillbrand
11d0bb466b
ADDED: PROPERTY_HOLDER class
...
Useful for attaching arbitrary properties to userdata
2025-08-03 20:22:30 -07:00
Alex Shvartzkop
39978ab2e2
Fix erroneous hex parsing when opening legacy PCB files on MSVC.
...
e.g. "FFFF8007" does not fit into signed "long" type (4 bytes on MSVC),
so strtoul returns 0x7FFFFFFF and sets errno to EINVAL.
2025-08-04 06:06:13 +03:00
Jeff Young
95da436ddd
Focus second column control after property grid navigation.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20651
2025-08-03 23:17:09 +01:00
Jeff Young
918f0ec6af
More discriminatory test for 2-1/2 digits after decimal.
2025-08-03 23:16:11 +01:00
Jeff Young
34e075e112
Rework libtree SearchTerms to honour shownColumns.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21419
2025-08-03 20:32:19 +01:00
Jeff Young
a8df4b16e2
Range checking.
2025-08-03 20:32:19 +01:00
Seth Hillbrand
558627289b
Add WebView widget for future use
...
This is mostly for testing Thunderdome but we will be using this for
future template rendering as well
2025-08-03 12:28:43 -07:00
John Beard
cef8e77eed
Revert "Pcbnew point editor: avoid flickering when dragging"
...
This doesn't work properly as EDIT_CONSTRAINTs are using
references to the wrong point.
This reverts commit f632bad5768420776bd639303c0ecd2bf591cc28.
2025-08-04 00:25:25 +08:00
Seth Hillbrand
52f8bf83f6
Remove threading from connection vec update
...
At most, we will have 4 items. Or maybe a few more with stacked pins.
But not enough to thread. The overhead of starting threads and using
mutexes is greater than any savings
2025-08-03 09:18:54 -07:00
John Beard
f632bad576
Pcbnew point editor: avoid flickering when dragging
...
Only apply the update point to the EDIT_POINT if it will actually
change. Otherwise the intermediate position before grid snapping, etc.,
caused flickering when dragging with a large grid.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/19947
2025-08-04 00:03:07 +08:00
jean-pierre charras
82ea895ed9
Fix qa test compil issue due to my previous (e1c56c71) commit
2025-08-03 17:10:29 +02:00
Seth Hillbrand
b21e3e45d9
Extract generic item connectivity update and add QA
2025-08-03 08:09:01 -07:00
Seth Hillbrand
15ca4b1ba2
Extract symbol connectivity routine and add QA
2025-08-03 08:09:01 -07:00
jean-pierre charras
e1c56c71ef
Fix compil warnings (some due to declarations colliding with a Windows header)
2025-08-03 16:11:14 +02:00
Seth Hillbrand
7102b2d5e5
Clarify some driver sorting logic and add addl QA
2025-08-03 06:46:28 -07:00
John Beard
8c4c3b7e5e
Pcbnew: when moving, select move origin by mouse, not cursor
...
Selecting the origin fby the cursor position makes it impossible
to select a item further from a grid point than another. This is
especially noticeable when selecting pins while using large grids
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10471
2025-08-03 20:38:18 +08:00
John Beard
3606d25ab6
Pcbnew: improve snapping: avoid cases where a valid snap is excluded
...
Trimming items that don't have an "involved" real item needs to be
done at the time that the nearest point is found. Otherwise, if
there are multiple nearest points at the same location, and an
'uninvolved' one is chosen, it will later be discarded, and the
grid snap will be the fallback.
The effect of this is that grid snaps can appear to be very
agressive and also inconsistent, as it sometimes uses the item
snap (when it happens to choose an "involved" one) and sometimes not.
2025-08-03 20:38:18 +08:00
John Beard
16d2d1573d
Fix minor compiler warning (sign mismatch)
2025-08-03 20:38:18 +08:00
Jeff Young
57f3f22aa4
nullptr safety
2025-08-03 12:51:34 +01:00
Jeff Young
70d1950bbe
Use hairlines for point editor construction lines.
2025-08-03 12:51:34 +01:00
Jeff Young
55097b9539
Formatting.
2025-08-03 12:51:34 +01:00
Jeff Young
5160bfb212
Angle is included angle, not start angle.
2025-08-03 12:51:34 +01:00
Seth Hillbrand
1a25f07c76
Add QA for connection graph resolve drivers
2025-08-02 20:38:54 -07:00
Seth Hillbrand
9ea088f83f
Add git shutdown command
...
Will allow interrupting long commands during the update message
2025-08-02 20:31:40 -07:00
Seth Hillbrand
c5545d202d
Remove doubly-included kicad_algo
2025-08-02 19:55:55 -07:00
Seth Hillbrand
c9e9a4e073
Allow git init to succeed without remote
2025-08-02 16:39:11 -07:00
Wayne Stambaugh
b76ef4e239
Fix broken GCC build.
2025-08-02 17:57:55 -04:00
Jeff Young
25ad1f051e
Attempt to fix non-Clang builds.
2025-08-02 22:56:52 +01:00
Jeff Young
91b7bc0843
Support dash-dot-dot line style in DXF.
...
Fixes KICAD-TY8.
2025-08-02 22:56:52 +01:00
Seth Hillbrand
e6e44d08fc
ADDED: Common 3d image export and file size choice
...
Instead of two actions for exporting to two different file formats,
unify into a single Export Image command with the format chosen based on
file extension/selected format in save dialog.
Also allow arbitrary image size export
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3689
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4693
2025-08-02 14:30:07 -07:00
Jeff Young
5accdc2d94
Move search handlers to std::shared_ptr.
2025-08-02 22:04:53 +01:00
Jeff Young
dc3cd81a2a
Don't run connectivity on non-existant layers.
...
Fixes KICAD-X8V.
Fixes KICAD-VH3.
2025-08-02 22:04:53 +01:00
Jeff Young
a75fd2bb23
See if copying netclasses is responsible for KICAD-V6Z (and others).
2025-08-02 22:04:53 +01:00
Jeff Young
8c85cd43f3
Copy c'tor / operator= safety.
...
Also fixes a memory leak of search pane handlers.
2025-08-02 22:04:53 +01:00
Seth Hillbrand
a7ab02224e
Fix pathspec lifetime issue
...
Don't let stack pointers go out of scope before using
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21417
2025-08-02 12:33:55 -07:00
Jeff Young
d91cce930f
Don't allow default copy c'tor to copy arrays of pointers.
...
Fixes KICAD-SJ2.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21408
2025-08-01 21:27:12 +01:00
Jeff Young
ed40391bde
Don't attempt to fetch last char of empty string.
...
Fixes KICAD-5ED.
Fixes KICAD-RC1.
Fixes KICAD-W0B.
2025-08-01 16:46:51 +01:00
Jeff Young
ac3eac9ed0
Nullptr safety.
...
Fixes KICAD-P7Q.
2025-08-01 16:46:50 +01:00
Jeff Young
6c6c02a329
Don't assume a tree root.
...
Fixes KICAD-Y72.
2025-08-01 16:46:50 +01:00
jean-pierre charras
bf21edb7ce
French translation update
2025-08-01 10:59:48 +02:00