Eeschema: remove the compil option KICAD_KEEPCASE. Eeschema is now always case sensitive when seraching components in libs.
However to be compatible with old versions of Eeschema, when a search in library fails, a case insensitive search is made. Therefore, this version should be compatible with sch files created by previous Eeschema versions compiled with KICAD_KEEPCASE = OFF
This commit is contained in:
parent
aa9de21cd7
commit
1edd8c8ac8
|
@ -26,20 +26,6 @@ set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules )
|
||||||
#option( USE_KIWAY_DLLS "Build the major modules as KIFACE DLLs or DSOs, will soon be the norm." ON )
|
#option( USE_KIWAY_DLLS "Build the major modules as KIFACE DLLs or DSOs, will soon be the norm." ON )
|
||||||
set( USE_KIWAY_DLLS true ) # this is now mandatory, the code is the same anyways, the old code is gone.
|
set( USE_KIWAY_DLLS true ) # this is now mandatory, the code is the same anyways, the old code is gone.
|
||||||
|
|
||||||
|
|
||||||
# The desire is to migrate designs *away from* case independence, and to create designs which use
|
|
||||||
# literally (case specific) interpreted component names. But for backwards compatibility,
|
|
||||||
# you may turn OFF this option if you really must. (Remember that with KiCad using text
|
|
||||||
# data files, typically you would be better off simply doctoring those files into
|
|
||||||
# a case literal state with a text editor and move forward into the brave new
|
|
||||||
# world of case specificity. Also, BOM generators may not work properly when you
|
|
||||||
# have this option turned OFF, the xml export's referential integrity is broken
|
|
||||||
# on library part name. Hence the default is ON now, as of 29-Jan-2014.
|
|
||||||
option( KICAD_KEEPCASE
|
|
||||||
"ON= case specific string matching on component names, OFF= match names as if they were spelt using uppercase."
|
|
||||||
ON
|
|
||||||
)
|
|
||||||
|
|
||||||
option( USE_WX_GRAPHICS_CONTEXT
|
option( USE_WX_GRAPHICS_CONTEXT
|
||||||
"Use wxGraphicsContext for rendering ( default OFF). Warning, this is experimental" )
|
"Use wxGraphicsContext for rendering ( default OFF). Warning, this is experimental" )
|
||||||
|
|
||||||
|
@ -245,10 +231,6 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
|
||||||
|
|
||||||
endif( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
|
endif( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
|
||||||
|
|
||||||
if( KICAD_KEEPCASE )
|
|
||||||
add_definitions( -DKICAD_KEEPCASE )
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if( USE_WX_OVERLAY OR APPLE )
|
if( USE_WX_OVERLAY OR APPLE )
|
||||||
add_definitions( -DUSE_WX_OVERLAY )
|
add_definitions( -DUSE_WX_OVERLAY )
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2004 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
||||||
*
|
*
|
||||||
|
@ -795,11 +795,6 @@ bool LIB_PART::Load( LINE_READER& aLineReader, wxString& aErrorMsg )
|
||||||
if( componentName[0] != '~' )
|
if( componentName[0] != '~' )
|
||||||
{
|
{
|
||||||
m_name = FROM_UTF8( componentName );
|
m_name = FROM_UTF8( componentName );
|
||||||
|
|
||||||
#ifndef KICAD_KEEPCASE
|
|
||||||
m_name = m_name.MakeUpper();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
value.SetText( m_name );
|
value.SetText( m_name );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2004 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
||||||
*
|
*
|
||||||
|
@ -46,11 +46,11 @@ class LIB_FIELD;
|
||||||
/// Compiler controlled string compare function, either case independent or not:
|
/// Compiler controlled string compare function, either case independent or not:
|
||||||
inline int Cmp_KEEPCASE( const wxString& aString1, const wxString& aString2 )
|
inline int Cmp_KEEPCASE( const wxString& aString1, const wxString& aString2 )
|
||||||
{
|
{
|
||||||
#ifdef KICAD_KEEPCASE
|
#if 1
|
||||||
// case specificity:
|
// case specificity:
|
||||||
return aString1.Cmp( aString2 );
|
return aString1.Cmp( aString2 );
|
||||||
#else
|
#else
|
||||||
// case independence:
|
// case independence (no more in use)
|
||||||
return aString1.CmpNoCase( aString2 );
|
return aString1.CmpNoCase( aString2 );
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2004 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
||||||
*
|
*
|
||||||
|
@ -899,6 +899,41 @@ LIB_ALIAS* PART_LIBS::FindLibraryEntry( const wxString& aName, const wxString& a
|
||||||
return entry;
|
return entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* searches all libraries in the list for an entry, using a case insensitive comparison.
|
||||||
|
* Used to find an entry, when the normal (case sensitive) search fails.
|
||||||
|
*/
|
||||||
|
LIB_ALIAS* PART_LIBS::FindLibraryNearEntry( const wxString& aEntryName,
|
||||||
|
const wxString& aLibraryName )
|
||||||
|
{
|
||||||
|
BOOST_FOREACH( PART_LIB& lib, *this )
|
||||||
|
{
|
||||||
|
if( !!aLibraryName && lib.GetName() != aLibraryName )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
LIB_ALIAS* entry = lib.GetFirstEntry();
|
||||||
|
|
||||||
|
if( ! entry )
|
||||||
|
continue;
|
||||||
|
|
||||||
|
wxString first_entry_name = entry->GetName();
|
||||||
|
wxString entry_name = first_entry_name;
|
||||||
|
|
||||||
|
for( ;; )
|
||||||
|
{
|
||||||
|
if( entry_name.CmpNoCase( aEntryName ) == 0 )
|
||||||
|
return entry;
|
||||||
|
|
||||||
|
entry = lib.GetNextEntry( entry_name );
|
||||||
|
entry_name = entry->GetName();
|
||||||
|
|
||||||
|
if( first_entry_name == entry_name )
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int PART_LIBS::s_modify_generation = 1; // starts at 1 and goes up
|
int PART_LIBS::s_modify_generation = 1; // starts at 1 and goes up
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2004 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
||||||
*
|
*
|
||||||
|
@ -209,13 +209,33 @@ public:
|
||||||
*
|
*
|
||||||
* The object can be either a part or an alias.
|
* The object can be either a part or an alias.
|
||||||
*
|
*
|
||||||
* @param aEntryName - Name of entry to search for.
|
* @param aEntryName - Name of entry to search for (case sensitive).
|
||||||
* @param aLibraryName - Name of the library to search.
|
* @param aLibraryName - Name of the library to search.
|
||||||
* @return The entry object if found, otherwise NULL.
|
* @return The entry object if found, otherwise NULL.
|
||||||
*/
|
*/
|
||||||
LIB_ALIAS* FindLibraryEntry( const wxString& aEntryName,
|
LIB_ALIAS* FindLibraryEntry( const wxString& aEntryName,
|
||||||
const wxString& aLibraryName = wxEmptyString );
|
const wxString& aLibraryName = wxEmptyString );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function FindLibraryNearEntry
|
||||||
|
* Searches all libraries in the list for an entry, using a case insensitive comparison.
|
||||||
|
* Used to find an entry, when the normal (case sensitive) search fails.
|
||||||
|
* Needed because during a long time, eeschema was using a case insensitive search.
|
||||||
|
* Therefore, for old schematics (<= 2013), or libs,
|
||||||
|
* which mixed upper case and lower case entry names, for compatibility reasons, if
|
||||||
|
* a normal search fails, this case insensitive search can be made.
|
||||||
|
* Could be also usefull also in some dialogs, when searching parts in libs.
|
||||||
|
* Remember this is a linear search, therefore slower than the normal binary search
|
||||||
|
*
|
||||||
|
* The object can be either a part or an alias.
|
||||||
|
*
|
||||||
|
* @param aEntryName - Name of entry to search for (case insensitive).
|
||||||
|
* @param aLibraryName - Name of the library to search.
|
||||||
|
* @return The entry object if found, otherwise NULL.
|
||||||
|
*/
|
||||||
|
LIB_ALIAS* FindLibraryNearEntry( const wxString& aEntryName,
|
||||||
|
const wxString& aLibraryName = wxEmptyString );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Function RemoveCacheLibrary
|
* Function RemoveCacheLibrary
|
||||||
* removes all cache libraries from library list.
|
* removes all cache libraries from library list.
|
||||||
|
@ -332,13 +352,7 @@ public:
|
||||||
* @param aMakeUpperCase - Force entry names to upper case.
|
* @param aMakeUpperCase - Force entry names to upper case.
|
||||||
*/
|
*/
|
||||||
void GetEntryNames( wxArrayString& aNames, bool aSort = true,
|
void GetEntryNames( wxArrayString& aNames, bool aSort = true,
|
||||||
bool aMakeUpperCase =
|
bool aMakeUpperCase = false );
|
||||||
#ifdef KICAD_KEEPCASE
|
|
||||||
false
|
|
||||||
#else
|
|
||||||
true
|
|
||||||
#endif
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load string array with entry names matching name and/or key word.
|
* Load string array with entry names matching name and/or key word.
|
||||||
|
@ -377,7 +391,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Find entry by name.
|
* Find entry by name.
|
||||||
*
|
*
|
||||||
* @param aName - Name of entry, case insensitive.
|
* @param aName - Name of entry, case sensitive.
|
||||||
* @return Entry if found. NULL if not found.
|
* @return Entry if found. NULL if not found.
|
||||||
*/
|
*/
|
||||||
LIB_ALIAS* FindEntry( const wxString& aName );
|
LIB_ALIAS* FindEntry( const wxString& aName );
|
||||||
|
@ -388,7 +402,7 @@ public:
|
||||||
* This is a helper for FindEntry so casting a LIB_ALIAS pointer to
|
* This is a helper for FindEntry so casting a LIB_ALIAS pointer to
|
||||||
* a LIB_PART pointer is not required.
|
* a LIB_PART pointer is not required.
|
||||||
*
|
*
|
||||||
* @param aName - Name of part, case insensitive.
|
* @param aName - Name of part, case sensitive.
|
||||||
* @return LIB_PART* - part if found, else NULL.
|
* @return LIB_PART* - part if found, else NULL.
|
||||||
*/
|
*/
|
||||||
LIB_PART* FindPart( const wxString& aName );
|
LIB_PART* FindPart( const wxString& aName );
|
||||||
|
@ -396,7 +410,7 @@ public:
|
||||||
/**
|
/**
|
||||||
* Find alias by \a nName.
|
* Find alias by \a nName.
|
||||||
*
|
*
|
||||||
* @param aName - Name of alias, case insensitive.
|
* @param aName - Name of alias, case sensitive.
|
||||||
* @return Alias if found. NULL if not found.
|
* @return Alias if found. NULL if not found.
|
||||||
*/
|
*/
|
||||||
LIB_ALIAS* FindAlias( const wxString& aName )
|
LIB_ALIAS* FindAlias( const wxString& aName )
|
||||||
|
|
|
@ -71,9 +71,7 @@ wxString DataBaseGetName( EDA_DRAW_FRAME* frame, wxString& Keys, wxString& BufNa
|
||||||
std::vector<wxArrayString> nameList;
|
std::vector<wxArrayString> nameList;
|
||||||
wxString msg;
|
wxString msg;
|
||||||
|
|
||||||
#ifndef KICAD_KEEPCASE
|
// BufName.MakeUpper();
|
||||||
BufName.MakeUpper();
|
|
||||||
#endif
|
|
||||||
Keys.MakeUpper();
|
Keys.MakeUpper();
|
||||||
|
|
||||||
/* Review the list of libraries for counting. */
|
/* Review the list of libraries for counting. */
|
||||||
|
|
|
@ -226,10 +226,6 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions()
|
||||||
{
|
{
|
||||||
wxString newname = chipnameTextCtrl->GetValue();
|
wxString newname = chipnameTextCtrl->GetValue();
|
||||||
|
|
||||||
#ifndef KICAD_KEEPCASE
|
|
||||||
newname.MakeUpper();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
newname.Replace( wxT( " " ), wxT( "_" ) );
|
newname.Replace( wxT( " " ), wxT( "_" ) );
|
||||||
|
|
||||||
if( newname.IsEmpty() )
|
if( newname.IsEmpty() )
|
||||||
|
@ -242,10 +238,28 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions()
|
||||||
|
|
||||||
if( libs->FindLibraryEntry( newname ) == NULL )
|
if( libs->FindLibraryEntry( newname ) == NULL )
|
||||||
{
|
{
|
||||||
wxString msg = wxString::Format( _(
|
if( LIB_ALIAS* entry = libs->FindLibraryNearEntry( newname ) )
|
||||||
"Component '%s' not found!" ),
|
{
|
||||||
GetChars( newname ) );
|
wxString near_name = entry->GetName();
|
||||||
DisplayError( this, msg );
|
wxString msg = wxString::Format( _(
|
||||||
|
"Component '%s' not found!\n"
|
||||||
|
"But the component '%s' exists\n"
|
||||||
|
"Do you want to use it?"),
|
||||||
|
GetChars( newname ), GetChars( near_name ) );
|
||||||
|
|
||||||
|
if( IsOK( this, msg ) )
|
||||||
|
{
|
||||||
|
chipnameTextCtrl->SetValue( near_name );
|
||||||
|
m_Cmp->SetPartName( near_name, libs );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
wxString msg = wxString::Format( _(
|
||||||
|
"Component '%s' not found!" ),
|
||||||
|
GetChars( newname ) );
|
||||||
|
DisplayError( this, msg );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else // Change component from lib!
|
else // Change component from lib!
|
||||||
{
|
{
|
||||||
|
|
|
@ -185,10 +185,6 @@ SCH_COMPONENT* SCH_EDIT_FRAME::Load_Component( wxDC* aDC,
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef KICAD_KEEPCASE
|
|
||||||
name.MakeUpper();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
m_canvas->SetIgnoreMouseEvents( false );
|
m_canvas->SetIgnoreMouseEvents( false );
|
||||||
m_canvas->MoveCursorToCrossHair();
|
m_canvas->MoveCursorToCrossHair();
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2004 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2004 Jean-Pierre Charras, jp.charras ar wanadoo.fr
|
||||||
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
* Copyright (C) 2008-2011 Wayne Stambaugh <stambaughw@verizon.net>
|
||||||
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
* Copyright (C) 2004-2011 KiCad Developers, see change_log.txt for contributors.
|
||||||
*
|
*
|
||||||
|
@ -32,11 +32,8 @@
|
||||||
#include <confirm.h>
|
#include <confirm.h>
|
||||||
#include <class_sch_screen.h>
|
#include <class_sch_screen.h>
|
||||||
#include <wxstruct.h>
|
#include <wxstruct.h>
|
||||||
#include <sch_item_struct.h>
|
|
||||||
#include <wxEeschemaStruct.h>
|
#include <wxEeschemaStruct.h>
|
||||||
|
|
||||||
#include <general.h>
|
|
||||||
#include <netlist.h>
|
|
||||||
#include <class_library.h>
|
#include <class_library.h>
|
||||||
#include <sch_component.h>
|
#include <sch_component.h>
|
||||||
#include <sch_sheet.h>
|
#include <sch_sheet.h>
|
||||||
|
@ -69,7 +66,8 @@ bool SCH_EDIT_FRAME::CreateArchiveLibrary( const wxString& aFileName )
|
||||||
libCache->SetCache();
|
libCache->SetCache();
|
||||||
|
|
||||||
/* examine all screens (not sheets) used and build the list of components
|
/* examine all screens (not sheets) used and build the list of components
|
||||||
* found in lib complex hierarchies are not a problem because we just want
|
* found in lib.
|
||||||
|
* Complex hierarchies are not a problem because we just want
|
||||||
* to know used components in libraries
|
* to know used components in libraries
|
||||||
*/
|
*/
|
||||||
for( SCH_SCREEN* screen = screens.GetFirst(); screen; screen = screens.GetNext() )
|
for( SCH_SCREEN* screen = screens.GetFirst(); screen; screen = screens.GetNext() )
|
||||||
|
@ -89,6 +87,17 @@ bool SCH_EDIT_FRAME::CreateArchiveLibrary( const wxString& aFileName )
|
||||||
// AddPart() does first clone the part before adding.
|
// AddPart() does first clone the part before adding.
|
||||||
libCache->AddPart( part );
|
libCache->AddPart( part );
|
||||||
}
|
}
|
||||||
|
else // Search for a part/alias using case insensitive search
|
||||||
|
{ // for compatibility with old versions of schematics
|
||||||
|
LIB_ALIAS* entry = libs->FindLibraryNearEntry( component->GetPartName() );
|
||||||
|
|
||||||
|
if( entry && !libCache->FindEntry( entry->GetName() ) )
|
||||||
|
{
|
||||||
|
if( LIB_PART* part = libs->FindLibPart( entry->GetName() ) )
|
||||||
|
libCache->AddPart( part );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -638,11 +638,7 @@ void LIB_EDIT_FRAME::CreateNewLibraryPart( wxCommandEvent& event )
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifndef KICAD_KEEPCASE
|
|
||||||
name = dlg.GetName().MakeUpper();
|
|
||||||
#else
|
|
||||||
name = dlg.GetName();
|
name = dlg.GetName();
|
||||||
#endif
|
|
||||||
name.Replace( wxT( " " ), wxT( "_" ) );
|
name.Replace( wxT( " " ), wxT( "_" ) );
|
||||||
|
|
||||||
PART_LIB* lib = GetCurLib();
|
PART_LIB* lib = GetCurLib();
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
/*
|
/*
|
||||||
* This program source code file is part of KiCad, a free EDA CAD application.
|
* This program source code file is part of KiCad, a free EDA CAD application.
|
||||||
*
|
*
|
||||||
* Copyright (C) 2009 Jean-Pierre Charras, jaen-pierre.charras@gipsa-lab.inpg.com
|
* Copyright (C) 2009 Jean-Pierre Charras, jp.charras at wanadoo.fr
|
||||||
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
* Copyright (C) 1992-2011 KiCad Developers, see AUTHORS.txt for contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or
|
* This program is free software; you can redistribute it and/or
|
||||||
|
@ -265,6 +265,22 @@ bool SCH_COMPONENT::Resolve( PART_LIBS* aLibs )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// the part was not found. try to search with no case comparison
|
||||||
|
// because during a long time, Eeschema was using upper case only
|
||||||
|
// for names.
|
||||||
|
// and we could have loaded an old schematic using upper case only
|
||||||
|
// and libs using upper+lower case for lib items names
|
||||||
|
if( LIB_ALIAS* entry = aLibs->FindLibraryNearEntry( m_part_name ) )
|
||||||
|
{
|
||||||
|
// Now find the part (the lib part if we are using an alias) using
|
||||||
|
// the "near" name
|
||||||
|
if( LIB_PART* part = aLibs->FindLibPart( entry->GetName() ) )
|
||||||
|
{
|
||||||
|
m_part = part->SharedPtr();
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -350,12 +350,14 @@ void KICAD_MANAGER_FRAME::OnRunPcbNew( wxCommandEvent& event )
|
||||||
void KICAD_MANAGER_FRAME::OnRunPcbFpEditor( wxCommandEvent& event )
|
void KICAD_MANAGER_FRAME::OnRunPcbFpEditor( wxCommandEvent& event )
|
||||||
{
|
{
|
||||||
KIWAY_PLAYER* frame = Kiway.Player( FRAME_PCB_MODULE_EDITOR, false );
|
KIWAY_PLAYER* frame = Kiway.Player( FRAME_PCB_MODULE_EDITOR, false );
|
||||||
|
|
||||||
if( !frame )
|
if( !frame )
|
||||||
{
|
{
|
||||||
frame = Kiway.Player( FRAME_PCB_MODULE_EDITOR, true );
|
frame = Kiway.Player( FRAME_PCB_MODULE_EDITOR, true );
|
||||||
// frame->OpenProjectFiles( std::vector<wxString>( 1, aProjectBoardFileName ) );
|
// frame->OpenProjectFiles( std::vector<wxString>( 1, aProjectBoardFileName ) );
|
||||||
frame->Show( true );
|
frame->Show( true );
|
||||||
}
|
}
|
||||||
|
|
||||||
frame->Raise();
|
frame->Raise();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue