11124 Commits

Author SHA1 Message Date
Jeff Young
af9fdbcd33 Nullptr safety. 2025-08-11 17:19:12 +01:00
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
cf5c00bcf2 Make more use of shared dialogs. 2025-08-10 21:32:10 +01:00
Jeff Young
44bd29d592 More removal of open-coded dialog state saving. 2025-08-10 15:57:20 +01:00
Jeff Young
661be06168 Use TransferDataToWindow() to init controls. 2025-08-09 21:52:08 +01:00
Jeff Young
a45f8bc2f7 Don't store m_severities. It won't follow save control state. 2025-08-09 19:11:27 +01:00
Jeff Young
5805f67459 Save notebook page titles rather than index.
(Some notebooks have variable pages from invocation
to invocation.)

Also adds bounds-checking where appropriate.
2025-08-09 17:18:57 +01:00
Jeff Young
5a358d99bb Save notebook page titles rather than index.
(Some notebooks have variable pages from invocation
to invocation.)
2025-08-09 17:11:54 +01:00
Seth Hillbrand
b207ec8817 Remove negative index access from CPoint
Callers should be responsible for index count and/or use iterators
2025-08-08 10:46:45 -07:00
John Beard
db97d77544 Netclass: allow multiple assignments with the same pattern
This isn't really a problem, and overwriting the entry allows
for silent data loss by making a new assignment with the
same pattern as an existing one.

The resolve netclasses are de-duplicated later, so it's even
OK if the whole assignment is duplicated (in theory), but
continue to clean these up.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21316
2025-08-08 21:39:41 +08:00
Jeff Young
4819487ea2 Save/restore state of UNIT_BINDER and other textboxes. 2025-08-08 13:54:27 +01:00
Jeff Young
66ee17cdcd Start removing old open-coded dialog state saving.
(State saving is now handled uniformly in DIALOG_SHIM.)
2025-08-08 13:54:26 +01:00
Jeff Young
ac867f6aa7 Add owner-drawn combos to control state saving.
(Also fixes LAYER_BOX_SELECTOR, etc.)

Also fixes a bug in saving wxComboBox state (we
need to save the value, not the index).
2025-08-08 13:54:26 +01:00
Seth Hillbrand
1a4eba56a7 ADDED: Skip Via support
Skip vias are vias that are flashed on their start and end layers but
have no annular rings on the interior layers and do not connect to zones
in those layers

You can now select Annular ring type "Start and end layers only".  This
will prevent annular ring flashing on intermediate layers and zones
fills will provide clearance.  You can still connect tracks to
intermediate layers but preventing that will fall to the designer

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21433
2025-08-07 15:48:10 -07:00
Jeff Young
d2293ab56a Fix key generation for dialog control state.
(Previous algo overwrote className and then later
tried to use it to find siblings.)
2025-08-07 11:44:47 +01:00
Jeff Young
241d9a4c30 Separate locked & unlocked vias in global deletions.
Also allows a dialog to opt out of control-state
saving at the top level (rather than on every control).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21441
2025-08-07 11:44:47 +01:00
Jeff Young
1e9da4684a Move properties inspector font-listing to SetChoicesFunc(). 2025-08-07 11:44:47 +01:00
Mark Roszko
990caa1988 Use the full bitmap bundles in ACTION_MENU 2025-08-06 20:28:41 -04:00
Seth Hillbrand
73aa437259 Finalize lasso selection tool
- Move under rectangular selection
- Simplify available modes
- Link to new icon
- Make selection state persistent
- Allow additive/subtractive with KiCad configurable keys
2025-08-06 16:07:43 -07:00
Seth Hillbrand
065748213e Update lasso icon 2025-08-06 16:07:43 -07:00
Andrzej Wolski
c73d555fe2 ADDED: Lasso selection in pcbnew
Adds a lasso or freeform selection tool to KiCad in addition to standard
rectangular selection.  Adds supporting HitTest routines

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/1977
2025-08-06 16:06:40 -07:00
Seth Hillbrand
7dc83fbffd Ensure dialogs are visible on all Spaces
We never want to hide dialogs if their parent is on a different Space
(MacOS-specific terminology), so set the window property to show
everywhere when showing a dialog

Fixes https://gitlab.com/kicad/code/kicad/-/issues/13906
2025-08-06 11:48:07 -07:00
John Beard
0eaedb770b Edit constraints: formalise ownership semantics 2025-08-07 00:55:47 +08:00
jean-pierre charras
de208b3f00 Kicad manager: display the number of GDI objects in About Dialog (Windows only)
On Windows, if the number of GDI objects reach a limit (usually 10000) some can
be not shown, thus creating  a strange behavior not easy to diagnose.
Displaying the number in use can help.
2025-08-06 18:17:05 +02:00
Seth Hillbrand
29eee9f126 Refactor grid_helper to allow testing
Make view and tool manager optional so that we can implement QA on the
actual snapping
2025-08-05 16:10:17 -07:00
Jeff Young
2e629ca55c ADDED: follow-pcb and follow-plot-settings to render job settings.
Also added Follow-board-stackup-colors to both
render job settings and render CLI arguments

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21341
2025-08-05 18:01:50 +01:00
Mojca Miklavec Groenhuis
f145d8750d Name change 2025-08-05 10:40:10 +01:00
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
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
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
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
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
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
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
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
jean-pierre charras
e1c56c71ef Fix compil warnings (some due to declarations colliding with a Windows header) 2025-08-03 16:11:14 +02:00
Jeff Young
70d1950bbe Use hairlines for point editor construction lines. 2025-08-03 12:51:34 +01: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
c9e9a4e073 Allow git init to succeed without remote 2025-08-02 16:39:11 -07: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
Jeff Young
5accdc2d94 Move search handlers to std::shared_ptr. 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