Fix display and archiving of Protel gerber files in Project manager.

This commit is contained in:
Alex 2022-11-18 04:39:18 +05:00
parent 4b1994e554
commit 95b8fe26b4
4 changed files with 8 additions and 12 deletions

View File

@ -134,12 +134,8 @@ bool PROJECT_ARCHIVER::Archive( const wxString& aSrcDir, const wxString& aDestFi
wxT( "*.mod" ),
wxT( "*.stp" ), wxT( "*.step" ), // 3d files
wxT( "*.wrl" ),
wxT( "*.gb?" ), wxT( "*.gbrjob" ), // Gerber files
wxT( "*.gko" ), wxT( "*.gm1" ),
wxT( "*.gm2" ), wxT( "*.g?" ),
wxT( "*.gp1" ), wxT( "*.gp2" ),
wxT( "*.gpb" ), wxT( "*.gpt" ),
wxT( "*.gt?" ),
wxT( "*.g?" ), wxT( "*.g??" ), // Gerber files
wxT( "*.gm??" ), wxT( "*.gbrjob" ),
wxT( "*.pos" ), wxT( "*.drl" ), wxT( "*.nc" ), wxT( "*.xnc" ), // Fab files
wxT( "*.d356" ), wxT( "*.rpt" ),
wxT( "*.net" ), wxT( "*.py" ),

View File

@ -189,14 +189,14 @@ const std::string CsvFileExtension( "csv" );
*/
const std::vector<std::string> GerberFileExtensions =
{
GerberFileExtension, GerberJobFileExtension,
GerberFileExtension,
"gbl", "gbo", "gbp", "gbs", "gko",
"gm1", "gm2", "gm3", "gm4", "gm5", "gm6", "gm7", "gm8", "gm9",
"g1", "g3",
"gpt", "gpb", "gtl", "gto", "gtp", "gts", "pho", "pos"
};
const wxString GerberFileExtensionWildCard( ".((gbr|gbrjob|(gb|gt)[alops])|pho)" );
const wxString GerberFileExtensionWildCard( "((gbr|(gb|gt)[alops]|g[0-9]{1,2}|gm[0-9]{1,2}|gko)|pho)" );
bool IsExtensionAccepted( const wxString& aExt, const std::vector<std::string> acceptedExts )

View File

@ -233,6 +233,7 @@ KICAD_MANAGER_FRAME::KICAD_MANAGER_FRAME( wxWindow* parent, const wxString& titl
m_acceptedExts.emplace( LegacyProjectFileExtension, &KICAD_MANAGER_ACTIONS::loadProject );
for( const auto& ext : GerberFileExtensions )
m_acceptedExts.emplace( ext, &KICAD_MANAGER_ACTIONS::viewDroppedGerbers );
m_acceptedExts.emplace( GerberJobFileExtension, &KICAD_MANAGER_ACTIONS::viewDroppedGerbers );
m_acceptedExts.emplace( DrillFileExtension, &KICAD_MANAGER_ACTIONS::viewDroppedGerbers );
// Eagle files import
m_acceptedExts.emplace( EagleSchematicFileExtension,
@ -435,6 +436,7 @@ void KICAD_MANAGER_FRAME::DoWithAcceptedFiles()
// Gerbview editor should be able to open Gerber and drill files
std::vector<std::string> gerberExts( GerberFileExtensions );
gerberExts.push_back( GerberJobFileExtension );
gerberExts.push_back( DrillFileExtension );
for( const wxFileName& fileName : m_AcceptedFiles )

View File

@ -90,6 +90,8 @@ static const wxChar* s_allowedExtensionsToList[] = {
wxT( "^.*\\.gb[alops]$" ), // Gerber back (or bottom) layer file (deprecated Protel ext)
wxT( "^.*\\.gt[alops]$" ), // Gerber front (or top) layer file (deprecated Protel ext)
wxT( "^.*\\.g[0-9]{1,2}$" ), // Gerber inner layer file (deprecated Protel ext)
wxT( "^.*\\.gm[0-9]{1,2}$" ), // Gerber mechanical layer file (deprecated Protel ext)
wxT( "^.*\\.gko$" ), // Gerber keepout layer file (deprecated Protel ext)
wxT( "^.*\\.odt$" ),
wxT( "^.*\\.htm$" ),
wxT( "^.*\\.html$" ),
@ -347,10 +349,6 @@ wxTreeItemId PROJECT_TREE_PANE::addItemToProjectTree( const wxString& aName,
if( ext == wxT( "" ) )
continue;
// For gerber files, the official ext is gbr
if( i == static_cast<int>( TREE_FILE_TYPE::GERBER ) )
ext = "gbr";
reg.Compile( wxString::FromAscii( "^.*\\." ) + ext + wxString::FromAscii( "$" ),
wxRE_ICASE );