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
Seth Hillbrand
094870e7a4
String fixes
...
- Clarify wording in a couple places
- Fix missing 'not' and remove non-standard dashes
- Standardize on single-quote for strings in strings
2025-07-23 17:36:51 -07:00
Jeff Young
8c72711662
Increase contrast on grid origin over grid.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13532
2025-07-24 00:11:27 +01:00
Seth Hillbrand
e387953490
ADDED refdes tracker
...
Provide an option to track ever reference designator ever used in the
project to prevent its reuse even if the component has been removed
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13052
2025-07-23 14:28:33 -07:00
Jeff Young
ec155c00f3
Comboboxes for units and body styles.
...
Also for pin-types in pad properties.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19904
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19905
2025-07-23 14:35:37 +01:00
Jeff Young
9d074c1679
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
2025-07-21 17:24:29 +01:00
Jeff Young
55a36c1ce7
CHANGED: retire the select-lib-table dialogs.
...
We now allow the user to specify which in the
New Library dialog.
Also retires the "Export power symbols too" dialog.
Also gives a bunch of file and library dialogs
more explicit titles.
Also removes separate code-paths for Export to
Library and Export to New Library. The regular
code path has a "New Library..." button now.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16323
2025-07-20 19:06:40 +01:00
Seth Hillbrand
53b659dadc
Update languages
...
Allow translators to view their work in the master branch
2025-07-18 08:08:33 -07:00
Jeff Young
e1a6261df5
Fix one more missing addParamsForWindow().
2025-07-17 16:50:35 +01:00
Jeff Young
e230d5164d
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
2025-07-17 09:35:21 +01:00
Seth Hillbrand
1066595a2c
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
(cherry picked from commit d9cfb942812a57238d5ed6bbaa2c1d22a8676071)
2025-07-15 15:24:36 -07:00
Jeff Young
6541202d42
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
2025-07-15 15:24:11 +01:00
Seth Hillbrand
6cd076eed4
Blast quite a bit of LOCALE_IO into the sun
...
After forcing the locale-specific read/writes out of our IO, we can
remove the global LOCALE_IO calls in many places.
Still to do: exporters, pcm, specctra, settings, drawing sheets,
plotters
2025-07-14 15:30:42 -07:00
Jeff Young
a7e2878e6b
Kicad SEXPR should no longer need LOCALE_IO.
2025-07-14 13:17:53 +01:00
Jeff Young
273ca3de77
Re-entrancy guard for sym/fp change timers.
...
(Potentially KICAD-XJN.)
2025-07-13 16:39:50 +01:00
Jeff Young
68d4940087
Thread-safety (potentially KICAD-VMX...)
...
... KICAD-6PV, KICAD-82, KICAD-R3A, and others.
2025-07-13 15:25:10 +01:00
Jeff Young
f097fbdfcc
Multithreaded safety. (KICAD-T5A)
2025-07-09 13:05:22 +01:00
Jeff Young
e0351b60b2
No point-editor support for rotated tablecells. (KICAD-RN8)
2025-07-08 18:05:34 +01:00
Jeff Young
479daa37c5
Shutdown safety. (Potentially KICAD-TJK.)
2025-07-08 18:05:34 +01:00
Jeff Young
f0972a8667
More protection for stale wxDataView items.
2025-07-08 10:23:40 +01:00
Jeff Young
69b23df4c3
Make sure we don't end up with stale picker handlers (lots of Sentry tickets).
2025-07-04 12:10:59 -06:00
Jeff Young
0375985d58
Debugging for removing items not in the view.
2025-07-03 20:45:11 -06:00
Jeff Young
880ff60416
Attempt to circumvent GetValue() getting called when there's no wxDataViewItem.
2025-07-02 23:10:10 -06:00
Jeff Young
01a8d44bce
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
2025-07-01 11:03:53 -06:00