Pcbnew: automatic selection of plugin when loading a file with .kicad_pcb extension from history list.
Very minor other fixes
This commit is contained in:
parent
b59cebb2a7
commit
d9ed8a3085
|
@ -185,42 +185,39 @@ const wxString GetPCBDefaultLayerName( int aLayerNumber )
|
|||
{
|
||||
const wxChar* txt;
|
||||
|
||||
// These are only default layer names. For Pcbnew the copper names
|
||||
// may be over-ridden in the BOARD (*.brd) file.
|
||||
|
||||
// Use a switch to explicitly show the mapping more clearly
|
||||
switch( aLayerNumber )
|
||||
{
|
||||
case LAYER_N_FRONT: txt = _( "Front" ); break;
|
||||
case LAYER_N_2: txt = _( "Inner2" ); break;
|
||||
case LAYER_N_3: txt = _( "Inner3" ); break;
|
||||
case LAYER_N_4: txt = _( "Inner4" ); break;
|
||||
case LAYER_N_5: txt = _( "Inner5" ); break;
|
||||
case LAYER_N_6: txt = _( "Inner6" ); break;
|
||||
case LAYER_N_7: txt = _( "Inner7" ); break;
|
||||
case LAYER_N_8: txt = _( "Inner8" ); break;
|
||||
case LAYER_N_9: txt = _( "Inner9" ); break;
|
||||
case LAYER_N_10: txt = _( "Inner10" ); break;
|
||||
case LAYER_N_11: txt = _( "Inner11" ); break;
|
||||
case LAYER_N_12: txt = _( "Inner12" ); break;
|
||||
case LAYER_N_13: txt = _( "Inner13" ); break;
|
||||
case LAYER_N_14: txt = _( "Inner14" ); break;
|
||||
case LAYER_N_15: txt = _( "Inner15" ); break;
|
||||
case LAYER_N_BACK: txt = _( "Back" ); break;
|
||||
case ADHESIVE_N_BACK: txt = _( "Adhes_Back" ); break;
|
||||
case ADHESIVE_N_FRONT: txt = _( "Adhes_Front" ); break;
|
||||
case SOLDERPASTE_N_BACK: txt = _( "SoldP_Back" ); break;
|
||||
case SOLDERPASTE_N_FRONT: txt = _( "SoldP_Front" ); break;
|
||||
case SILKSCREEN_N_BACK: txt = _( "SilkS_Back" ); break;
|
||||
case SILKSCREEN_N_FRONT: txt = _( "SilkS_Front" ); break;
|
||||
case SOLDERMASK_N_BACK: txt = _( "Mask_Back" ); break;
|
||||
case SOLDERMASK_N_FRONT: txt = _( "Mask_Front" ); break;
|
||||
case DRAW_N: txt = _( "Drawings" ); break;
|
||||
case COMMENT_N: txt = _( "Comments" ); break;
|
||||
case ECO1_N: txt = _( "Eco1" ); break;
|
||||
case ECO2_N: txt = _( "Eco2" ); break;
|
||||
case EDGE_N: txt = _( "PCB_Edges" ); break;
|
||||
default: txt = _( "BAD INDEX" ); break;
|
||||
case LAYER_N_FRONT: txt = _( "Front" ); break;
|
||||
case LAYER_N_2: txt = _( "Inner1" ); break;
|
||||
case LAYER_N_3: txt = _( "Inner2" ); break;
|
||||
case LAYER_N_4: txt = _( "Inner3" ); break;
|
||||
case LAYER_N_5: txt = _( "Inner4" ); break;
|
||||
case LAYER_N_6: txt = _( "Inner5" ); break;
|
||||
case LAYER_N_7: txt = _( "Inner6" ); break;
|
||||
case LAYER_N_8: txt = _( "Inner7" ); break;
|
||||
case LAYER_N_9: txt = _( "Inner8" ); break;
|
||||
case LAYER_N_10: txt = _( "Inner9" ); break;
|
||||
case LAYER_N_11: txt = _( "Inner10" ); break;
|
||||
case LAYER_N_12: txt = _( "Inner11" ); break;
|
||||
case LAYER_N_13: txt = _( "Inner12" ); break;
|
||||
case LAYER_N_14: txt = _( "Inner13" ); break;
|
||||
case LAYER_N_15: txt = _( "Inner14" ); break;
|
||||
case LAYER_N_BACK: txt = _( "Back" ); break;
|
||||
case ADHESIVE_N_BACK: txt = _( "Adhes_Back" ); break;
|
||||
case ADHESIVE_N_FRONT: txt = _( "Adhes_Front" ); break;
|
||||
case SOLDERPASTE_N_BACK: txt = _( "SoldP_Back" ); break;
|
||||
case SOLDERPASTE_N_FRONT: txt = _( "SoldP_Front" ); break;
|
||||
case SILKSCREEN_N_BACK: txt = _( "SilkS_Back" ); break;
|
||||
case SILKSCREEN_N_FRONT: txt = _( "SilkS_Front" ); break;
|
||||
case SOLDERMASK_N_BACK: txt = _( "Mask_Back" ); break;
|
||||
case SOLDERMASK_N_FRONT: txt = _( "Mask_Front" ); break;
|
||||
case DRAW_N: txt = _( "Drawings" ); break;
|
||||
case COMMENT_N: txt = _( "Comments" ); break;
|
||||
case ECO1_N: txt = _( "Eco1" ); break;
|
||||
case ECO2_N: txt = _( "Eco2" ); break;
|
||||
case EDGE_N: txt = _( "PCB_Edges" ); break;
|
||||
default: txt = wxT( "BAD INDEX" ); break;
|
||||
}
|
||||
|
||||
return wxString( txt );
|
||||
|
|
|
@ -660,8 +660,8 @@ bool DIALOG_LAYERS_SETUP::testLayerNames()
|
|||
// 3) cannot have " chars
|
||||
// 4) cannot be 'signal'
|
||||
// 5) must be unique.
|
||||
|
||||
static const wxString badchars( wxT("%$\" ") );
|
||||
// 6) cannot have illegal chars in filenames ( some filenames are built from layer names )
|
||||
static const wxString badchars( wxT("%$\" /\\.") );
|
||||
|
||||
if( name == wxEmptyString )
|
||||
{
|
||||
|
|
|
@ -176,10 +176,12 @@ the changes?" ) ) )
|
|||
// load a BOARD. Order is subject to change as KICAD plugin matures.
|
||||
// User may occasionally use the wrong plugin to load a *.brd file,
|
||||
// but eventually *.kicad_pcb will be more common than legacy *.brd files.
|
||||
static const struct {
|
||||
static const struct
|
||||
{
|
||||
const wxString& filter;
|
||||
IO_MGR::PCB_FILE_T pluginType;
|
||||
} loaders[] = {
|
||||
} loaders[] =
|
||||
{
|
||||
{ LegacyPcbFileWildcard, IO_MGR::LEGACY },
|
||||
{ PcbFileWildcard, IO_MGR::KICAD },
|
||||
{ EaglePcbFileWildcard, IO_MGR::EAGLE },
|
||||
|
@ -216,6 +218,12 @@ the changes?" ) ) )
|
|||
int chosenFilter = dlg.GetFilterIndex();
|
||||
pluginType = loaders[chosenFilter].pluginType;
|
||||
}
|
||||
else // if a filename is given, force IO_MGR::KICAD if the file est is kicad_pcb
|
||||
// for instance if the filename comes from file history
|
||||
{
|
||||
if( fileName.GetExt() == IO_MGR::GetFileExtension( IO_MGR::KICAD ) )
|
||||
pluginType = IO_MGR::KICAD;
|
||||
}
|
||||
|
||||
PLUGIN::RELEASER pi( IO_MGR::PluginFind( pluginType ) );
|
||||
|
||||
|
|
Loading…
Reference in New Issue