49063 Commits

Author SHA1 Message Date
Seth Hillbrand
416e54f0d5 Update template selector to modern webview
Allow more attractive templates.  Start of building singular
template+new project layout

Fixes https://gitlab.com/kicad/code/kicad/-/issues/15987
2025-08-04 22:20:54 -07:00
Seth Hillbrand
dd889ddac9 Add Tesselation QA tests 2025-08-04 22:20:42 -07:00
Jeff Young
dc7312efd6 Frame needs an extra kick to toggle grid visibility.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21409
2025-08-04 21:19:21 +01:00
Seth Hillbrand
321b5793a2 Add some QA tests
Created basic tests for:
- Notification Manager
- Clipboard
- File history
- Filename Resolver
- Hotkey store
- Collector
- Reporters
2025-08-04 11:36:43 -07:00
Jeff Young
ea84879b06 Allow deletion of nested embedded files.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20581
2025-08-04 19:11:59 +01:00
Jeff Young
7240128130 Formatting. 2025-08-04 19:11:59 +01:00
Jeff Young
2c3408aad5 Grid is already updated by AddFile() callback.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20565
2025-08-04 19:11:59 +01:00
Jeff Young
724e44d5a0 Move assignment operators for some hot-path classes. 2025-08-04 19:11:59 +01:00
Seth Hillbrand
43a9c760b1 Add some QA tests for FILE_HISTORY, SEARCH_PATH and FILENAME_RESOLVER 2025-08-04 09:59:30 -07:00
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