12897 Commits

Author SHA1 Message Date
Seth Hillbrand
87ccb2abc0 Move Annotation preferences (most) to schematic setup
The scope, recursion, reset options and message filters remain in the
user preferences.  Others including numbering, sort order and reuse are
schematic preferences.

Also, the oddball subunit display remains here but it doesn't really
belong in annotation.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17942
2025-08-12 16:15:17 -07:00
Seth Hillbrand
8a081f60b1 Prevent error message when backpropagating
Need to allow only processing other fields

Fixes https://gitlab.com/kicad/code/kicad/issues/21467
2025-08-12 08:10:22 -07:00
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
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
John Beard
845c67fca3 Eeschema: forward declare outside the namespace
GCC didn't like the std::vector<class SCH_JUNCTION*> inside the NS.
2025-08-12 16:09:49 +08:00
Seth Hillbrand
1a7a97a496 ADDED: Realtime junction indicators
Adds potential junctions to the preview overlay while drawing wires or
dragging.  Also fixes an issue where junctions were created at old
splits

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18206
2025-08-11 17:42:58 -07:00
Jeff Young
833a5ee3ab Yet even more open-coded dialog state-saving cleanup. 2025-08-11 20:36:23 +01:00
Jeff Young
7cd9260a92 Extra row height now added in WX_GRID. 2025-08-11 18:30:53 +01:00
Jeff Young
92e139f64b Separate initialization from data loading. 2025-08-11 18:30:53 +01:00
Jeff Young
98f8afd41f Yet more open-coded dialog state-saving cleanup.
Daddy, are we *there* yet?
2025-08-11 17:19:12 +01:00
John Beard
ea8d0519bd Eeschema: propagate alt mode icons to render settings on prefs change
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21462
2025-08-11 20:58:15 +08:00
Jeff Young
cf5c00bcf2 Make more use of shared dialogs. 2025-08-10 21:32:10 +01:00
Jeff Young
892f9031d7 More open-coded dialog state-saving cleanup. 2025-08-10 21:00:17 +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
Carsten Schoenert
9fcee70827 python: Use raw-strings expressions
Python 3.12 is now more pedantic about the used string regexp syntax in
re.* functions.

Signed-off-by: Carsten Schoenert <c.schoenert@t-online.de>
Signed-off-by: Adrien Ricciardi <adrien.ricciardi@hotmail.fr>
[Adrien Ricciardi: This patch comes from Debian: https://sources.debian.org/src/kicad/9.0.3+dfsg-1/debian/patches/fixes/python-Use-raw-strings-expressions.patch]
2025-08-08 21:29:53 -07: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
JamesJCode
88c09517f2 Ignore empty net class fields in net class ERC 2025-08-08 14:37:11 +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
Mark Roszko
5895c27f4a Rename Prj() on schematic to avoid conflict with global function 2025-08-07 23:21:41 -04:00
Seth Hillbrand
d8a99ea38f ADDED: New ERC test for mis-match GND pins
If you have a pin with a label containing the letters "GND" in it and it
is not connected to a net with a label also containing "GND" AND there
is another pin on your symbol that _is_ connected to a net containing
"GND", then there is a likelihood that you have accidentally mixed up
your connections to the GND pin
2025-08-07 15:42:56 -07:00
Jeff Young
1e9da4684a Move properties inspector font-listing to SetChoicesFunc(). 2025-08-07 11:44:47 +01: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
a8d69c856f Eeschema: fix alt mode resetting on symbol update
GetName is the alt name if it's set, so use GetBaseName.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21439
2025-08-07 01:18:34 +08:00
John Beard
8023227829 Eeschema: fix alt pin icon/OP current preference resetting
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/21440
2025-08-07 00:55:48 +08:00
John Beard
bbe5280d57 Eeschema: provide tooltip for place sheet pin action 2025-08-07 00:55:48 +08:00
John Beard
1832aba14e Eeschema: fix missing include 2025-08-07 00:55:48 +08:00
Jeff Young
54d8cf10fc Selected is not the same as highlighted.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19976
2025-08-06 15:27:58 +01: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
Alex Shvartzkop
fb6bc9ca11 Improve Library link label to text field alignment in symbol/footprint properties dialogs. 2025-08-05 20:23:41 +03: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
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
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
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
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
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
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
Seth Hillbrand
c5545d202d Remove doubly-included kicad_algo 2025-08-02 19:55:55 -07: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
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
3fe806d7c9 Compiler warning. 2025-07-31 13:45:40 +01:00
jean-pierre charras
fdba4cf406 fix missing includes when KICAD_USE_PCH=OFF 2025-07-31 08:27:51 +02:00
Seth Hillbrand
5b3d4fc91d Put PCH behind a cmake flag
Allows developers to turn it off if they don't like/don't want it
2025-07-30 17:04:06 -07:00