7188 Commits

Author SHA1 Message Date
Seth Hillbrand
0a5de5010f ADDED: Spacemouse support for Linux
Uses libspnav to handle spacemouse data.  Overlays on existing
spacemouse framework to handle view activation

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16133
2025-08-12 07:04:54 -07:00
John Beard
6c648c5ea6 Assign netclass dialog: use TransferDataToWindow 2025-08-12 20:01:02 +08:00
John Beard
d1aa7b148a Eeschema/Pcbnew: allow multiple nets to be assigned to a netclass at once
There is only a simplistic multi-net pattern expression
generator here (A|B|...) with a single prefix detected
rather than anything too fancy.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21451
2025-08-12 20:00:33 +08:00
Seth Hillbrand
a7e6fa8198 Allow panning with selectable key
Add optins to mouse dialog to allow modifier key-based mouse movement
panning

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2492
2025-08-11 13:21:22 -07:00
Jeff Young
38023a33b2 Give some more dialogs separate hashkeys for separate usages. 2025-08-11 17:19:12 +01:00
Jeff Young
6947b3b233 Even more open-coded dialog state-saving cleanup. 2025-08-11 17:19:12 +01:00
Jeff Young
cd325198c1 Give WX_TEXT_ENTRY_DIALOG a title- and label-specific hash.
This keeps us from attempting to save/restore control
state between different usage cases.
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
8d26313d8d Separate control building from control value setting.
The first needs to happen before dialog layout, the
second after DIALOG_SHIM's control state restoration.
2025-08-10 18:30:14 +01:00
Jeff Young
44bd29d592 More removal of open-coded dialog state saving. 2025-08-10 15:57:20 +01:00
Seth Hillbrand
a9121d4cd1 Add asan switch indicators 2025-08-08 21:25:19 -07: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
JamesJCode
37ba83a44b Make delay base units documentation consistent with other usages 2025-08-07 17:59:46 +01:00
jean-pierre charras
0fccd846e6 Fix missing include. 2025-08-07 15:29:43 +02:00
Jeff Young
3f1f9e8e72 Remove stale comment. 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
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
John Beard
e82d19eeb7 Pcbnew 3D: Add a toggle for plated barrel visibility
This can be useful when checking 3D models and/or generating
images of components in place on board, or if a dense via field is
in the way when looking at something on an inner layer.
2025-08-07 00:55:48 +08:00
John Beard
0eaedb770b Edit constraints: formalise ownership semantics 2025-08-07 00:55:47 +08:00
Seth Hillbrand
ece58909ba Avoid infinite loop if the grid size is zero or less 2025-08-05 16:18:02 -07: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
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
7240128130 Formatting. 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
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
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
Wayne Stambaugh
b76ef4e239 Fix broken GCC build. 2025-08-02 17:57:55 -04:00
Jeff Young
5accdc2d94 Move search handlers to std::shared_ptr. 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
Jeff Young
b0663d84cb ADDED: Paste tabular contents to parent table.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21109
2025-07-31 14:15:13 +01:00
Jeff Young
325570eeec Coverity tweaks. 2025-07-28 19:37:52 +01:00
Jeff Young
59caea4344 Shutdown safety (KICAD-N5Y). 2025-07-28 19:37:52 +01:00
Seth Hillbrand
66f37beff7 Move canvas selection to common
Makes all canvases obey the same rendering parameter.  Also keeps the
canvas selection with the anti-alias selection, which makes logical
sense.  Reduce the antialias selection to a single choice rather than
two different choices for different canvases
2025-07-27 20:22:59 -07:00
Seth Hillbrand
7f46f2a8d1 Remove unused variables 2025-07-27 17:23:53 -07:00
Jeff Young
a191d4e6e5 Handle undo when changing new item before placing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21391
2025-07-27 15:56:16 +01:00
Jeff Young
1b8119056f More code sharing. 2025-07-26 21:24:37 +01:00
Jeff Young
2dfacd648f Share more code. 2025-07-25 18:03:49 +01:00
Seth Hillbrand
322c08d5f0 Pass hotkeys from search pane to frame
If the search pane doesn't handle the key, push it through the frame
hotkey handling system

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12474
2025-07-24 13:14:31 -07:00
Seth Hillbrand
e064a3481d Add Rule Area selection filter in schematic editor
Allows rule areas to be ungrouped from the "Other Items" when selecting
2025-07-24 11:03:38 -07:00
Jeff Young
14c9ed1fda Prevent stale selection when deleting grid rows. 2025-07-24 18:16:21 +01:00