Symbol Editor: fix datasheet field bug loading old symbol libraries.
This only applies to the root symbol when the datasheet field is not
empty and the datasheet for root symbol alias in the document file is
empty. Use the root symbol datasheet field value when adding a new
symbol that meets this criteria.
The root symbol datasheet field gets copied to the root symbol alias
datasheet member variable so if the symbol is modified and saved, the
datasheet information is saved in the .dcm file.
https://bugs.launchpad.net/kicad/+bug/1830078
Fixes lp:1830078
(cherry picked from commit c52ff1ca23
)
This commit is contained in:
parent
6afc572eae
commit
6db7cb8937
|
@ -179,8 +179,18 @@ bool DIALOG_EDIT_COMPONENT_IN_LIBRARY::TransferDataToWindow()
|
|||
// Push a copy of each field into m_fields
|
||||
m_libEntry->GetFields( *m_fields );
|
||||
|
||||
// Datasheet field is special; grab its value from the docfilename
|
||||
m_fields->at( DATASHEET ).SetText( rootAlias->GetDocFileName() );
|
||||
// The datasheet field is special. Grab its value from the LIB_ALIAS document file
|
||||
// member except for old libraries that saved the root alias document file in the
|
||||
// datasheet field in the LIB_PART object.
|
||||
if( rootAlias->GetDocFileName().IsEmpty() )
|
||||
{
|
||||
m_fields->at( DATASHEET ).SetText( m_libEntry->GetField( DATASHEET )->GetText() );
|
||||
rootAlias->SetDocFileName( m_libEntry->GetField( DATASHEET )->GetText() );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_fields->at( DATASHEET ).SetText( rootAlias->GetDocFileName() );
|
||||
}
|
||||
|
||||
// The Y axis for components in lib is from bottom to top while the screen axis is top
|
||||
// to bottom: we must change the y coord sign for editing
|
||||
|
|
Loading…
Reference in New Issue