74 Commits

Author SHA1 Message Date
Seth Hillbrand fff428dcd6 Add THROTTLE class and DrainPendingEvents
Five call sites independently reimplemented the same
time-gated throttle pattern.  This consolidates them all
into a single THROTTLE class backed by steady_clock.

Three call sites duplicated the wxWidgets YieldFor workaround
for timer-event backlog (wxWidgets issue #26192). This replaces them
with a shared DrainPendingEvents free function.
2026-03-03 11:33:10 -08:00
Seth Hillbrand a8a7a09d32 Fix symbol library tree losing all libraries when creating a new library
When creating a new symbol library via the GUI, ReloadTables() clears all
loaded library data from the SYMBOL_LIBRARY_ADAPTER. The tree Sync() then
checked adapter->HasLibrary() which requires libraries to be fully loaded,
causing it to remove all existing library nodes from the tree.

Fix by checking the table row directly via GetRow() instead, which works
regardless of whether the library data has been loaded into the adapter.
Libraries are now only removed from the tree when they are genuinely absent
from the table, disabled, or hidden.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/23060
2026-02-16 20:26:36 -08:00
Jeff Young d06274a0b0 Load available extra fields from SYMBOL_TREE_SYNCHRONIZING_ADAPTER.
(Code was already in SYMBOL_TREE_MODEL_ADAPTER.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/22644
2026-01-05 19:27:32 +00:00
Jeff Young 4413cc75d8 Formatting. 2026-01-05 19:27:32 +00:00
Jeff Young 5e41d63bd0 Resolve text variables in descriptions and keywords.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/22146
2025-10-29 12:33:09 +00:00
Jon Evans 84d8b7889d Remove legacy symbol lib table code 2025-10-15 22:18:55 -04:00
Jon Evans e1ea6a1302 Shorten class name for legibility 2025-10-15 22:18:54 -04:00
Jon Evans 992be7fe35 Move symbol editor to new library system 2025-10-15 22:18:51 -04:00
Jon Evans 194091acae Switch schematic editor to using new library system
ADDED: lazy loading of symbol libraries in chooser
2025-10-15 22:18:50 -04:00
John Beard 1832aba14e Eeschema: fix missing include 2025-08-07 00:55:48 +08: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
Jeff Young 479daa37c5 Shutdown safety. (Potentially KICAD-TJK.) 2025-07-08 18:05:34 +01:00
Jeff Young 7eb75720b5 Start to retire "alias" in favour of "symbol" and "derived symbol".
Note: terminology changes only.  No (intentional)
functional changes.
2025-02-24 11:08:29 +00:00
Wayne Stambaugh f45915ba93 Eeschema folder housekeeping. 2025-02-06 09:47:00 -05:00
Jon Evans 8903a82c50 Fix design block panel trampling symbol chooser settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19190
2025-01-26 18:32:00 -05:00
Seth Hillbrand 0b2d4d4879 Revise Copyright statement to align with TLF
Recommendation is to avoid using the year nomenclature as this
information is already encoded in the git repo.  Avoids needing to
repeatly update.

Also updates AUTHORS.txt from current repo with contributor names
2025-01-01 14:12:04 -08:00
John Beard ffebebefe7 Lib edit tree: add read-only as a suffix
It's not ideal, because it will easily go off the right edge,
but the proper solution proably involves something involved
like little indicator icons in the tree or something.

This should be something of a clue at least some of the time.
2024-10-14 20:36:26 +08:00
John Beard e024621fcc Lib tree: don't throw away the variant if there's a value 2024-10-14 20:36:26 +08:00
Jeff Young f7f86174a0 Make sure symbol editor prefs go in symbol_editor file.
(And same for footprint editor.)

Fixes https://gitlab.com/kicad/code/kicad/-/issues/18905
2024-10-13 20:14:14 +01:00
Alex Shvartzkop ece46223c9 Fix shadowed/conflicting enum values. 2024-06-21 16:16:29 +03:00
Jeff Young 251ed2ee54 Formatting and "auto" reduction. 2024-06-19 12:39:22 +01:00
Marek Roszko 8fb4901d4b Fix more utf8 comparisons 2024-04-12 22:53:25 -04:00
Jeff Young 2cd9fbab9d Check known m_Desc field before m_Fields.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16971

(cherry picked from commit 25291d6e3a)
2024-02-23 16:53:34 +01:00
Mike Williams 1700cad83b Symbol/Footprint Chooser: remember open libraries
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/16383
2023-12-21 09:57:54 -05:00
Jeff Young d382a11c2a Apply new on-canvas-item marking to footprint editor tree. 2023-11-20 19:46:03 +00:00
Jeff Young 95dcf54d8d New is-canvas-item highlighting. 2023-11-17 20:29:18 +00:00
Jeff Young a4a946ab75 Clearer naming. 2023-11-17 18:36:33 +00:00
Alex Shvartzkop 7589de6120 Optimize footprint/symbol library hover previews. 2023-11-09 19:02:10 +03:00
Jeff Young 78e00ade7a Clearer naming. 2023-11-09 14:05:35 +00:00
Alex Shvartzkop 9ed19192de Improve editing values with {return} in text fields; Add hyperlink detection. 2023-10-15 01:45:39 +03:00
Marek Roszko 8c6899b0d3 Tear out the eeschema conditional compile of PROJECT 2023-09-27 23:05:30 -04:00
Alex Shvartzkop ff49d5ada9 Fix ambiguous overloads on wx 3.3 2023-09-14 19:05:46 +03:00
Jeff Young 61bcf46ffe Don't show preview for lib-item loaded on to canvas. 2023-09-03 12:07:09 +01:00
Jeff Young e6b0a6abca ADDED: lib tree previews.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2418
2023-09-02 23:30:22 +01:00
Jeff Young 1528f4700c Treat canvas item as current when tree view contains no selection.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12702
2023-06-04 20:52:12 +01:00
Jon Evans 0913552f84 Handle custom columns in symbol tree synchronizing adapter
Fixes https://gitlab.com/kicad/code/kicad/-/issues/13907
2023-02-14 18:26:29 -05:00
Jon Evans 2089374f53 ADDED: Export symbols from schematic to library
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11433
2022-09-23 21:23:01 -04:00
Jeff Young 753f2f3e4c Display descriptions in second column of library trees.
Also fixes some bugs in how the columns are sized.

Fixes https://gitlab.com/kicad/code/kicad/issues/12090
2022-07-28 14:51:47 +01:00
Jeff Young def87c969e Redo the pinned-libraries storage architecture.
1) always use preferences directly
2) allow nicknames from either preferences or project
3) store-after-modify

Fixes https://gitlab.com/kicad/code/kicad/issues/12000

Fixes https://gitlab.com/kicad/code/kicad/issues/11892
2022-07-22 09:31:10 +01:00
Jeff Young de49f5090d Formatting (and auto reduction). 2022-01-22 12:16:07 +00:00
Jeff Young 6aaf4413b3 Fix kicad_string.h / string.cpp mismatch.
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young b1b4caee6a Escape "naughty" characters in symbol names.
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road.  Better
to just escape them.

Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01:00
Wayne Stambaugh ee3eac325d Expunge the use of the word part from Eeschema code. 2021-06-15 08:32:11 -04:00
Wayne Stambaugh fb46cd8bc5 Expunge the use of the word component from Eeschema code.
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
Wayne Stambaugh 71c183d7bb Rename LIB_PART to LIB_SYMBOL. 2021-06-14 07:11:17 -04:00
Jeff Young 36259b1f6b Refresh lib trees after editing library tables.
Also make sure that we grab the library item descriptions from their
source rather than just the cached tree copy.

Fixes https://gitlab.com/kicad/code/kicad/issues/7875
2021-03-17 14:54:18 +00:00
Jeff Young bbb8173b61 Remove and re-add saved-as libraries when Syncing tree.
Also removes the aForce parameter as it was always true anyway.

Fixes https://gitlab.com/kicad/code/kicad/issues/7357
2021-01-31 23:00:17 +00:00
Jeff Young ff7742c6b8 File naming and include cleanup. 2021-01-28 11:35:18 +00:00
Wayne Stambaugh 1eee72ec65 Fix library tree behavior when duplicate project table entry is disabled.
Fixes https://gitlab.com/kicad/code/kicad/issues/5438
2021-01-11 07:46:07 -05:00
Jeff Young fb7ac450d9 Read-only dialogs for symbols in legacy libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/5211
2020-12-22 12:16:27 +00:00