DB symbol fields are lexicographically sorted by value
Description
Using atomic parts from a database file the ordering of the fields is determined by a lexicographic sort of the field values. This causes the visible ordering of fields to jump "arbitrarily" between ostensibly similar parts and causes uneccessary visual noise.
This is the version 10.0.1 state showing the inconsistency. The fields are "Resistance"(=Value), "Tolerance" and "Power rating".
This is the state in version 9.0.9 (The result does not depend on the used color scheme).
Of interest may also be that version 9 allows reordering the fields in the properties dialog, but this does not change the visual order, while version 10 completely refuses to save any reordering done in the properties window. (And seeing as the order in the window seems to correspond 1:1 to the visual order this would make sense.)
Steps to reproduce
- Create a part database with at least two visible, non-standard fields.
- Populate the database with components which have differing lexicographic sorting between the fields.
- Place the components in eeschema in 10.0.1 and observe the ordering.
KiCad Version
Application: KiCad x64 on x64
Version: 10.0.1, release build
Libraries:
wxWidgets 3.3.2
FreeType 2.13.3
HarfBuzz 12.3.0
FontConfig 2.17.1
libcurl/8.18.0 Schannel zlib/1.3.1
Platform: Windows 11 (build 22621), 64-bit edition, 64 bit, Little endian, wxMSW
OpenGL: Intel, Intel(R) Iris(R) Xe Graphics, 4.6.0 - Build 32.0.101.7084
Build Info:
Date: Apr 15 2026 19:23:15
wxWidgets: 3.3.2 (wchar_t,STL containers)
Boost: 1.90.0
OCC: 7.9.2
Curl: 8.18.0
ngspice: 46
Compiler: Visual C++ 1944 without C++ ABI
KICAD_IPC_API=ON
KICAD_USE_PCH=OFF
Locale:
Lang: en_GB
Enc: UTF-8
Num: 1,234.5
Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)
