fp-lib-table and sym-lib-table when copying settings with settings migration dialog
The library tables are copied from old settings amongst other settings files when settings are migrated.
Here is my post from the forum:
Keeping the old lib-tables from the old (v4) installation has been a real royal PITA; even very recently people have been updating from v4 to v5 and need help from us because the old libraries are used invisibly (a need of an FAQ article is an indicator of a shortcoming in the software). How does the migration handle that? IMO if the user copies from an older version, there should be some kind of information/warning about the library tables and possibility to exclude them from the migration.
That option could possibly be integrated to the first-time library table dialog so that it’s shown after the settings migration even when the library tables have been copied.
The FAQ article written by Rene, https://forum.kicad.info/t/i-had-kicad-4-installed-previosly-now-i-updated-to-v5-now-i-have-some-problems-with-the-library-setup/11932, has been one of the most needed and it's referenced from more than 100 posts.
Things to consider:
- Most of the users who see this settings migration dialog have probably used KiCad for some time.
- On the other hand a newcomer on Linux may have installed a distro's official version but soon finds and upgrades to a newer version.
- A way to let the user do something about it is better than just warning.
- This happens very rarely for each user, so having an extra dialog window wouldn't be so bad (it wouldn't feel "nagware").
- But it's always better to avoid extra steps.
- Using the libraries corresponding to the KiCad version is most probably what a user wants to do or what they should be instructed to do by default.
A simple checkbox below the "copy settings from old installation" option would be a simple but effective solution. It would say something like "Copy also footprint and symbol library tables" and would be unchecked by default. The tooltip would tell more details: "The global library tables tell what component libraries KiCad can use for all projects. Check this option only if you intend to keep the old libraries and use them instead of new libraries."
A more complex solution would be to save a flag after settings migration which KiCad would read when opening the subprograms so that the corresponding first-time library table dialogs would be triggered, with option to use or replace the copied library tables.
Git commit e59a3d981e78 (the new settings framework in 5.99) (Sorry, I don't have the corresponding binaries available at hand)