Change all of the component tree helper objects to use LIB_IDs instead of
LIB_ALIAS pointers. LIB_ALIAS pointers are dangerous to use because they
can be deleted in the symbol library editor while the component chooser
dialog has copies of them. With LIB_IDs, the LIB_ALIAS pointer is found
on demand and can be guaranteed to be valid.
Update the chooser dialog to load the symbol library table instead of the
libraries defined in the project file and return a LIB_ID instead of a
LIB_ALIAS pointer.
Modify SCH_BASE_FRAME::SelectComponentFromLibrary() to handle the LIB_IDs
returned from the component chooser dialog.
Use GetPath() instead of GetFullPath() when initializing environment
variable table entries KICAD_SYMBOL_DIR and KICAD_PTEMPALTE due to
unexpected trailing path separator which was causing find libraries
by URI to fail.
Don't create a project symbol library table when there are no libraries
not found in the global symbol library table.
Don't add non-existent libraries to project symbol library table.
Clear symbol library table when loading a new schematic.
Minor remapping status message improvements.
Remove all instances of PART_LIBS and replace them with SYMBOL_LIB_TABLE
except for the CMP_TREE_MODEL_ADAPTER which requires updating as well.
Return the selected symbol using the LIB_NICKNAME:SYMBOL_NAME format when
viewer is launched as modal.
Add code to SYMBOL_LIB_TABLE object to allow enumerating symbol library
power symbols only.
Add a non-const version of LIB_TABLE::findRow().
Remove redundant information from Doxygen comments.
Check the if the schematic being loaded has been remapped (no symbol
library table nicknames defined) and remap accordingly.
Fix issues when resolving the library symbol links in the schematic
symbols.
Add cache library fallback when resolving symbols that cannot be
remapped.
Add remap complete message to remap dialog.
Add HasLibrary() helper to LIB_TABLE_BASE.
Fix issues when loading library symbols using symbol library table.
Add hashing function to symbol library table.
Improve the symbol panel message to warn user when cache library is
used to resolve symbol.
Just a set of small code cleanups to fix a bunch of warnings
and remove dead code.
Other than that the 'build:' commits avoid/remove/fix the
installation of certain files:
- it doesn't make much sense to install the INSTALL.txt
- *.bat scripts shouldn't be installed on UNIX systems
- use CMAKE_INSTALL_* consistently to install files in the
correct places
In LIB_EDIT_FRAME::GetComponentFrom{Undo,Redo}List() methods, the
PICKED_ITEMS_LIST object which was retrieved from undo/redo list has not
been destroyed.
Rewritten SCH_SCREEN::ClearUndoORRedoList() to be easier to read.
Minor whitespace formatting.
- Use simple filename matching
- If a STEP file is found, use that instead
- Similar behaviour to the infamous StepUp tool
Fixes lp:1710796
https://bugs.launchpad.net/kicad/+bug/1710796
KiCad library symbol text objects cannot contain carriage returns and/or
line feeds which isn't the case with Eagle symbol libraries. Otherwise,
the library file will be corrupt when it is saved. Fixing this in the
legacy plugin would break the current file format so just replace them
with underscores. Ideally these text objects should be broken into
multiple text objects but the current plugin design doesn't support
this.