Jon Evans
aa21aacd72
Improve efficiency of power symbol filtering
...
Calling GetLibSymbol for every node is quite expensive,
put this info into the node directly instead.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/23267
2026-03-03 21:26:09 -05:00
Jon Evans
f06a303384
Symbol chooser performance improvements
...
Cache LIB_SYMBOL properties used for chooser filtering
Reduce copying during creation of chooser widgets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/23267
2026-03-03 21:26:07 -05: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
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
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
Jeff Young
598d446a38
Simplify libTree scoring algorithm.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/20610
2025-04-11 12:23:47 +01:00
Jeff Young
e8e0b07223
Honour on-the-fly language changes.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/19773
2025-01-28 15:09:11 +00: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
Mike Williams
2c99bc6c6d
new feature: Schematic Design Blocks
...
Added to advanced config, default to off.
EnableDesignBlocks=1 in kicad_advanced to test
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/2263
2024-09-05 08:35:49 -04:00
Jeff Young
67a0253c66
m_filter is subtractive, and so must be run for each term
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/18181
2024-08-14 21:22:39 -06:00
Alex Shvartzkop
ece46223c9
Fix shadowed/conflicting enum values.
2024-06-21 16:16:29 +03:00
Seth Hillbrand
0476b6c72d
Ensure irreflexive property in LIB_TREE_NODE
2024-05-05 07:33:00 -07:00
Jeff Young
92910d5d0f
Factor common parts of SCH_ & LIB_SYMBOL into SYMBOL.
2024-04-04 13:18:55 +01:00
Jeff Young
bf2b3b0b0f
Deconflict some LIB_TREE_ITEM APIs so they can remain non-const.
...
(The non-const is required by FOOTPRINT_INFO, which must load
footrpints to get some of the data.)
2024-04-04 13:18:55 +01:00
Jon Evans
77eaa75db1
Show all library children if library name matches search
...
(cherry picked from commit a042d1aab4 )
2024-04-02 22:51:41 +00:00
Jon Evans
0c2a084a47
Fix a few LIB_TREE search issues
...
Don't apply pruning to libraries that don't have
any children, since the point of the pruning is to
hide libraries that don't directly match a search
term if they don't have any children that match.
Fix searching for full LIB_IDs that got broken by
the implementation of "AND"
Fix searching for library names alone
Fixes https://gitlab.com/kicad/code/kicad/-/issues/17205
2024-03-05 18:54:04 -05:00
Jon Evans
589e21cd3b
Attempt to fix lib search again
...
The new bits will drop search results that
don't match all tokens in the search string,
which seems desirable.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16974
2024-02-23 14:36:32 +00:00
Jeff Young
df161c9886
Support parital matches for libraries.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16400
2023-12-20 12:46:22 +00:00
Wayne Stambaugh
a4b38fbb80
Coverity warning fixes.
2023-12-18 16:09:13 -05:00
Mike Williams
b3b7a41d51
Symbol Chooser: keep Recently Used at very top
...
Addition of Already Placed sorted it above Recently Used
2023-12-13 09:40:28 -05:00
Jeff Young
a4a946ab75
Clearer naming.
2023-11-17 18:36:33 +00:00
Jeff Young
2f3c0a608d
Score LIB_TREE_NODE_UNITs.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16106
2023-11-17 18:36:33 +00:00
Jeff Young
78e00ade7a
Clearer naming.
2023-11-09 14:05:35 +00:00
Jeff Young
72c985bc07
Rewrite scoring algo again. (Third time's the charm?)
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16042
2023-11-08 12:33:09 +00:00
Jeff Young
64c692a42e
Allow a:b to represent either lib:item_name or key:value.
...
Also changes the scoring algorithm to start at 0 and then increment
to 1 (the value that tells us to show, but not expand) only if the
search terms and lib filters are empty.
2023-10-31 23:20:59 +00:00
Jeff Young
0cf6679bfe
Try to get the scoring logic right (again).
...
Also adds matching against a library name.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15875
2023-10-23 18:24:25 +01:00
Jeff Young
bc0fe74f72
Score initializing is done by LIB_TREE_NODE::ResetScore().
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15875
2023-10-23 13:09:41 +01:00
Jeff Young
06446bb80e
Only expand lib tree when filtering.
2023-10-02 16:24:53 +01:00
Jeff Young
fa11e9138d
ADDED support for pin and fp filtering in FOOTPRINT_CHOOSER.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7176
2023-09-29 17:03:50 +01:00
Jeff Young
df7d62fdd3
Added a sort-order dropdown to lib-tree filters.
...
Also simplifies the scoring algorithm so that it only
differentiates between exact-match, match-at-start and
any-match. The rest of the position-based matching
stuff is gone, as is the knowledge of the name vs the
keywords vs the description. All that is left to the
provider of the weighted search terms array.
2023-05-01 21:26:43 +01:00
Jeff Young
bc754df30f
Go back to winner-takes-all lib-tree scoring algorithm.
...
(Because we sort alphabetically there's no way to see
what the second-highest scored item was.)
2023-04-30 13:01:09 +01:00
Jeff Young
d01c023d5a
Retire the lib-tree scoring algorithm.
...
It appears to cause more confusion than help.
Fixes https://gitlab.com/kicad/code/kicad/issues/13905
2023-04-14 23:35:27 +01:00
Seth Hillbrand
5c1b15f8e3
Make LIB_TREE_NODE sort irreflexive
...
std::sort requires explicit ordering of all elements. It does not allow
for equality in its output
2023-02-16 13:00:18 -08:00
kliment
b97f9ea329
Add support for symbol unit display names in eeschema and symbol editor
2022-09-14 22:11:37 +00:00
Jon Evans
e294fe2074
ADDED: Dynamic field columns in symbol chooser
...
CHANGED: Symbol chooser search now considers custom symbol fields
Visible columns can be controlled in database libraries.
In standard KiCad libraries, we show columns for all custom fields for now.
Customizable column visibility will be added in the future.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/11946
2022-09-05 16:38:14 -04:00
Jon Evans
300d92438c
Allow hiding symbol library tables from symbol chooser
...
Hidden but loaded libraries are useful when using database libraries
2022-08-26 20:18:40 -04:00
Jeff Young
120c5b9ac1
Reimplement pinning now that we're no longer sorting on score.
2022-07-09 12:26:44 -06:00
Seth Hillbrand
4790257616
Don't break alphabetical sorting on search
...
When using the "Filter" search for footprints/symbols, the least
surprising outcome is that the window filters the existing
(alphabetically sorted) list but does not change the display order based
on scoring.
This also needs to adjust the fix for
https://gitlab.com/kicad/code/kicad/-/issues/259 as that assumed the
selected element would be the first below the group (not the case if we
are sorting alphabetically)
Fixes https://gitlab.com/kicad/code/kicad/issues/11746
2022-06-10 11:48:47 -07:00
Jeff Young
244042ce51
Keep footprint selection in Symbol Chooser history list.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1841
2022-06-06 22:24:02 +01:00
Jeff Young
dd2e12bdf1
Formatting.
2022-06-04 22:22:55 +01:00
Jeff Young
c6f83b6dec
ADDED Duplicate Footprint, Rename Symbol and Rename Footprint.
2022-04-22 22:06:51 +01:00
Jeff Young
724182abe4
Fix lib tree searches to handle searching on library names.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9981
2021-12-14 15:18:48 +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
5cac8afe1d
Remove long-dead revision support for LIB_IDs.
2021-06-30 13:12:57 +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
Jeff Young
359c29639f
Fix access into empty container.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6840
2020-12-24 19:43:33 +00:00
emC5RgViIK
47297402d3
#include <algorithm> so std::sort is found.
2020-05-15 10:49:43 +00:00
Jeff Young
2017389f2d
Pinning for library trees in FPEditor and SymbolEditor.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2288
2020-02-14 00:10:40 +00:00
Jeff Young
6b6e9eddee
Return control of Symbol and Footprint chooser col widths to user.
...
The auto-calculation wasn't working out and even with it some users
wanted control.
Fixes: lp:1796774
* https://bugs.launchpad.net/kicad/+bug/1796774
2019-08-26 18:27:49 +01:00
Jeff Young
92330b9c93
Sort modules and pads in Footprint Report file.
...
Fixes: lp:1793764
* https://bugs.launchpad.net/kicad/+bug/1793764
2019-08-26 18:27:49 +01:00