7007 Commits

Author SHA1 Message Date
Seth Hillbrand
7b602142b1 Remove the forced ancillary grid
If you are moving an object, we already have the axis snap, forcing the
grid to center at the start of the move prevents us from easily aligning
elements by moving them.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18196

(cherry picked from commit 29dc45d584a882866f2f3f27a7257481043ecc84)
2025-08-04 12:01:24 -07:00
Seth Hillbrand
2e5be57499 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

(cherry picked from commit 322c08d5f0de3b9fc37c93c69db79b3f2a26efdf)
2025-08-04 11:58:44 -07:00
Jeff Young
e27424d1b4 Attempt to fix non-Clang builds.
(cherry picked from commit 25ad1f051ea2f61cbddc5993fdcbbed6f31a2679)
2025-08-03 13:32:31 +01:00
Jeff Young
c0c8910207 Move search handlers to std::shared_ptr.
(cherry picked from commit 5accdc2d9426fc52629dacfdb8b94f5fd57a73c7)
2025-08-03 13:31:09 +01:00
Jeff Young
23f1e287aa See if copying netclasses is responsible for KICAD-V6Z (and others).
(cherry picked from commit a75fd2bb23585d4df50f00e6df8979fe19b1f333)
2025-08-03 13:30:22 +01:00
Jeff Young
68f4a6117e Copy c'tor / operator= safety.
Also fixes a memory leak of search pane handlers.

(cherry picked from commit 8c85cd43f3f273ab9117530d5f1a60ee8e195061)
2025-08-03 13:09:58 +01:00
Jeff Young
be7cf117a5 Shutdown safety (KICAD-N5Y).
(cherry picked from commit 59caea434421b3466efd07fb86391c22bc03c285)
2025-07-28 20:34:39 +01:00
Jeff Young
2a246801eb Handle undo when changing new item before placing.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21391

(cherry picked from commit a191d4e6e5620cbf0cd17698e0e83d08d68c45c1)
2025-07-28 20:33:32 +01:00
Jeff Young
41effa1556 See if we can't fix the ever-growing window bug.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20120

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18543

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10609

(cherry picked from commit 9d074c167915f1c3cd28a187574eba18c682797e)
2025-07-21 21:02:01 +01:00
Jeff Young
8bf44292f5 Fix one more missing addParamsForWindow(). 2025-07-17 16:36:45 +01:00
Jeff Young
f10d11d36c Honour renderSettings' default font.
This still leaves a few things out in the cold,
such as hit-testing and polygon generation.
But at least it allows us to plot with a default
font.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/19031

(cherry picked from commit e230d5164dc80f67fab1377890a3c3d5915cfd42)
2025-07-17 10:05:07 +01:00
Seth Hillbrand
d9cfb94281 Add wallclock timeout to PNS walkaround
WALKAROUND::singlestep is used by both shove and walkaround modes and
can bog down when applied to clusters with many objects.  In these
cases, we are unlikely to find a viable solution and it is beter to
allow the user to find a different ending position
2025-07-15 15:24:16 -07:00
Seth Hillbrand
27d6c36f2d Add maximum pasted string length
Allows the user to avoid pasting unparsable boards as strings, which
freezes the system as we try to display enormous texts

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20732

(cherry picked from commit c5fde2aeb50f39e9d1800de6879b8c9665a837c5)
2025-07-15 10:44:25 -07:00
Jeff Young
42ccfceebd Repair COMMON_TOOLS to know about frame-specific WINDOW_SETTINGS
Remove the older architectures for ensuring non-empty
grids and zooms

Move new architecture to PARAM_LIST::Load,
and add zoom support

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21318

(cherry picked from commit 6541202d427401ef9ffff87c2d7c1840dd6ac337)
2025-07-15 15:25:54 +01:00
Jeff Young
ecb2016047 Kicad SEXPR should no longer need LOCALE_IO.
(cherry picked from commit a7e2878e6be34578ab4b93696ed58d17f29922f2)
2025-07-14 13:20:29 +01:00
Jeff Young
777b731687 Re-entrancy guard for sym/fp change timers.
(Potentially KICAD-XJN.)

(cherry picked from commit 273ca3de7744cccfd4ffc36bc8ac4b66a1485940)
2025-07-13 16:57:33 +01:00
Jeff Young
06933ee9f0 Thread-safety (potentially KICAD-VMX...)
... KICAD-6PV, KICAD-82, KICAD-R3A, and others.

(cherry picked from commit 68d49400872a6e0b027bbbcbb82e547e39fe8ace)
2025-07-13 16:56:36 +01:00
Jeff Young
4f30fecd84 Multithreaded safety. (KICAD-T5A)
(cherry picked from commit f097fbdfcc575c0595bce27e954e42a8fc2ab5d1)
2025-07-09 16:01:27 +01:00
Jeff Young
264cd9e4f3 No point-editor support for rotated tablecells. (KICAD-RN8)
(cherry picked from commit e0351b60b2eb39cc2398b35c8c8ccf329c4818d3)
2025-07-09 16:01:27 +01:00
Jeff Young
3aca4393ac Shutdown safety. (Potentially KICAD-TJK.)
(cherry picked from commit 479daa37c5275fd2403c369d312fc6070edaca15)
2025-07-09 16:01:27 +01:00
Jeff Young
32de29ff4e More protection for stale wxDataView items. 2025-07-08 10:23:00 +01:00
Jeff Young
adb96ecdf3 Make sure we don't end up with stale picker handlers (lots of Sentry tickets).
(cherry picked from commit 69b23df4c3e4cc6adcacc36ecae3dcc49b23fd67)
2025-07-08 08:44:23 +01:00
Jeff Young
86c475ced9 Debugging for removing items not in the view.
(cherry picked from commit 0375985d58d77678757119995197c5656e29f304)
2025-07-08 08:44:23 +01:00
Jeff Young
a296502041 Attempt to circumvent GetValue() getting called when there's no wxDataViewItem.
(cherry picked from commit 880ff604165142bd3762c960fa80c664163e8703)
2025-07-08 08:44:22 +01:00
Jeff Young
6c6ef1cf5d Progress reporting for Run Jobs.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19629

(cherry picked from commit 0464cc18b1bf724a8776653c928ed75343392114)
2025-07-08 08:44:22 +01:00
Jeff Young
aacfa5ab83 Attempt to fix destruction order crash (KICAD-6KC).
(cherry picked from commit a7fdea9b6f786db3b4c89207fc37897df52f31c9)
2025-07-08 08:44:22 +01:00
Jeff Young
9a58b53a4c Keep currently selected group items when rebuilding toolbars. 2025-07-08 08:44:21 +01:00
Jeff Young
5c60164bb5 Warp back from context menu before running command.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19560

(cherry picked from commit 74bf678d994563d74e1157c227467ae7a21a3649)
2025-07-08 08:44:21 +01:00
Jeff Young
b682b39180 Initializer safety.
(cherry picked from commit adb535e6493eb5464604798d0cbc16b43900ee52)
2025-07-08 08:44:21 +01:00
Jeff Young
adf8d6626f Further simplify scoring logic.
Do away with special cases for showing.
Do away with resetting the score separately.
All methods are subtractive (logical AND).

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21220

(cherry picked from commit 01a8d44bce65e23bd6a1d41b4c6d4d90285bb53b)
2025-07-01 18:13:55 -06:00
Jeff Young
53b3c1c082 CHANGED: Use FILTER_COMBOBOX for label names.
Also pushes some of the implementation down a level
so that it can be shared between this and the
SYMBOL_FILTER_COMBOBOX.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20943

(cherry picked from commit ee2cf47f23eeca5cfc990ae845e18534fd8c96c4)
2025-06-30 13:58:58 -06:00
Jeff Young
1a59309762 Accept empty "(fp)" statements.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20002

(cherry picked from commit 70dfc9215d5666ec4f66851b382d50bbe961a729)
2025-06-18 12:10:59 +01:00
Seth Hillbrand
5eacca8b18 Handle unquoted strings that use the bar '|' character
We use this as part of the standard sexpr now.  But previously, if a
designer used the '|' character as part of a string with no spaces, it
would be entered unquoted into the file, which neccesitates special
handling

Fixes https://gitlab.com/kicad/code/kicad/-/issues/21065
2025-06-04 10:54:06 -07:00
Jeff Young
cab050609d ADDED: field options for Update PCB from Schematic
Fixes https://gitlab.com/kicad/code/kicad/-/issues/21021

(cherry picked from commit 4a21da6b27a7f7692751e0d583f5643f87d3638c)
2025-05-31 11:12:47 +01:00
Jeff Young
ee62366607 Remove selection before notifying grid of deletion.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20747

(cherry picked from commit a1cc6403bd611a58e2c1d35ae4d66a5496d71b57)
2025-05-31 11:03:59 +01:00
Jeff Young
c4fdf9feeb Fix Scintilla vertical scrolling issue.
(At least on MacOS.  *May* also fix GTK.)

(cherry picked from commit c5947d89012ce55f490e7d4411bd316396627b63)
2025-05-28 19:31:28 +03:00
Jon Evans
a63758e1e6 API: Add symbol path for footprint instances
See https://gitlab.com/kicad/code/kicad-python/-/issues/37


(cherry picked from commit 4dd39976a345df7f77213c7f48b80d5923c5d8ed)

Co-authored-by: Jon Evans <jon@craftyjon.com>
2025-05-26 18:29:35 -04:00
Jeff Young
d7a0555780 Fix a bunch more bugs in bezier approximation.
(cherry picked from commit e8e7282fe1eed4f2a633fea9c7bdb0e81be53f9b)
2025-05-26 21:44:41 +01:00
Jeff Young
29d0cdb546 Use maxError when converting bezier to polyline.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20312

(cherry picked from commit e44c5a7fcda30137965251edf6e231436e602287)
2025-05-26 21:44:41 +01:00
JamesJCode
d928a2a0e3 Re-implement wildcard matches for netclass constituents in DRC evaluation
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20955

(cherry picked from commit 7176dbe6dcb4aad5a8fc559962781509c2836924)
2025-05-26 19:49:25 +01:00
Zenn Geeraerts
75a8b35581 Use case insensitivity when loading Altium files
Altium is case insensitive, so our match for internal names should be also

(cherry picked from commit d31eeb5c1ba41536f75a74aa8483478477e75928)
2025-05-22 10:20:35 -07:00
Seth Hillbrand
13442a8f91 Import Altium Projects
Handle Altium project file format

Parse individual schematic files and layout files
Create top-level schematic file
Link imported UUIDs between schematic symbol and footprints based on
refdes
Create KiCad project
Map Altium layout layers between KiCad

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2117

(cherry picked from commit e81956f292f06719b6984d3a86e7493435f49805)
2025-05-22 10:09:02 -07:00
Seth Hillbrand
1a7159bb09 Allow multi label input
This is a re-implementation of 39c2745f55fff72470ca1ea86ac7b1ea225908bd
that was removed by e5089d783d08f75e57b3ea90ed64a089e5b07b0b

This implementation works in the tool, containing side effects
(hopefully) better than the initial implementation.  The multiple labels
are input as multiple lines instead of labels with spaces, allowing for
copy/paste between spreadsheets of labels

Fixes https://gitlab.com/kicad/code/kicad/-/issues/10950

(cherry picked from commit 6f6ca2a35ff6451c95b7dd61b95c82091284d869)
2025-05-08 12:44:19 -07:00
Seth Hillbrand
58461d5925 Update search dialog
Allow regular expression in search and replace
Allow searching netnames including nets contained in buses

Fixes https://gitlab.com/kicad/code/kicad/-/issues/12156

Fixes https://gitlab.com/kicad/code/kicad/-/issues/17102

(cherry picked from commit aff0ad971faec6e0505e67d9015c046327d5277e)
2025-05-08 12:44:19 -07:00
Jeff Young
648825127d Allow embedded files to come from components
as well as parent containers, part II.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20210
2025-04-25 09:34:58 +01:00
JamesJCode
1215b0c304 Add char_traits<T> specialisations for wxUniChar and NANODBC_SQLCHAR
when building on Apple with Clang >= 17.

These specialisations are not strictly required by the C++ standard,
and have been removed from LLVM.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20631

(cherry picked from commit a5be581b1b73294f52d85854b571c4959767f20b)
2025-04-23 23:42:05 +01:00
Mike Williams
14a05de36a schematic editor: remove 10ms OnShow timer to reduce CPU load
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20385
(cherry picked from commit a648fccbb34becf6e17e5dd37b97885f022defea)
2025-04-23 17:41:45 -04:00
Dmitry Rezvanov
aa69aa63be pcbnew: Add sorting functionality for netclass assignments
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/18819
(cherry picked from commit a3fae053c46941121886f121321135ce0b3b56e1)
2025-04-23 16:48:59 -04:00
Jeff Young
410f3f0f7b Allow embedded files to come from components
as well as parent containers.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/20530
2025-04-23 15:12:03 +01:00
Damjan
ff02626f75 pcbnew and eeschema: Table and textbox rotation / text justification fix
(cherry picked from commit af11746cc43099524c8303f7185e55036773a131)
2025-04-21 14:45:08 +01:00