diff --git a/3d-viewer/3d_viewer/eda_3d_viewer_frame.cpp b/3d-viewer/3d_viewer/eda_3d_viewer_frame.cpp index 22b7534061..847f311c62 100644 --- a/3d-viewer/3d_viewer/eda_3d_viewer_frame.cpp +++ b/3d-viewer/3d_viewer/eda_3d_viewer_frame.cpp @@ -714,8 +714,8 @@ void EDA_3D_VIEWER_FRAME::takeScreenshot( wxCommandEvent& event ) if( event.GetId() != ID_TOOL_SCREENCOPY_TOCLIBBOARD ) { // Remember path between saves during this session only. - const wxString wildcard = fmt_is_jpeg ? JpegFileWildcard() : PngFileWildcard(); - const wxString ext = fmt_is_jpeg ? JpegFileExtension : PngFileExtension; + const wxString wildcard = fmt_is_jpeg ? FILEEXT::JpegFileWildcard() : FILEEXT::PngFileWildcard(); + const wxString ext = fmt_is_jpeg ? FILEEXT::JpegFileExtension : FILEEXT::PngFileExtension; // First time path is set to the project path. if( !m_defaultSaveScreenshotFileName.IsOk() ) diff --git a/bitmap2component/bitmap2cmp_frame.cpp b/bitmap2component/bitmap2cmp_frame.cpp index 20830f5a29..bd0f98e040 100644 --- a/bitmap2component/bitmap2cmp_frame.cpp +++ b/bitmap2component/bitmap2cmp_frame.cpp @@ -438,14 +438,14 @@ void BITMAP2CMP_FRAME::ExportDrawingSheetFormat() path = ::wxGetCwd(); wxFileDialog fileDlg( this, _( "Create Drawing Sheet File" ), path, wxEmptyString, - DrawingSheetFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::DrawingSheetFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); int diag = fileDlg.ShowModal(); if( diag != wxID_OK ) return; fn = fileDlg.GetPath(); - fn.SetExt( DrawingSheetFileExtension ); + fn.SetExt( FILEEXT::DrawingSheetFileExtension ); m_convertedFileName = fn.GetFullPath(); FILE* outfile; @@ -475,7 +475,7 @@ void BITMAP2CMP_FRAME::ExportPostScriptFormat() path = ::wxGetCwd(); wxFileDialog fileDlg( this, _( "Create PostScript File" ), path, wxEmptyString, - PSFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::PSFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( fileDlg.ShowModal() != wxID_OK ) return; @@ -511,12 +511,13 @@ void BITMAP2CMP_FRAME::ExportEeschemaFormat() path = ::wxGetCwd(); wxFileDialog fileDlg( this, _( "Create Symbol Library" ), path, wxEmptyString, - KiCadSymbolLibFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::KiCadSymbolLibFileWildcard(), + wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( fileDlg.ShowModal() != wxID_OK ) return; - fn = EnsureFileExtension( fileDlg.GetPath(), KiCadSymbolLibFileExtension ); + fn = EnsureFileExtension( fileDlg.GetPath(), FILEEXT::KiCadSymbolLibFileExtension ); m_convertedFileName = fn.GetFullPath(); FILE* outfile = wxFopen( m_convertedFileName, wxT( "w" ) ); @@ -545,12 +546,13 @@ void BITMAP2CMP_FRAME::ExportPcbnewFormat() path = m_mruPath; wxFileDialog fileDlg( this, _( "Create Footprint Library" ), path, wxEmptyString, - KiCadFootprintLibFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::KiCadFootprintLibFileWildcard(), + wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( fileDlg.ShowModal() != wxID_OK ) return; - fn = EnsureFileExtension( fileDlg.GetPath(), KiCadFootprintFileExtension ); + fn = EnsureFileExtension( fileDlg.GetPath(), FILEEXT::KiCadFootprintFileExtension ); m_convertedFileName = fn.GetFullPath(); FILE* outfile = wxFopen( m_convertedFileName, wxT( "w" ) ); diff --git a/common/CMakeLists.txt b/common/CMakeLists.txt index 6e1e7ac9ed..99feb628a1 100644 --- a/common/CMakeLists.txt +++ b/common/CMakeLists.txt @@ -119,6 +119,7 @@ set( KICOMMON_SRCS richio.cpp string_utils.cpp trace_helpers.cpp + wildcards_and_files_ext.cpp wx_filename.cpp io/kicad/kicad_io_utils.cpp # needed by richio @@ -509,7 +510,6 @@ set( COMMON_SRCS title_block.cpp undo_redo_container.cpp validators.cpp - wildcards_and_files_ext.cpp drawing_sheet/ds_painter.cpp xnode.cpp view/wx_view_controls.cpp diff --git a/common/database/database_lib_settings.cpp b/common/database/database_lib_settings.cpp index 252e71170c..f4685194f2 100644 --- a/common/database/database_lib_settings.cpp +++ b/common/database/database_lib_settings.cpp @@ -168,5 +168,5 @@ DATABASE_LIB_SETTINGS::DATABASE_LIB_SETTINGS( const std::string& aFilename ) : wxString DATABASE_LIB_SETTINGS::getFileExt() const { - return DatabaseLibraryFileExtension; + return FILEEXT::DatabaseLibraryFileExtension; } diff --git a/common/dialogs/dialog_page_settings.cpp b/common/dialogs/dialog_page_settings.cpp index 54f9bc7463..1371760356 100644 --- a/common/dialogs/dialog_page_settings.cpp +++ b/common/dialogs/dialog_page_settings.cpp @@ -793,7 +793,8 @@ void DIALOG_PAGES_SETTINGS::OnWksFileSelection( wxCommandEvent& event ) // Display a file picker dialog wxFileDialog fileDialog( this, _( "Drawing Sheet File" ), path, name, - DrawingSheetFileWildcard(), wxFD_DEFAULT_STYLE|wxFD_FILE_MUST_EXIST ); + FILEEXT::DrawingSheetFileWildcard(), + wxFD_DEFAULT_STYLE | wxFD_FILE_MUST_EXIST ); if( fileDialog.ShowModal() != wxID_OK ) return; diff --git a/common/dialogs/panel_hotkeys_editor.cpp b/common/dialogs/panel_hotkeys_editor.cpp index 9236dd6fef..355ac96c7e 100644 --- a/common/dialogs/panel_hotkeys_editor.cpp +++ b/common/dialogs/panel_hotkeys_editor.cpp @@ -199,8 +199,8 @@ void PANEL_HOTKEYS_EDITOR::OnFilterSearch( wxCommandEvent& aEvent ) void PANEL_HOTKEYS_EDITOR::ImportHotKeys() { wxString filename = wxFileSelector( _( "Import Hotkeys File:" ), m_frame->GetMruPath(), - wxEmptyString, HotkeyFileExtension, - HotkeyFileWildcard(), wxFD_OPEN, this ); + wxEmptyString, FILEEXT::HotkeyFileExtension, + FILEEXT::HotkeyFileWildcard(), wxFD_OPEN, this ); if( filename.IsEmpty() ) return; @@ -229,7 +229,7 @@ void PANEL_HOTKEYS_EDITOR::ImportHotKeys() void PANEL_HOTKEYS_EDITOR::dumpHotkeys() { wxString filename = wxFileSelector( wxT( "Hotkeys File" ), m_frame->GetMruPath(), - wxEmptyString, TextFileExtension, TextFileWildcard(), + wxEmptyString, FILEEXT::TextFileExtension, FILEEXT::TextFileWildcard(), wxFD_SAVE, this ); if( filename.IsEmpty() ) diff --git a/common/eda_base_frame.cpp b/common/eda_base_frame.cpp index 5acefea522..a7da7fee8b 100644 --- a/common/eda_base_frame.cpp +++ b/common/eda_base_frame.cpp @@ -1248,8 +1248,8 @@ void EDA_BASE_FRAME::OnDropFiles( wxDropFilesEvent& aEvent ) wxString ext = fn.GetExt(); // Alias all gerber files as GerberFileExtension - if( IsGerberFileExtension( ext ) ) - ext = GerberFileExtension; + if( FILEEXT::IsGerberFileExtension( ext ) ) + ext = FILEEXT::GerberFileExtension; if( m_acceptedExts.find( ext.ToStdString() ) != m_acceptedExts.end() ) m_AcceptedFiles.emplace_back( fn ); diff --git a/common/hotkeys_basic.cpp b/common/hotkeys_basic.cpp index 4b66029279..8f4248b41d 100644 --- a/common/hotkeys_basic.cpp +++ b/common/hotkeys_basic.cpp @@ -356,7 +356,7 @@ void ReadHotKeyConfig( const wxString& aFileName, if( fileName.IsEmpty() ) { wxFileName fn( wxS( "user" ) ); - fn.SetExt( HotkeyFileExtension ); + fn.SetExt( FILEEXT::HotkeyFileExtension ); fn.SetPath( PATHS::GetUserSettingsPath() ); fileName = fn.GetFullPath(); } @@ -411,7 +411,7 @@ int WriteHotKeyConfig( const std::vector<TOOL_ACTION*>& aActions ) std::map<std::string, std::pair<int, int>> hotkeys; wxFileName fn( "user" ); - fn.SetExt( HotkeyFileExtension ); + fn.SetExt( FILEEXT::HotkeyFileExtension ); fn.SetPath( PATHS::GetUserSettingsPath() ); // Read the existing config (all hotkeys) @@ -458,7 +458,7 @@ int ReadLegacyHotkeyConfigFile( const wxString& aFilename, std::map<std::string, { wxFileName fn( aFilename ); - fn.SetExt( HotkeyFileExtension ); + fn.SetExt( FILEEXT::HotkeyFileExtension ); fn.SetPath( PATHS::GetUserSettingsPath() ); if( !wxFile::Exists( fn.GetFullPath() ) ) diff --git a/common/http_lib/http_lib_settings.cpp b/common/http_lib/http_lib_settings.cpp index afe516e144..9107707446 100644 --- a/common/http_lib/http_lib_settings.cpp +++ b/common/http_lib/http_lib_settings.cpp @@ -47,5 +47,5 @@ HTTP_LIB_SETTINGS::HTTP_LIB_SETTINGS( const std::string& aFilename ) : wxString HTTP_LIB_SETTINGS::getFileExt() const { - return HTTPLibraryFileExtension; + return FILEEXT::HTTPLibraryFileExtension; } diff --git a/common/project.cpp b/common/project.cpp index ea94277040..3808a825d3 100644 --- a/common/project.cpp +++ b/common/project.cpp @@ -121,7 +121,7 @@ void PROJECT::setProjectFullName( const wxString& aFullPathAndName ) wxASSERT( m_project_name.IsAbsolute() ); - wxASSERT( m_project_name.GetExt() == ProjectFileExtension ); + wxASSERT( m_project_name.GetExt() == FILEEXT::ProjectFileExtension ); // until multiple projects are in play, set an environment variable for the // the project pointer. diff --git a/common/project/project_file.cpp b/common/project/project_file.cpp index da488c2061..4fb682cafe 100644 --- a/common/project/project_file.cpp +++ b/common/project/project_file.cpp @@ -585,7 +585,7 @@ bool PROJECT_FILE::SaveToFile( const wxString& aDirectory, bool aForce ) { wxASSERT( m_project ); - Set( "meta.filename", m_project->GetProjectName() + "." + ProjectFileExtension ); + Set( "meta.filename", m_project->GetProjectName() + "." + FILEEXT::ProjectFileExtension ); return JSON_SETTINGS::SaveToFile( aDirectory, aForce ); } @@ -597,7 +597,7 @@ bool PROJECT_FILE::SaveAs( const wxString& aDirectory, const wxString& aFile ) wxString oldProjectName = oldFilename.GetName(); wxString oldProjectPath = oldFilename.GetPath(); - Set( "meta.filename", aFile + "." + ProjectFileExtension ); + Set( "meta.filename", aFile + "." + FILEEXT::ProjectFileExtension ); SetFilename( aFile ); auto updatePath = @@ -638,13 +638,13 @@ bool PROJECT_FILE::SaveAs( const wxString& aDirectory, const wxString& aFile ) wxString PROJECT_FILE::getFileExt() const { - return ProjectFileExtension; + return FILEEXT::ProjectFileExtension; } wxString PROJECT_FILE::getLegacyFileExt() const { - return LegacyProjectFileExtension; + return FILEEXT::LegacyProjectFileExtension; } diff --git a/common/project/project_local_settings.cpp b/common/project/project_local_settings.cpp index 29ff3f359c..0aa749c6b2 100644 --- a/common/project/project_local_settings.cpp +++ b/common/project/project_local_settings.cpp @@ -352,7 +352,7 @@ bool PROJECT_LOCAL_SETTINGS::SaveToFile( const wxString& aDirectory, bool aForce { wxASSERT( m_project ); - Set( "meta.filename", m_project->GetProjectName() + "." + ProjectLocalSettingsFileExtension ); + Set( "meta.filename", m_project->GetProjectName() + "." + FILEEXT::ProjectLocalSettingsFileExtension ); return JSON_SETTINGS::SaveToFile( aDirectory, aForce ); } @@ -360,7 +360,7 @@ bool PROJECT_LOCAL_SETTINGS::SaveToFile( const wxString& aDirectory, bool aForce bool PROJECT_LOCAL_SETTINGS::SaveAs( const wxString& aDirectory, const wxString& aFile ) { - Set( "meta.filename", aFile + "." + ProjectLocalSettingsFileExtension ); + Set( "meta.filename", aFile + "." + FILEEXT::ProjectLocalSettingsFileExtension ); SetFilename( aFile ); return JSON_SETTINGS::SaveToFile( aDirectory, true ); diff --git a/common/settings/settings_manager.cpp b/common/settings/settings_manager.cpp index 6de4d25dc1..992de85e4c 100644 --- a/common/settings/settings_manager.cpp +++ b/common/settings/settings_manager.cpp @@ -853,8 +853,8 @@ bool SETTINGS_MANAGER::LoadProject( const wxString& aFullPath, bool aSetActive ) // Normalize path to new format even if migrating from a legacy file wxFileName path( aFullPath ); - if( path.GetExt() == LegacyProjectFileExtension ) - path.SetExt( ProjectFileExtension ); + if( path.GetExt() == FILEEXT::LegacyProjectFileExtension ) + path.SetExt( FILEEXT::ProjectFileExtension ); wxString fullPath = path.GetFullPath(); @@ -1166,7 +1166,7 @@ bool SETTINGS_MANAGER::BackupProject( REPORTER& aReporter ) const wxFileName target; target.SetPath( GetProjectBackupsPath() ); target.SetName( fileName ); - target.SetExt( ArchiveFileExtension ); + target.SetExt( FILEEXT::ArchiveFileExtension ); if( !target.DirExists() && !wxMkdir( target.GetPath() ) ) { diff --git a/common/widgets/wx_html_report_panel.cpp b/common/widgets/wx_html_report_panel.cpp index a18838693f..8c50688dff 100644 --- a/common/widgets/wx_html_report_panel.cpp +++ b/common/widgets/wx_html_report_panel.cpp @@ -366,7 +366,7 @@ void WX_HTML_REPORT_PANEL::onBtnSaveToFile( wxCommandEvent& event ) fn = m_reportFileName; wxFileDialog dlg( this, _( "Save Report File" ), fn.GetPath(), fn.GetFullName(), - TextFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::TextFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() != wxID_OK ) return; diff --git a/common/wildcards_and_files_ext.cpp b/common/wildcards_and_files_ext.cpp index 42fecb5847..52eba28183 100644 --- a/common/wildcards_and_files_ext.cpp +++ b/common/wildcards_and_files_ext.cpp @@ -122,84 +122,84 @@ wxString AddFileExtListToFilter( const std::vector<std::string>& aExts ) return files_filter; } -const std::string BackupFileSuffix( "-bak" ); -const std::string LockFilePrefix( "~" ); -const std::string LockFileExtension( "lck" ); +const std::string FILEEXT::BackupFileSuffix( "-bak" ); +const std::string FILEEXT::LockFilePrefix( "~" ); +const std::string FILEEXT::LockFileExtension( "lck" ); -const std::string KiCadSymbolLibFileExtension( "kicad_sym" ); -const std::string SchematicSymbolFileExtension( "sym" ); -const std::string LegacySymbolLibFileExtension( "lib" ); -const std::string LegacySymbolDocumentFileExtension( "dcm" ); +const std::string FILEEXT::KiCadSymbolLibFileExtension( "kicad_sym" ); +const std::string FILEEXT::SchematicSymbolFileExtension( "sym" ); +const std::string FILEEXT::LegacySymbolLibFileExtension( "lib" ); +const std::string FILEEXT::LegacySymbolDocumentFileExtension( "dcm" ); -const std::string VrmlFileExtension( "wrl" ); +const std::string FILEEXT::VrmlFileExtension( "wrl" ); -const std::string ProjectFileExtension( "kicad_pro" ); -const std::string LegacyProjectFileExtension( "pro" ); -const std::string ProjectLocalSettingsFileExtension( "kicad_prl" ); -const std::string LegacySchematicFileExtension( "sch" ); -const std::string CadstarSchematicFileExtension( "csa" ); -const std::string CadstarPartsLibraryFileExtension( "lib" ); -const std::string KiCadSchematicFileExtension( "kicad_sch" ); -const std::string SpiceFileExtension( "cir" ); -const std::string CadstarNetlistFileExtension( "frp" ); -const std::string OrCadPcb2NetlistFileExtension( "net" ); -const std::string NetlistFileExtension( "net" ); -const std::string AllegroNetlistFileExtension( "txt" ); -const std::string FootprintAssignmentFileExtension( "cmp" ); -const std::string GerberFileExtension( "gbr" ); -const std::string GerberJobFileExtension( "gbrjob" ); -const std::string HtmlFileExtension( "html" ); -const std::string EquFileExtension( "equ" ); -const std::string HotkeyFileExtension( "hotkeys" ); -const std::string DatabaseLibraryFileExtension( "kicad_dbl" ); -const std::string HTTPLibraryFileExtension( "kicad_httplib" ); +const std::string FILEEXT::ProjectFileExtension( "kicad_pro" ); +const std::string FILEEXT::LegacyProjectFileExtension( "pro" ); +const std::string FILEEXT::ProjectLocalSettingsFileExtension( "kicad_prl" ); +const std::string FILEEXT::LegacySchematicFileExtension( "sch" ); +const std::string FILEEXT::CadstarSchematicFileExtension( "csa" ); +const std::string FILEEXT::CadstarPartsLibraryFileExtension( "lib" ); +const std::string FILEEXT::KiCadSchematicFileExtension( "kicad_sch" ); +const std::string FILEEXT::SpiceFileExtension( "cir" ); +const std::string FILEEXT::CadstarNetlistFileExtension( "frp" ); +const std::string FILEEXT::OrCadPcb2NetlistFileExtension( "net" ); +const std::string FILEEXT::NetlistFileExtension( "net" ); +const std::string FILEEXT::AllegroNetlistFileExtension( "txt" ); +const std::string FILEEXT::FootprintAssignmentFileExtension( "cmp" ); +const std::string FILEEXT::GerberFileExtension( "gbr" ); +const std::string FILEEXT::GerberJobFileExtension( "gbrjob" ); +const std::string FILEEXT::HtmlFileExtension( "html" ); +const std::string FILEEXT::EquFileExtension( "equ" ); +const std::string FILEEXT::HotkeyFileExtension( "hotkeys" ); +const std::string FILEEXT::DatabaseLibraryFileExtension( "kicad_dbl" ); +const std::string FILEEXT::HTTPLibraryFileExtension( "kicad_httplib" ); -const std::string ArchiveFileExtension( "zip" ); +const std::string FILEEXT::ArchiveFileExtension( "zip" ); -const std::string LegacyPcbFileExtension( "brd" ); -const std::string EaglePcbFileExtension( "brd" ); -const std::string CadstarPcbFileExtension( "cpa" ); -const std::string KiCadPcbFileExtension( "kicad_pcb" ); -const std::string DrawingSheetFileExtension( "kicad_wks" ); -const std::string DesignRulesFileExtension( "kicad_dru" ); +const std::string FILEEXT::LegacyPcbFileExtension( "brd" ); +const std::string FILEEXT::EaglePcbFileExtension( "brd" ); +const std::string FILEEXT::CadstarPcbFileExtension( "cpa" ); +const std::string FILEEXT::KiCadPcbFileExtension( "kicad_pcb" ); +const std::string FILEEXT::DrawingSheetFileExtension( "kicad_wks" ); +const std::string FILEEXT::DesignRulesFileExtension( "kicad_dru" ); -const std::string PdfFileExtension( "pdf" ); -const std::string MacrosFileExtension( "mcr" ); -const std::string DrillFileExtension( "drl" ); -const std::string SVGFileExtension( "svg" ); -const std::string ReportFileExtension( "rpt" ); -const std::string FootprintPlaceFileExtension( "pos" ); +const std::string FILEEXT::PdfFileExtension( "pdf" ); +const std::string FILEEXT::MacrosFileExtension( "mcr" ); +const std::string FILEEXT::DrillFileExtension( "drl" ); +const std::string FILEEXT::SVGFileExtension( "svg" ); +const std::string FILEEXT::ReportFileExtension( "rpt" ); +const std::string FILEEXT::FootprintPlaceFileExtension( "pos" ); -const std::string KiCadFootprintLibPathExtension( "pretty" ); // this is a directory -const std::string LegacyFootprintLibPathExtension( "mod" ); // this is a file -const std::string AltiumFootprintLibPathExtension( "PcbLib" ); // this is a file -const std::string CadstarFootprintLibPathExtension( "cpa" ); // this is a file -const std::string EagleFootprintLibPathExtension( "lbr" ); // this is a file -const std::string GedaPcbFootprintLibFileExtension( "fp" ); // this is a file +const std::string FILEEXT::KiCadFootprintLibPathExtension( "pretty" ); // this is a directory +const std::string FILEEXT::LegacyFootprintLibPathExtension( "mod" ); // this is a file +const std::string FILEEXT::AltiumFootprintLibPathExtension( "PcbLib" ); // this is a file +const std::string FILEEXT::CadstarFootprintLibPathExtension( "cpa" ); // this is a file +const std::string FILEEXT::EagleFootprintLibPathExtension( "lbr" ); // this is a file +const std::string FILEEXT::GedaPcbFootprintLibFileExtension( "fp" ); // this is a file -const std::string KiCadFootprintFileExtension( "kicad_mod" ); -const std::string SpecctraDsnFileExtension( "dsn" ); -const std::string SpecctraSessionFileExtension( "ses" ); -const std::string IpcD356FileExtension( "d356" ); -const std::string Ipc2581FileExtension( "xml" ); -const std::string WorkbookFileExtension( "wbk" ); +const std::string FILEEXT::KiCadFootprintFileExtension( "kicad_mod" ); +const std::string FILEEXT::SpecctraDsnFileExtension( "dsn" ); +const std::string FILEEXT::SpecctraSessionFileExtension( "ses" ); +const std::string FILEEXT::IpcD356FileExtension( "d356" ); +const std::string FILEEXT::Ipc2581FileExtension( "xml" ); +const std::string FILEEXT::WorkbookFileExtension( "wbk" ); -const std::string PngFileExtension( "png" ); -const std::string JpegFileExtension( "jpg" ); -const std::string TextFileExtension( "txt" ); -const std::string MarkdownFileExtension( "md" ); -const std::string CsvFileExtension( "csv" ); -const std::string XmlFileExtension( "xml" ); -const std::string JsonFileExtension( "json" ); +const std::string FILEEXT::PngFileExtension( "png" ); +const std::string FILEEXT::JpegFileExtension( "jpg" ); +const std::string FILEEXT::TextFileExtension( "txt" ); +const std::string FILEEXT::MarkdownFileExtension( "md" ); +const std::string FILEEXT::CsvFileExtension( "csv" ); +const std::string FILEEXT::XmlFileExtension( "xml" ); +const std::string FILEEXT::JsonFileExtension( "json" ); -const std::string StepFileExtension( "step" ); -const std::string StepFileAbrvExtension( "stp" ); -const std::string GltfBinaryFileExtension( "glb" ); +const std::string FILEEXT::StepFileExtension( "step" ); +const std::string FILEEXT::StepFileAbrvExtension( "stp" ); +const std::string FILEEXT::GltfBinaryFileExtension( "glb" ); -const wxString GerberFileExtensionsRegex( "(gbr|gko|pho|(g[tb][alops])|(gm?\\d\\d*)|(gp[tb]))" ); +const wxString FILEEXT::GerberFileExtensionsRegex( "(gbr|gko|pho|(g[tb][alops])|(gm?\\d\\d*)|(gp[tb]))" ); -bool IsGerberFileExtension( const wxString& ext ) +bool FILEEXT::IsGerberFileExtension( const wxString& ext ) { static wxRegEx gerberRE( GerberFileExtensionsRegex, wxRE_ICASE ); @@ -207,125 +207,125 @@ bool IsGerberFileExtension( const wxString& ext ) } -wxString AllFilesWildcard() +wxString FILEEXT::AllFilesWildcard() { return _( "All files" ) + AddFileExtListToFilter( {} ); } -wxString KiCadSymbolLibFileWildcard() +wxString FILEEXT::KiCadSymbolLibFileWildcard() { return _( "KiCad symbol library files" ) + AddFileExtListToFilter( { KiCadSymbolLibFileExtension } ); } -wxString ProjectFileWildcard() +wxString FILEEXT::ProjectFileWildcard() { return _( "KiCad project files" ) + AddFileExtListToFilter( { ProjectFileExtension } ); } -wxString LegacyProjectFileWildcard() +wxString FILEEXT::LegacyProjectFileWildcard() { return _( "KiCad legacy project files" ) + AddFileExtListToFilter( { LegacyProjectFileExtension } ); } -wxString AllProjectFilesWildcard() +wxString FILEEXT::AllProjectFilesWildcard() { return _( "All KiCad project files" ) + AddFileExtListToFilter( { ProjectFileExtension, LegacyProjectFileExtension } ); } -wxString AllSchematicFilesWildcard() +wxString FILEEXT::AllSchematicFilesWildcard() { return _( "All KiCad schematic files" ) + AddFileExtListToFilter( { KiCadSchematicFileExtension, LegacySchematicFileExtension } ); } -wxString LegacySchematicFileWildcard() +wxString FILEEXT::LegacySchematicFileWildcard() { return _( "KiCad legacy schematic files" ) + AddFileExtListToFilter( { LegacySchematicFileExtension } ); } -wxString KiCadSchematicFileWildcard() +wxString FILEEXT::KiCadSchematicFileWildcard() { return _( "KiCad s-expression schematic files" ) + AddFileExtListToFilter( { KiCadSchematicFileExtension } ); } -wxString CadstarArchiveFilesWildcard() +wxString FILEEXT::CadstarArchiveFilesWildcard() { return _( "CADSTAR Archive files" ) + AddFileExtListToFilter( { "csa", "cpa" } ); } -wxString EagleFilesWildcard() +wxString FILEEXT::EagleFilesWildcard() { return _( "Eagle XML files" ) + AddFileExtListToFilter( { "sch", "brd" } ); } -wxString OrCadPcb2NetlistFileWildcard() +wxString FILEEXT::OrCadPcb2NetlistFileWildcard() { return _( "OrcadPCB2 netlist files" ) + AddFileExtListToFilter( { OrCadPcb2NetlistFileExtension } ); } -wxString NetlistFileWildcard() +wxString FILEEXT::NetlistFileWildcard() { return _( "KiCad netlist files" ) + AddFileExtListToFilter( { "net" } ); } -wxString AllegroNetlistFileWildcard() +wxString FILEEXT::AllegroNetlistFileWildcard() { return _( "Allegro netlist files" ) + AddFileExtListToFilter( { AllegroNetlistFileExtension } ); } -wxString EasyEdaArchiveWildcard() +wxString FILEEXT::EasyEdaArchiveWildcard() { return _( "EasyEDA (JLCEDA) Std backup archive" ) + AddFileExtListToFilter( { "zip" } ); } -wxString EasyEdaProFileWildcard() +wxString FILEEXT::EasyEdaProFileWildcard() { return _( "EasyEDA (JLCEDA) Pro files" ) + AddFileExtListToFilter( { "epro", "zip" } ); } -wxString PcbFileWildcard() +wxString FILEEXT::PcbFileWildcard() { return _( "KiCad printed circuit board files" ) + AddFileExtListToFilter( { KiCadPcbFileExtension } ); } -wxString KiCadFootprintLibFileWildcard() +wxString FILEEXT::KiCadFootprintLibFileWildcard() { return _( "KiCad footprint files" ) + AddFileExtListToFilter( { KiCadFootprintFileExtension } ); } -wxString KiCadFootprintLibPathWildcard() +wxString FILEEXT::KiCadFootprintLibPathWildcard() { return _( "KiCad footprint library paths" ) + AddFileExtListToFilter( { KiCadFootprintLibPathExtension } ); } -wxString DrawingSheetFileWildcard() +wxString FILEEXT::DrawingSheetFileWildcard() { return _( "Drawing sheet files" ) + AddFileExtListToFilter( { DrawingSheetFileExtension } ); @@ -333,7 +333,7 @@ wxString DrawingSheetFileWildcard() // Wildcard for cvpcb symbol to footprint link file -wxString FootprintAssignmentFileWildcard() +wxString FILEEXT::FootprintAssignmentFileWildcard() { return _( "KiCad symbol footprint link files" ) + AddFileExtListToFilter( { FootprintAssignmentFileExtension } ); @@ -341,180 +341,180 @@ wxString FootprintAssignmentFileWildcard() // Wildcard for reports and fabrication documents -wxString DrillFileWildcard() +wxString FILEEXT::DrillFileWildcard() { return _( "Drill files" ) + AddFileExtListToFilter( { DrillFileExtension, "nc", "xnc", "txt" } ); } -wxString SVGFileWildcard() +wxString FILEEXT::SVGFileWildcard() { return _( "SVG files" ) + AddFileExtListToFilter( { SVGFileExtension } ); } -wxString HtmlFileWildcard() +wxString FILEEXT::HtmlFileWildcard() { return _( "HTML files" ) + AddFileExtListToFilter( { "htm", "html" } ); } -wxString CsvFileWildcard() +wxString FILEEXT::CsvFileWildcard() { return _( "CSV Files" ) + AddFileExtListToFilter( { CsvFileExtension } ); } -wxString PdfFileWildcard() +wxString FILEEXT::PdfFileWildcard() { return _( "Portable document format files" ) + AddFileExtListToFilter( { "pdf" } ); } -wxString PSFileWildcard() +wxString FILEEXT::PSFileWildcard() { return _( "PostScript files" ) + AddFileExtListToFilter( { "ps" } ); } -wxString JsonFileWildcard() +wxString FILEEXT::JsonFileWildcard() { return _( "Json files" ) + AddFileExtListToFilter( { JsonFileExtension } ); } -wxString ReportFileWildcard() +wxString FILEEXT::ReportFileWildcard() { return _( "Report files" ) + AddFileExtListToFilter( { ReportFileExtension } ); } -wxString FootprintPlaceFileWildcard() +wxString FILEEXT::FootprintPlaceFileWildcard() { return _( "Component placement files" ) + AddFileExtListToFilter( { "pos" } ); } -wxString Shapes3DFileWildcard() +wxString FILEEXT::Shapes3DFileWildcard() { return _( "VRML and X3D files" ) + AddFileExtListToFilter( { "wrl", "x3d" } ); } -wxString IDF3DFileWildcard() +wxString FILEEXT::IDF3DFileWildcard() { return _( "IDFv3 footprint files" ) + AddFileExtListToFilter( { "idf" } ); } -wxString TextFileWildcard() +wxString FILEEXT::TextFileWildcard() { return _( "Text files" ) + AddFileExtListToFilter( { "txt" } ); } -wxString ModLegacyExportFileWildcard() +wxString FILEEXT::ModLegacyExportFileWildcard() { return _( "Legacy footprint export files" ) + AddFileExtListToFilter( { "emp" } ); } -wxString ErcFileWildcard() +wxString FILEEXT::ErcFileWildcard() { return _( "Electrical rule check file" ) + AddFileExtListToFilter( { "erc" } ); } -wxString SpiceLibraryFileWildcard() +wxString FILEEXT::SpiceLibraryFileWildcard() { return _( "Spice library file" ) + AddFileExtListToFilter( { "lib", "mod" } ); } -wxString SpiceNetlistFileWildcard() +wxString FILEEXT::SpiceNetlistFileWildcard() { return _( "SPICE netlist file" ) + AddFileExtListToFilter( { "cir" } ); } -wxString CadstarNetlistFileWildcard() +wxString FILEEXT::CadstarNetlistFileWildcard() { return _( "CadStar netlist file" ) + AddFileExtListToFilter( { "frp" } ); } -wxString EquFileWildcard() +wxString FILEEXT::EquFileWildcard() { return _( "Symbol footprint association files" ) + AddFileExtListToFilter( { "equ" } ); } -wxString ZipFileWildcard() +wxString FILEEXT::ZipFileWildcard() { return _( "Zip file" ) + AddFileExtListToFilter( { "zip" } ); } -wxString GencadFileWildcard() +wxString FILEEXT::GencadFileWildcard() { return _( "GenCAD 1.4 board files" ) + AddFileExtListToFilter( { "cad" } ); } -wxString DxfFileWildcard() +wxString FILEEXT::DxfFileWildcard() { return _( "DXF Files" ) + AddFileExtListToFilter( { "dxf" } ); } -wxString GerberJobFileWildcard() +wxString FILEEXT::GerberJobFileWildcard() { return _( "Gerber job file" ) + AddFileExtListToFilter( { GerberJobFileExtension } ); } -wxString SpecctraDsnFileWildcard() +wxString FILEEXT::SpecctraDsnFileWildcard() { return _( "Specctra DSN file" ) + AddFileExtListToFilter( { SpecctraDsnFileExtension } ); } -wxString SpecctraSessionFileWildcard() +wxString FILEEXT::SpecctraSessionFileWildcard() { return _( "Specctra Session file" ) + AddFileExtListToFilter( { SpecctraSessionFileExtension } ); } -wxString IpcD356FileWildcard() +wxString FILEEXT::IpcD356FileWildcard() { return _( "IPC-D-356 Test Files" ) + AddFileExtListToFilter( { IpcD356FileExtension } ); } -wxString WorkbookFileWildcard() +wxString FILEEXT::WorkbookFileWildcard() { return _( "Workbook file" ) + AddFileExtListToFilter( { WorkbookFileExtension } ); } -wxString PngFileWildcard() +wxString FILEEXT::PngFileWildcard() { return _( "PNG file" ) + AddFileExtListToFilter( { "png" } ); } -wxString JpegFileWildcard() +wxString FILEEXT::JpegFileWildcard() { return _( "Jpeg file" ) + AddFileExtListToFilter( { "jpg", "jpeg" } ); } -wxString HotkeyFileWildcard() +wxString FILEEXT::HotkeyFileWildcard() { return _( "Hotkey file" ) + AddFileExtListToFilter( { HotkeyFileExtension } ); } diff --git a/cvpcb/dialogs/dialog_config_equfiles.cpp b/cvpcb/dialogs/dialog_config_equfiles.cpp index 56de032698..09e95bd1d3 100644 --- a/cvpcb/dialogs/dialog_config_equfiles.cpp +++ b/cvpcb/dialogs/dialog_config_equfiles.cpp @@ -208,7 +208,7 @@ void DIALOG_CONFIG_EQUFILES::OnAddFiles( wxCommandEvent& event ) wxString libpath = m_gridEnvVars->GetCellValue( wxGridCellCoords( row, 1 ) ); wxFileDialog dlg( this, _( "Footprint Association File" ), libpath, wxEmptyString, - EquFileWildcard(), wxFD_DEFAULT_STYLE | wxFD_MULTIPLE ); + FILEEXT::EquFileWildcard(), wxFD_DEFAULT_STYLE | wxFD_MULTIPLE ); if( dlg.ShowModal() != wxID_OK ) return; diff --git a/eeschema/dialogs/dialog_erc.cpp b/eeschema/dialogs/dialog_erc.cpp index 2661523e1b..33a04b0b5b 100644 --- a/eeschema/dialogs/dialog_erc.cpp +++ b/eeschema/dialogs/dialog_erc.cpp @@ -880,10 +880,10 @@ void DIALOG_ERC::deleteAllMarkers( bool aIncludeExclusions ) void DIALOG_ERC::OnSaveReport( wxCommandEvent& aEvent ) { - wxFileName fn( wxS( "ERC." ) + ReportFileExtension ); + wxFileName fn( wxS( "ERC." ) + FILEEXT::ReportFileExtension ); wxFileDialog dlg( this, _( "Save Report File" ), Prj().GetProjectPath(), fn.GetFullName(), - ReportFileWildcard() + wxS( "|" ) + JsonFileWildcard(), + FILEEXT::ReportFileWildcard() + wxS( "|" ) + FILEEXT::JsonFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() != wxID_OK ) @@ -892,7 +892,7 @@ void DIALOG_ERC::OnSaveReport( wxCommandEvent& aEvent ) fn = dlg.GetPath(); if( fn.GetExt().IsEmpty() ) - fn.SetExt( ReportFileExtension ); + fn.SetExt( FILEEXT::ReportFileExtension ); if( !fn.IsAbsolute() ) { @@ -903,7 +903,7 @@ void DIALOG_ERC::OnSaveReport( wxCommandEvent& aEvent ) ERC_REPORT reportWriter( &m_parent->Schematic(), m_parent->GetUserUnits() ); bool success = false; - if( fn.GetExt() == JsonFileExtension ) + if( fn.GetExt() == FILEEXT::JsonFileExtension ) success = reportWriter.WriteJsonReport( fn.GetFullPath() ); else success = reportWriter.WriteTextReport( fn.GetFullPath() ); diff --git a/eeschema/dialogs/dialog_export_netlist.cpp b/eeschema/dialogs/dialog_export_netlist.cpp index e1a926b24a..7d24a3bb35 100644 --- a/eeschema/dialogs/dialog_export_netlist.cpp +++ b/eeschema/dialogs/dialog_export_netlist.cpp @@ -523,7 +523,7 @@ bool DIALOG_EXPORT_NETLIST::TransferDataFromWindow() if( runExternalSpiceCommand ) { - fn.SetExt( SpiceFileExtension ); + fn.SetExt( FILEEXT::SpiceFileExtension ); fullpath = fn.GetFullPath(); } else @@ -647,32 +647,32 @@ bool DIALOG_EXPORT_NETLIST::FilenamePrms( NETLIST_TYPE_ID aType, wxString * aExt switch( aType ) { case NET_TYPE_SPICE: - fileExt = SpiceFileExtension; - fileWildcard = SpiceNetlistFileWildcard(); + fileExt = FILEEXT::SpiceFileExtension; + fileWildcard = FILEEXT::SpiceNetlistFileWildcard(); break; case NET_TYPE_CADSTAR: - fileExt = CadstarNetlistFileExtension; - fileWildcard = CadstarNetlistFileWildcard(); + fileExt = FILEEXT::CadstarNetlistFileExtension; + fileWildcard = FILEEXT::CadstarNetlistFileWildcard(); break; case NET_TYPE_ORCADPCB2: - fileExt = OrCadPcb2NetlistFileExtension; - fileWildcard = OrCadPcb2NetlistFileWildcard(); + fileExt = FILEEXT::OrCadPcb2NetlistFileExtension; + fileWildcard = FILEEXT::OrCadPcb2NetlistFileWildcard(); break; case NET_TYPE_PCBNEW: - fileExt = NetlistFileExtension; - fileWildcard = NetlistFileWildcard(); + fileExt = FILEEXT::NetlistFileExtension; + fileWildcard = FILEEXT::NetlistFileWildcard(); break; case NET_TYPE_ALLEGRO: - fileExt = AllegroNetlistFileExtension; - fileWildcard = AllegroNetlistFileWildcard(); + fileExt = FILEEXT::AllegroNetlistFileExtension; + fileWildcard = FILEEXT::AllegroNetlistFileWildcard(); break; default: // custom, NET_TYPE_CUSTOM1 and greater - fileWildcard = AllFilesWildcard(); + fileWildcard = FILEEXT::AllFilesWildcard(); ret = false; } diff --git a/eeschema/dialogs/dialog_field_properties.cpp b/eeschema/dialogs/dialog_field_properties.cpp index 5940eb6f1c..07327ee51a 100644 --- a/eeschema/dialogs/dialog_field_properties.cpp +++ b/eeschema/dialogs/dialog_field_properties.cpp @@ -364,7 +364,7 @@ bool DIALOG_FIELD_PROPERTIES::TransferDataFromWindow() } else if( m_fieldId == SHEETFILENAME_V ) { - m_text = EnsureFileExtension( m_text, KiCadSchematicFileExtension ); + m_text = EnsureFileExtension( m_text, FILEEXT::KiCadSchematicFileExtension ); } m_position = VECTOR2I( m_posX.GetValue(), m_posY.GetValue() ); diff --git a/eeschema/dialogs/dialog_sch_import_settings.cpp b/eeschema/dialogs/dialog_sch_import_settings.cpp index 0612a58289..5d73098e91 100644 --- a/eeschema/dialogs/dialog_sch_import_settings.cpp +++ b/eeschema/dialogs/dialog_sch_import_settings.cpp @@ -55,10 +55,11 @@ bool DIALOG_SCH_IMPORT_SETTINGS::TransferDataToWindow() void DIALOG_SCH_IMPORT_SETTINGS::OnBrowseClicked( wxCommandEvent& event ) { wxFileName fn = m_frame->Schematic().Root().GetFileName(); - fn.SetExt( ProjectFileExtension ); + fn.SetExt( FILEEXT::ProjectFileExtension ); wxFileDialog dlg( this, _( "Import Settings From" ), fn.GetPath(), fn.GetFullName(), - ProjectFileWildcard(), wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_CHANGE_DIR ); + FILEEXT::ProjectFileWildcard(), + wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_CHANGE_DIR ); if( dlg.ShowModal() == wxID_OK ) m_filePathCtrl->SetValue( dlg.GetPath() ); diff --git a/eeschema/dialogs/dialog_sheet_properties.cpp b/eeschema/dialogs/dialog_sheet_properties.cpp index dfb6835bbe..c2f9b71ebf 100644 --- a/eeschema/dialogs/dialog_sheet_properties.cpp +++ b/eeschema/dialogs/dialog_sheet_properties.cpp @@ -273,7 +273,7 @@ bool DIALOG_SHEET_PROPERTIES::TransferDataFromWindow() // Ensure the filename extension is OK. (In normal use will be caught by grid validators, // but unedited data from existing files can be bad.) - sheetFileName = EnsureFileExtension( sheetFileName, KiCadSchematicFileExtension ); + sheetFileName = EnsureFileExtension( sheetFileName, FILEEXT::KiCadSchematicFileExtension ); wxFileName fn( sheetFileName ); wxString newRelativeFilename = fn.GetFullPath(); @@ -416,7 +416,8 @@ bool DIALOG_SHEET_PROPERTIES::TransferDataFromWindow() bool DIALOG_SHEET_PROPERTIES::onSheetFilenameChanged( const wxString& aNewFilename ) { wxString msg; - wxFileName sheetFileName( EnsureFileExtension( aNewFilename, KiCadSchematicFileExtension ) ); + wxFileName sheetFileName( + EnsureFileExtension( aNewFilename, FILEEXT::KiCadSchematicFileExtension ) ); // Sheet file names are relative to the path of the current sheet. This allows for // nesting of schematic files in subfolders. Screen file names are always absolute. diff --git a/eeschema/dialogs/dialog_symbol_fields_table.cpp b/eeschema/dialogs/dialog_symbol_fields_table.cpp index 6329b23bb1..11f794a8e6 100644 --- a/eeschema/dialogs/dialog_symbol_fields_table.cpp +++ b/eeschema/dialogs/dialog_symbol_fields_table.cpp @@ -1192,10 +1192,10 @@ void DIALOG_SYMBOL_FIELDS_TABLE::OnOutputFileBrowseClicked( wxCommandEvent& even // Calculate the export filename wxFileName fn( Prj().AbsolutePath( m_parent->Schematic().GetFileName() ) ); - fn.SetExt( CsvFileExtension ); + fn.SetExt( FILEEXT::CsvFileExtension ); wxFileDialog saveDlg( this, _( "Bill of Materials Output File" ), path, fn.GetFullName(), - CsvFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::CsvFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( saveDlg.ShowModal() == wxID_CANCEL ) return; diff --git a/eeschema/dialogs/dialog_symbol_remap.cpp b/eeschema/dialogs/dialog_symbol_remap.cpp index 23ffd94ca6..5a2fbe5dd0 100644 --- a/eeschema/dialogs/dialog_symbol_remap.cpp +++ b/eeschema/dialogs/dialog_symbol_remap.cpp @@ -453,7 +453,7 @@ bool DIALOG_SYMBOL_REMAP::backupProject( REPORTER& aReporter ) // Back up the cache library. srcFileName.SetPath( Prj().GetProjectPath() ); srcFileName.SetName( Prj().GetProjectName() + wxS( "-cache" ) ); - srcFileName.SetExt( LegacySymbolLibFileExtension ); + srcFileName.SetExt( FILEEXT::LegacySymbolLibFileExtension ); destFileName = srcFileName; destFileName.SetName( destFileName.GetName() + timeStamp ); @@ -488,7 +488,7 @@ bool DIALOG_SYMBOL_REMAP::backupProject( REPORTER& aReporter ) } // Back up the rescue symbol library document file if it exists. - srcFileName.SetExt( LegacySymbolDocumentFileExtension ); + srcFileName.SetExt( FILEEXT::LegacySymbolDocumentFileExtension ); destFileName.SetExt( srcFileName.GetExt() ); tmp.Printf( _( "Backing up file '%s' to '%s'." ), diff --git a/eeschema/dialogs/panel_sym_lib_table.cpp b/eeschema/dialogs/panel_sym_lib_table.cpp index 2e2639d2c4..385b313483 100644 --- a/eeschema/dialogs/panel_sym_lib_table.cpp +++ b/eeschema/dialogs/panel_sym_lib_table.cpp @@ -410,7 +410,7 @@ bool PANEL_SYM_LIB_TABLE::allowAutomaticPluginTypeSelection( wxString& aLibraryP // Currently, only the extension .lib is common to legacy libraries and Cadstar libraries // so return false in this case - if( ext == LegacySymbolLibFileExtension ) + if( ext == FILEEXT::LegacySymbolLibFileExtension ) return false; return true; diff --git a/eeschema/eeschema.cpp b/eeschema/eeschema.cpp index ee509ee289..5dc0eb9ef5 100644 --- a/eeschema/eeschema.cpp +++ b/eeschema/eeschema.cpp @@ -489,10 +489,10 @@ void IFACE::SaveFileAs( const wxString& aProjectBasePath, const wxString& aProje destFile.SetPath( destPath ); - if( ext == LegacySchematicFileExtension || - ext == LegacySchematicFileExtension + BackupFileSuffix || - ext == KiCadSchematicFileExtension || - ext == KiCadSchematicFileExtension + BackupFileSuffix ) + if( ext == FILEEXT::LegacySchematicFileExtension + || ext == FILEEXT::LegacySchematicFileExtension + FILEEXT::BackupFileSuffix + || ext == FILEEXT::KiCadSchematicFileExtension + || ext == FILEEXT::KiCadSchematicFileExtension + FILEEXT::BackupFileSuffix ) { if( destFile.GetName() == aProjectName ) { @@ -522,13 +522,14 @@ void IFACE::SaveFileAs( const wxString& aProjectBasePath, const wxString& aProje KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors ); } - else if( ext == SchematicSymbolFileExtension ) + else if( ext == FILEEXT::SchematicSymbolFileExtension ) { // Symbols are not project-specific. Keep their source names. KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors ); } - else if( ext == LegacySymbolLibFileExtension || ext == LegacySymbolDocumentFileExtension || - ext == KiCadSymbolLibFileExtension ) + else if( ext == FILEEXT::LegacySymbolLibFileExtension + || ext == FILEEXT::LegacySymbolDocumentFileExtension + || ext == FILEEXT::KiCadSymbolLibFileExtension ) { if( destFile.GetName() == aProjectName + wxS( "-cache" ) ) destFile.SetName( aNewProjectName + wxS( "-cache" ) ); @@ -538,7 +539,7 @@ void IFACE::SaveFileAs( const wxString& aProjectBasePath, const wxString& aProje KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors ); } - else if( ext == NetlistFileExtension ) + else if( ext == FILEEXT::NetlistFileExtension ) { bool success = false; diff --git a/eeschema/eeschema_config.cpp b/eeschema/eeschema_config.cpp index bc7bd32b25..ecdcea32dc 100644 --- a/eeschema/eeschema_config.cpp +++ b/eeschema/eeschema_config.cpp @@ -126,7 +126,7 @@ void SCH_EDIT_FRAME::saveProjectSettings() { wxFileName fn = Schematic().RootScreen()->GetFileName(); //ConfigFileName - fn.SetExt( ProjectFileExtension ); + fn.SetExt( FILEEXT::ProjectFileExtension ); if( !fn.HasName() || !IsWritable( fn, false ) ) return; diff --git a/eeschema/eeschema_helpers.cpp b/eeschema/eeschema_helpers.cpp index 3c03c42675..56767601e0 100644 --- a/eeschema/eeschema_helpers.cpp +++ b/eeschema/eeschema_helpers.cpp @@ -80,9 +80,9 @@ PROJECT* EESCHEMA_HELPERS::GetDefaultProject() SCHEMATIC* EESCHEMA_HELPERS::LoadSchematic( wxString& aFileName ) { - if( aFileName.EndsWith( KiCadSchematicFileExtension ) ) + if( aFileName.EndsWith( FILEEXT::KiCadSchematicFileExtension ) ) return LoadSchematic( aFileName, SCH_IO_MGR::SCH_KICAD ); - else if( aFileName.EndsWith( LegacySchematicFileExtension ) ) + else if( aFileName.EndsWith( FILEEXT::LegacySchematicFileExtension ) ) return LoadSchematic( aFileName, SCH_IO_MGR::SCH_LEGACY ); // as fall back for any other kind use the legacy format @@ -93,7 +93,7 @@ SCHEMATIC* EESCHEMA_HELPERS::LoadSchematic( wxString& aFileName ) SCHEMATIC* EESCHEMA_HELPERS::LoadSchematic( wxString& aFileName, SCH_IO_MGR::SCH_FILE_T aFormat ) { wxFileName pro = aFileName; - pro.SetExt( ProjectFileExtension ); + pro.SetExt( FILEEXT::ProjectFileExtension ); pro.MakeAbsolute(); wxString projectPath = pro.GetFullPath(); diff --git a/eeschema/eeschema_jobs_handler.cpp b/eeschema/eeschema_jobs_handler.cpp index fc9350c685..678b55e557 100644 --- a/eeschema/eeschema_jobs_handler.cpp +++ b/eeschema/eeschema_jobs_handler.cpp @@ -278,28 +278,28 @@ int EESCHEMA_JOBS_HANDLER::JobExportNetlist( JOB* aJob ) switch( aNetJob->format ) { case JOB_EXPORT_SCH_NETLIST::FORMAT::KICADSEXPR: - fileExt = NetlistFileExtension; + fileExt = FILEEXT::NetlistFileExtension; helper = std::make_unique<NETLIST_EXPORTER_KICAD>( sch ); break; case JOB_EXPORT_SCH_NETLIST::FORMAT::ORCADPCB2: - fileExt = OrCadPcb2NetlistFileExtension; + fileExt = FILEEXT::OrCadPcb2NetlistFileExtension; helper = std::make_unique<NETLIST_EXPORTER_ORCADPCB2>( sch ); break; case JOB_EXPORT_SCH_NETLIST::FORMAT::CADSTAR: - fileExt = CadstarNetlistFileExtension; + fileExt = FILEEXT::CadstarNetlistFileExtension; helper = std::make_unique<NETLIST_EXPORTER_CADSTAR>( sch ); break; case JOB_EXPORT_SCH_NETLIST::FORMAT::SPICE: - fileExt = SpiceFileExtension; + fileExt = FILEEXT::SpiceFileExtension; netlistOption = NETLIST_EXPORTER_SPICE::OPTION_SIM_COMMAND; helper = std::make_unique<NETLIST_EXPORTER_SPICE>( sch ); break; case JOB_EXPORT_SCH_NETLIST::FORMAT::SPICEMODEL: - fileExt = SpiceFileExtension; + fileExt = FILEEXT::SpiceFileExtension; helper = std::make_unique<NETLIST_EXPORTER_SPICE_MODEL>( sch ); break; @@ -520,7 +520,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportBom( JOB* aJob ) { wxFileName fn = sch->GetFileName(); fn.SetName( fn.GetName() ); - fn.SetExt( CsvFileExtension ); + fn.SetExt( FILEEXT::CsvFileExtension ); aBomJob->m_outputFile = fn.GetFullName(); } @@ -638,7 +638,7 @@ int EESCHEMA_JOBS_HANDLER::JobExportPythonBom( JOB* aJob ) { wxFileName fn = sch->GetFileName(); fn.SetName( fn.GetName() + "-bom" ); - fn.SetExt( XmlFileExtension ); + fn.SetExt( FILEEXT::XmlFileExtension ); aNetJob->m_outputFile = fn.GetFullName(); } @@ -699,7 +699,7 @@ int EESCHEMA_JOBS_HANDLER::doSymExportSvg( JOB_SYM_EXPORT_SVG* aSvgJob, size_t forbidden_char; fn.SetPath( aSvgJob->m_outputDirectory ); - fn.SetExt( SVGFileExtension ); + fn.SetExt( FILEEXT::SVGFileExtension ); filename = symbol->GetName().Lower(); @@ -951,9 +951,9 @@ int EESCHEMA_JOBS_HANDLER::JobSchErc( JOB* aJob ) fn.SetName( fn.GetName() ); if( ercJob->m_format == JOB_SCH_ERC::OUTPUT_FORMAT::JSON ) - fn.SetExt( JsonFileExtension ); + fn.SetExt( FILEEXT::JsonFileExtension ); else - fn.SetExt( ReportFileExtension ); + fn.SetExt( FILEEXT::ReportFileExtension ); ercJob->m_outputFile = fn.GetFullName(); } diff --git a/eeschema/fields_grid_table.cpp b/eeschema/fields_grid_table.cpp index 02840521ac..d59e562726 100644 --- a/eeschema/fields_grid_table.cpp +++ b/eeschema/fields_grid_table.cpp @@ -225,7 +225,7 @@ void FIELDS_GRID_TABLE<T>::initGrid( WX_GRID* aGrid ) // Create a wild card using wxFileDialog syntax. wxString wildCard( _( "Schematic Files" ) ); std::vector<std::string> exts; - exts.push_back( KiCadSchematicFileExtension ); + exts.push_back( FILEEXT::KiCadSchematicFileExtension ); wildCard += AddFileExtListToFilter( exts ); auto filepathEditor = new GRID_CELL_PATH_EDITOR( m_dialog, aGrid, &m_curdir, wildCard ); @@ -691,7 +691,7 @@ void FIELDS_GRID_TABLE<T>::SetValue( int aRow, int aCol, const wxString &aValue { if( m_parentType == SCH_SHEET_T && aRow == SHEETFILENAME ) { - value = EnsureFileExtension( value, KiCadSchematicFileExtension ); + value = EnsureFileExtension( value, FILEEXT::KiCadSchematicFileExtension ); } else if( m_parentType == LIB_SYMBOL_T && aRow == VALUE_FIELD ) { diff --git a/eeschema/files-io.cpp b/eeschema/files-io.cpp index 6d829dbe14..37fb947685 100644 --- a/eeschema/files-io.cpp +++ b/eeschema/files-io.cpp @@ -122,7 +122,7 @@ bool SCH_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in #endif wxFileName pro = fullFileName; - pro.SetExt( ProjectFileExtension ); + pro.SetExt( FILEEXT::ProjectFileExtension ); bool is_new = !wxFileName::IsFileReadable( fullFileName ); @@ -164,7 +164,7 @@ bool SCH_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in GetSettingsManager()->LoadProject( pro.GetFullPath() ); wxFileName legacyPro( pro ); - legacyPro.SetExt( LegacyProjectFileExtension ); + legacyPro.SetExt( FILEEXT::LegacyProjectFileExtension ); // Do not allow saving a project if one doesn't exist. This normally happens if we are // standalone and opening a schematic that has been moved from its project folder. @@ -421,7 +421,7 @@ bool SCH_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in wxFileName cacheFn = pro; cacheFn.SetName( cacheFn.GetName() + "-cache" ); - cacheFn.SetExt( LegacySymbolLibFileExtension ); + cacheFn.SetExt( FILEEXT::LegacySymbolLibFileExtension ); msg.Printf( _( "The project symbol library cache file '%s' was not found." ), cacheFn.GetFullName() ); @@ -603,7 +603,7 @@ bool SCH_EDIT_FRAME::AppendSchematic() wxString path = wxPathOnly( Prj().GetProjectFullName() ); wxFileDialog dlg( this, _( "Insert Schematic" ), path, wxEmptyString, - KiCadSchematicFileWildcard(), wxFD_OPEN | wxFD_FILE_MUST_EXIST ); + FILEEXT::KiCadSchematicFileWildcard(), wxFD_OPEN | wxFD_FILE_MUST_EXIST ); if( dlg.ShowModal() == wxID_CANCEL ) return false; @@ -712,7 +712,7 @@ void SCH_EDIT_FRAME::OnImportProject( wxCommandEvent& aEvent ) Schematic().Reset(); wxFileName projectFn( dlg.GetPath() ); - projectFn.SetExt( ProjectFileExtension ); + projectFn.SetExt( FILEEXT::ProjectFileExtension ); GetSettingsManager()->LoadProject( projectFn.GetFullPath() ); Schematic().SetProject( &Prj() ); @@ -774,7 +774,7 @@ bool SCH_EDIT_FRAME::saveSchematicFile( SCH_SHEET* aSheet, const wxString& aSave wxFileName projectFile( schematicFileName ); - projectFile.SetExt( ProjectFileExtension ); + projectFile.SetExt( FILEEXT::ProjectFileExtension ); if( projectFile.FileExists() ) { @@ -908,12 +908,12 @@ bool SCH_EDIT_FRAME::SaveProject( bool aSaveAs ) } if( savePath.HasExt() ) - savePath.SetExt( KiCadSchematicFileExtension ); + savePath.SetExt( FILEEXT::KiCadSchematicFileExtension ); else savePath.SetName( wxEmptyString ); - wxFileDialog dlg( this, _( "Schematic Files" ), savePath.GetPath(), - savePath.GetFullName(), KiCadSchematicFileWildcard(), + wxFileDialog dlg( this, _( "Schematic Files" ), savePath.GetPath(), savePath.GetFullName(), + FILEEXT::KiCadSchematicFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); FILEDLG_HOOK_SAVE_PROJECT newProjectHook; @@ -927,7 +927,7 @@ bool SCH_EDIT_FRAME::SaveProject( bool aSaveAs ) if( dlg.ShowModal() == wxID_CANCEL ) return false; - newFileName = EnsureFileExtension( dlg.GetPath(), KiCadSchematicFileExtension ); + newFileName = EnsureFileExtension( dlg.GetPath(), FILEEXT::KiCadSchematicFileExtension ); if( ( !newFileName.DirExists() && !newFileName.Mkdir() ) || !newFileName.IsDirWritable() ) @@ -1063,10 +1063,10 @@ bool SCH_EDIT_FRAME::SaveProject( bool aSaveAs ) if( tmpFn.FileExists() && !tmpFn.IsFileWritable() ) lockedFiles.Add( tmpFn.GetFullPath() ); - if( tmpFn.GetExt() == KiCadSchematicFileExtension ) + if( tmpFn.GetExt() == FILEEXT::KiCadSchematicFileExtension ) continue; - tmpFn.SetExt( KiCadSchematicFileExtension ); + tmpFn.SetExt( FILEEXT::KiCadSchematicFileExtension ); if( tmpFn.FileExists() ) overwrittenFiles.Add( tmpFn.GetFullPath() ); @@ -1125,20 +1125,21 @@ bool SCH_EDIT_FRAME::SaveProject( bool aSaveAs ) // Convert legacy schematics file name extensions for the new format. wxFileName tmpFn = filenameMap[screen]; - if( tmpFn.IsOk() && tmpFn.GetExt() != KiCadSchematicFileExtension ) + if( tmpFn.IsOk() && tmpFn.GetExt() != FILEEXT::KiCadSchematicFileExtension ) { updateFileHistory = true; - tmpFn.SetExt( KiCadSchematicFileExtension ); + tmpFn.SetExt( FILEEXT::KiCadSchematicFileExtension ); for( EDA_ITEM* item : screen->Items().OfType( SCH_SHEET_T ) ) { SCH_SHEET* sheet = static_cast<SCH_SHEET*>( item ); wxFileName sheetFileName = sheet->GetFileName(); - if( !sheetFileName.IsOk() || sheetFileName.GetExt() == KiCadSchematicFileExtension ) + if( !sheetFileName.IsOk() + || sheetFileName.GetExt() == FILEEXT::KiCadSchematicFileExtension ) continue; - sheetFileName.SetExt( KiCadSchematicFileExtension ); + sheetFileName.SetExt( FILEEXT::KiCadSchematicFileExtension ); sheet->SetFileName( sheetFileName.GetFullPath() ); UpdateItem( sheet ); } @@ -1207,7 +1208,7 @@ bool SCH_EDIT_FRAME::SaveProject( bool aSaveAs ) wxASSERT( filenameMap.count( Schematic().RootScreen() ) ); wxFileName projectPath( filenameMap.at( Schematic().RootScreen() ) ); - projectPath.SetExt( ProjectFileExtension ); + projectPath.SetExt( FILEEXT::ProjectFileExtension ); if( Prj().IsNullProject() || ( aSaveAs && !saveCopy ) ) { @@ -1367,7 +1368,7 @@ bool SCH_EDIT_FRAME::importFile( const wxString& aFileName, int aFileType, newfilename.SetPath( Prj().GetProjectPath() ); newfilename.SetName( Prj().GetProjectName() ); - newfilename.SetExt( KiCadSchematicFileExtension ); + newfilename.SetExt( FILEEXT::KiCadSchematicFileExtension ); SetScreen( GetCurrentSheet().LastScreen() ); @@ -1596,7 +1597,7 @@ void SCH_EDIT_FRAME::CheckForAutoSaveFile( const wxFileName& aFileName ) wxFileName backupFn = recoveredFn; - backupFn.SetExt( backupFn.GetExt() + BackupFileSuffix ); + backupFn.SetExt( backupFn.GetExt() + FILEEXT::BackupFileSuffix ); wxLogTrace( traceAutoSave, wxS( "Recovering auto save file:\n" " Original file: '%s'\n" diff --git a/eeschema/project_rescue.cpp b/eeschema/project_rescue.cpp index 26aee7801a..b39db4e114 100644 --- a/eeschema/project_rescue.cpp +++ b/eeschema/project_rescue.cpp @@ -115,7 +115,7 @@ static wxFileName GetRescueLibraryFileName( SCHEMATIC* aSchematic ) { wxFileName fn = aSchematic->GetFileName(); fn.SetName( fn.GetName() + wxT( "-rescue" ) ); - fn.SetExt( LegacySymbolLibFileExtension ); + fn.SetExt( FILEEXT::LegacySymbolLibFileExtension ); return fn; } @@ -833,7 +833,7 @@ void SYMBOL_LIB_TABLE_RESCUER::OpenRescueLibrary() if( row ) { if( SCH_IO_MGR::EnumFromStr( row->GetType() ) == SCH_IO_MGR::SCH_KICAD ) - fn.SetExt( KiCadSymbolLibFileExtension ); + fn.SetExt( FILEEXT::KiCadSymbolLibFileExtension ); std::vector<LIB_SYMBOL*> symbols; @@ -858,7 +858,7 @@ bool SYMBOL_LIB_TABLE_RESCUER::WriteRescueLibrary( wxWindow *aParent ) wxFileName fn = GetRescueLibraryFileName( m_schematic ); SYMBOL_LIB_TABLE_ROW* row = PROJECT_SCH::SchSymbolLibTable( m_prj )->FindRow( fn.GetName() ); - fn.SetExt( KiCadSymbolLibFileExtension ); + fn.SetExt( FILEEXT::KiCadSymbolLibFileExtension ); try { diff --git a/eeschema/sch_edit_frame.cpp b/eeschema/sch_edit_frame.cpp index f11a853a37..7ac09334fe 100644 --- a/eeschema/sch_edit_frame.cpp +++ b/eeschema/sch_edit_frame.cpp @@ -367,7 +367,7 @@ SCH_EDIT_FRAME::SCH_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) : KIPLATFORM::APP::SetShutdownBlockReason( this, _( "New schematic file is unsaved" ) ); // Init for dropping files - m_acceptedExts.emplace( KiCadSchematicFileExtension, &EE_ACTIONS::ddAppendFile ); + m_acceptedExts.emplace( FILEEXT::KiCadSchematicFileExtension, &EE_ACTIONS::ddAppendFile ); DragAcceptFiles( true ); // Ensure the window is on top @@ -1105,7 +1105,7 @@ void SCH_EDIT_FRAME::OnUpdatePCB( wxCommandEvent& event ) if( !frame ) { wxFileName fn = Prj().GetProjectFullName(); - fn.SetExt( PcbFileExtension ); + fn.SetExt( FILEEXT::PcbFileExtension ); frame = Kiway().Player( FRAME_PCB_EDITOR, true ); @@ -1249,12 +1249,13 @@ void SCH_EDIT_FRAME::NewProject() wxString pro_dir = m_mruPath; wxFileDialog dlg( this, _( "New Schematic" ), pro_dir, wxEmptyString, - KiCadSchematicFileWildcard(), wxFD_SAVE ); + FILEEXT::KiCadSchematicFileWildcard(), wxFD_SAVE ); if( dlg.ShowModal() != wxID_CANCEL ) { // Enforce the extension, wxFileDialog is inept. - wxFileName create_me = EnsureFileExtension( dlg.GetPath(), KiCadSchematicFileExtension ); + wxFileName create_me = + EnsureFileExtension( dlg.GetPath(), FILEEXT::KiCadSchematicFileExtension ); if( create_me.FileExists() ) { @@ -1276,9 +1277,9 @@ void SCH_EDIT_FRAME::NewProject() void SCH_EDIT_FRAME::LoadProject() { wxString pro_dir = m_mruPath; - wxString wildcards = AllSchematicFilesWildcard() - + wxS( "|" ) + KiCadSchematicFileWildcard() - + wxS( "|" ) + LegacySchematicFileWildcard(); + wxString wildcards = FILEEXT::AllSchematicFilesWildcard() + + wxS( "|" ) + FILEEXT::KiCadSchematicFileWildcard() + + wxS( "|" ) + FILEEXT::LegacySchematicFileWildcard(); wxFileDialog dlg( this, _( "Open Schematic" ), pro_dir, wxEmptyString, wildcards, wxFD_OPEN | wxFD_FILE_MUST_EXIST ); @@ -1297,9 +1298,9 @@ void SCH_EDIT_FRAME::OnOpenPcbnew( wxCommandEvent& event ) if( kicad_board.IsOk() && !Schematic().GetFileName().IsEmpty() ) { - kicad_board.SetExt( PcbFileExtension ); + kicad_board.SetExt( FILEEXT::PcbFileExtension ); wxFileName legacy_board( kicad_board ); - legacy_board.SetExt( LegacyPcbFileExtension ); + legacy_board.SetExt( FILEEXT::LegacyPcbFileExtension ); wxFileName& boardfn = legacy_board; if( !legacy_board.FileExists() || kicad_board.FileExists() ) @@ -1347,7 +1348,7 @@ void SCH_EDIT_FRAME::OnOpenPcbnew( wxCommandEvent& event ) void SCH_EDIT_FRAME::OnOpenCvpcb( wxCommandEvent& event ) { wxFileName fn = Prj().AbsolutePath( Schematic().GetFileName() ); - fn.SetExt( NetlistFileExtension ); + fn.SetExt( FILEEXT::NetlistFileExtension ); if( !ReadyToNetlist( _( "Assigning footprints requires a fully annotated schematic." ) ) ) return; diff --git a/eeschema/sch_io/altium/sch_io_altium.cpp b/eeschema/sch_io/altium/sch_io_altium.cpp index 1102ece612..1a2507c0bd 100644 --- a/eeschema/sch_io/altium/sch_io_altium.cpp +++ b/eeschema/sch_io/altium/sch_io_altium.cpp @@ -304,7 +304,8 @@ wxString SCH_IO_ALTIUM::getLibName() wxFileName SCH_IO_ALTIUM::getLibFileName() { - wxFileName fn( m_schematic->Prj().GetProjectPath(), getLibName(), KiCadSymbolLibFileExtension ); + wxFileName fn( m_schematic->Prj().GetProjectPath(), getLibName(), + FILEEXT::KiCadSymbolLibFileExtension ); return fn; } @@ -317,7 +318,7 @@ SCH_SHEET* SCH_IO_ALTIUM::LoadSchematicFile( const wxString& aFileName, SCHEMATI wxCHECK( !aFileName.IsEmpty() && aSchematic, nullptr ); wxFileName fileName( aFileName ); - fileName.SetExt( KiCadSchematicFileExtension ); + fileName.SetExt( FILEEXT::KiCadSchematicFileExtension ); m_schematic = aSchematic; // Delete on exception, if I own m_rootSheet, according to aAppendToMe @@ -491,7 +492,7 @@ void SCH_IO_ALTIUM::ParseAltiumSch( const wxString& aFileName ) // Map the loaded Altium file to the project file. wxFileName projectFileName = loadAltiumFileName; projectFileName.SetPath( m_schematic->Prj().GetProjectPath() ); - projectFileName.SetExt( KiCadSchematicFileExtension ); + projectFileName.SetExt( FILEEXT::KiCadSchematicFileExtension ); sheet->SetFileName( projectFileName.GetFullName() ); screen->SetFileName( projectFileName.GetFullPath() ); @@ -2505,9 +2506,10 @@ void SCH_IO_ALTIUM::ParseHarnessType( const std::map<wxString, wxString>& aPrope sheetNameField.SetTextColor( GetColorFromInt( elem.Color ) ); SCH_FIELD& sheetFileName = sheetIt->second->GetFields()[SHEETFILENAME]; - sheetFileName.SetText( elem.Text + wxT( "." ) + KiCadSchematicFileExtension ); + sheetFileName.SetText( elem.Text + wxT( "." ) + FILEEXT::KiCadSchematicFileExtension ); - wxFileName fn( m_schematic->Prj().GetProjectPath(), elem.Text, KiCadSchematicFileExtension ); + wxFileName fn( m_schematic->Prj().GetProjectPath(), elem.Text, + FILEEXT::KiCadSchematicFileExtension ); wxString fullPath = fn.GetFullPath(); fullPath.Replace( wxT( "\\" ), wxT( "/" ) ); diff --git a/eeschema/sch_io/cadstar/cadstar_sch_archive_loader.cpp b/eeschema/sch_io/cadstar/cadstar_sch_archive_loader.cpp index 4b391ceded..2348ecf4fe 100644 --- a/eeschema/sch_io/cadstar/cadstar_sch_archive_loader.cpp +++ b/eeschema/sch_io/cadstar/cadstar_sch_archive_loader.cpp @@ -569,7 +569,7 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSheets() getSheetNumber( rootSheetID ) ) .ToStdString(); ReplaceIllegalFileNameChars( &filename ); - filename += wxT( "." ) + KiCadSchematicFileExtension; + filename += wxT( "." ) + FILEEXT::KiCadSchematicFileExtension; wxFileName fn( m_schematic->Prj().GetProjectPath() + filename ); m_rootSheet->GetScreen()->SetFileName( fn.GetFullPath() ); @@ -2493,7 +2493,7 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSheetAndChildSheets( LAYER_ID std::string filename = wxString::Format( "%s_%02d", loadedFilename, sheetNum ).ToStdString(); ReplaceIllegalFileNameChars( &filename ); - filename += wxT( "." ) + KiCadSchematicFileExtension; + filename += wxT( "." ) + FILEEXT::KiCadSchematicFileExtension; filenameField.SetText( filename ); diff --git a/eeschema/sch_io/cadstar/sch_io_cadstar_archive.cpp b/eeschema/sch_io/cadstar/sch_io_cadstar_archive.cpp index 0be4181db3..4debde89fb 100644 --- a/eeschema/sch_io/cadstar/sch_io_cadstar_archive.cpp +++ b/eeschema/sch_io/cadstar/sch_io_cadstar_archive.cpp @@ -113,7 +113,7 @@ SCH_SHEET* SCH_IO_CADSTAR_ARCHIVE::LoadSchematicFile( const wxString& aFi libName = LIB_ID::FixIllegalChars( libName, true ).wx_str(); wxFileName libFileName( aSchematic->Prj().GetProjectPath(), libName, - KiCadSymbolLibFileExtension ); + FILEEXT::KiCadSymbolLibFileExtension ); SCH_IO::SCH_IO_RELEASER sch_plugin; sch_plugin.set( SCH_IO_MGR::FindPlugin( SCH_IO_MGR::SCH_KICAD ) ); diff --git a/eeschema/sch_io/cadstar/sch_io_cadstar_archive.h b/eeschema/sch_io/cadstar/sch_io_cadstar_archive.h index dae0cdf37d..0535af4d2c 100644 --- a/eeschema/sch_io/cadstar/sch_io_cadstar_archive.h +++ b/eeschema/sch_io/cadstar/sch_io_cadstar_archive.h @@ -53,13 +53,13 @@ public: const IO_BASE::IO_FILE_DESC GetSchematicFileDesc() const override { return IO_BASE::IO_FILE_DESC( _HKI( "CADSTAR Schematic Archive files" ), - { CadstarSchematicFileExtension } ); + { FILEEXT::CadstarSchematicFileExtension } ); } const IO_BASE::IO_FILE_DESC GetLibraryDesc() const override { return IO_BASE::IO_FILE_DESC( _HKI( "CADSTAR Parts Library files" ), - { CadstarPartsLibraryFileExtension } ); + { FILEEXT::CadstarPartsLibraryFileExtension } ); } bool CanReadLibrary( const wxString& aFileName ) const override; diff --git a/eeschema/sch_io/database/sch_io_database.h b/eeschema/sch_io/database/sch_io_database.h index 943d4a94d3..3748efa937 100644 --- a/eeschema/sch_io/database/sch_io_database.h +++ b/eeschema/sch_io/database/sch_io_database.h @@ -48,7 +48,7 @@ public: const IO_BASE::IO_FILE_DESC GetLibraryDesc() const override { return IO_BASE::IO_FILE_DESC( _HKI( "KiCad database library files" ), - { DatabaseLibraryFileExtension } ); + { FILEEXT::DatabaseLibraryFileExtension } ); } int GetModifyHash() const override { return 0; } diff --git a/eeschema/sch_io/eagle/sch_io_eagle.cpp b/eeschema/sch_io/eagle/sch_io_eagle.cpp index 6d7352a37a..4ff3898d58 100644 --- a/eeschema/sch_io/eagle/sch_io_eagle.cpp +++ b/eeschema/sch_io/eagle/sch_io_eagle.cpp @@ -176,7 +176,8 @@ wxFileName SCH_IO_EAGLE::getLibFileName() wxCHECK( m_schematic, fn ); - fn.Assign( m_schematic->Prj().GetProjectPath(), getLibName(), KiCadSymbolLibFileExtension ); + fn.Assign( m_schematic->Prj().GetProjectPath(), getLibName(), + FILEEXT::KiCadSymbolLibFileExtension ); return fn; } @@ -424,7 +425,7 @@ SCH_SHEET* SCH_IO_EAGLE::LoadSchematicFile( const wxString& aFileName, SCHEMATIC unique_ptr<SCH_SHEET> deleter( aAppendToMe ? nullptr : m_rootSheet ); wxFileName newFilename( m_filename ); - newFilename.SetExt( KiCadSchematicFileExtension ); + newFilename.SetExt( FILEEXT::KiCadSchematicFileExtension ); if( aAppendToMe ) { @@ -967,7 +968,7 @@ void SCH_IO_EAGLE::loadSheet( wxXmlNode* aSheetNode, int aSheetIndex ) wxFileName fn( m_filename ); fn.SetName( filename ); - fn.SetExt( KiCadSchematicFileExtension ); + fn.SetExt( FILEEXT::KiCadSchematicFileExtension ); filenameField.SetText( fn.GetFullName() ); diff --git a/eeschema/sch_io/easyedapro/sch_io_easyedapro.cpp b/eeschema/sch_io/easyedapro/sch_io_easyedapro.cpp index c979138664..463b6ce19a 100644 --- a/eeschema/sch_io/easyedapro/sch_io_easyedapro.cpp +++ b/eeschema/sch_io/easyedapro/sch_io_easyedapro.cpp @@ -417,7 +417,7 @@ SCH_SHEET* SCH_IO_EASYEDAPRO::LoadSchematicFile( const wxString& aFileName, wxFileName fname( aFileName ); wxString libName = EASYEDAPRO::ShortenLibName( fname.GetName() ); - wxFileName libFileName( fname.GetPath(), libName, KiCadSymbolLibFileExtension ); + wxFileName libFileName( fname.GetPath(), libName, FILEEXT::KiCadSymbolLibFileExtension ); if( fname.GetExt() != wxS( "epro" ) && fname.GetExt() != wxS( "zip" ) ) return rootSheet; @@ -455,7 +455,7 @@ SCH_SHEET* SCH_IO_EASYEDAPRO::LoadSchematicFile( const wxString& aFileName, wxFileName rootFname( aFileName ); rootFname.SetFullName( rootBaseName + wxS( "." ) - + wxString::FromUTF8( KiCadSchematicFileExtension ) ); + + wxString::FromUTF8( FILEEXT::KiCadSchematicFileExtension ) ); rootSheet->SetName( prjSchematics[schematicToLoad].name ); rootSheet->SetFileName( rootFname.GetFullPath() ); @@ -505,7 +505,7 @@ SCH_SHEET* SCH_IO_EASYEDAPRO::LoadSchematicFile( const wxString& aFileName, wxFileName sheetFname( aFileName ); sheetFname.SetFullName( sheetBaseName + wxS( "." ) - + wxString::FromUTF8( KiCadSchematicFileExtension ) ); + + wxString::FromUTF8( FILEEXT::KiCadSchematicFileExtension ) ); std::unique_ptr<SCH_SHEET> subSheet = std::make_unique<SCH_SHEET>( aSchematic ); subSheet->SetFileName( sheetFname.GetFullPath() ); diff --git a/eeschema/sch_io/http_lib/sch_io_http_lib.h b/eeschema/sch_io/http_lib/sch_io_http_lib.h index 87125a6358..357b537bbb 100644 --- a/eeschema/sch_io/http_lib/sch_io_http_lib.h +++ b/eeschema/sch_io/http_lib/sch_io_http_lib.h @@ -45,7 +45,7 @@ public: const IO_BASE::IO_FILE_DESC GetLibraryDesc() const override { return IO_BASE::IO_FILE_DESC( _HKI( "KiCad HTTP library files" ), - { HTTPLibraryFileExtension } ); + { FILEEXT::HTTPLibraryFileExtension } ); } int GetModifyHash() const override { return 0; } diff --git a/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy.h b/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy.h index c54c3e1780..8953c059a3 100644 --- a/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy.h +++ b/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy.h @@ -73,13 +73,13 @@ public: const IO_BASE::IO_FILE_DESC GetSchematicFileDesc() const override { return IO_BASE::IO_FILE_DESC( _HKI( "KiCad legacy schematic files" ), - { LegacySchematicFileExtension } ); + { FILEEXT::LegacySchematicFileExtension } ); } const IO_BASE::IO_FILE_DESC GetLibraryDesc() const override { return IO_BASE::IO_FILE_DESC( _HKI( "KiCad legacy symbol library files" ), - { LegacySymbolLibFileExtension } ); + { FILEEXT::LegacySymbolLibFileExtension } ); } bool CanReadSchematicFile( const wxString& aFileName ) const override; diff --git a/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy_lib_cache.cpp b/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy_lib_cache.cpp index 6e1798cc30..486433f761 100644 --- a/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy_lib_cache.cpp +++ b/eeschema/sch_io/kicad_legacy/sch_io_kicad_legacy_lib_cache.cpp @@ -171,7 +171,7 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::loadDocs() wxFileName fn = m_libFileName; LIB_SYMBOL* symbol = nullptr;; - fn.SetExt( LegacySymbolDocumentFileExtension ); + fn.SetExt( FILEEXT::LegacySymbolDocumentFileExtension ); // Not all libraries will have a document file. if( !fn.FileExists() ) @@ -1856,7 +1856,7 @@ void SCH_IO_KICAD_LEGACY_LIB_CACHE::saveDocFile() wxFileName fileName = m_libFileName; - fileName.SetExt( LegacySymbolDocumentFileExtension ); + fileName.SetExt( FILEEXT::LegacySymbolDocumentFileExtension ); FILE_OUTPUTFORMATTER formatter( fileName.GetFullPath() ); formatter.Print( 0, "%s\n", DOCFILE_IDENT ); diff --git a/eeschema/sch_io/kicad_sexpr/sch_io_kicad_sexpr.h b/eeschema/sch_io/kicad_sexpr/sch_io_kicad_sexpr.h index 34f71e1c6e..b34df5fd2a 100644 --- a/eeschema/sch_io/kicad_sexpr/sch_io_kicad_sexpr.h +++ b/eeschema/sch_io/kicad_sexpr/sch_io_kicad_sexpr.h @@ -72,13 +72,13 @@ public: const IO_BASE::IO_FILE_DESC GetSchematicFileDesc() const override { return IO_BASE::IO_FILE_DESC( _HKI( "KiCad s-expression schematic files" ), - { KiCadSchematicFileExtension } ); + { FILEEXT::KiCadSchematicFileExtension } ); } const IO_BASE::IO_FILE_DESC GetLibraryDesc() const override { return IO_BASE::IO_FILE_DESC( _HKI( "KiCad symbol library files" ), - { KiCadSymbolLibFileExtension } ); + { FILEEXT::KiCadSymbolLibFileExtension } ); } /** diff --git a/eeschema/sim/simulator_frame_ui.cpp b/eeschema/sim/simulator_frame_ui.cpp index a42498064b..d367bb4134 100644 --- a/eeschema/sim/simulator_frame_ui.cpp +++ b/eeschema/sim/simulator_frame_ui.cpp @@ -2097,7 +2097,7 @@ bool SIMULATOR_FRAME_UI::SaveWorkbook( const wxString& aPath ) updateMeasurementsFromGrid(); wxFileName filename = aPath; - filename.SetExt( WorkbookFileExtension ); + filename.SetExt( FILEEXT::WorkbookFileExtension ); wxFile file; diff --git a/eeschema/symbol_editor/symbol_edit_frame.cpp b/eeschema/symbol_editor/symbol_edit_frame.cpp index 32e0d53dce..b7ff94eaf8 100644 --- a/eeschema/symbol_editor/symbol_edit_frame.cpp +++ b/eeschema/symbol_editor/symbol_edit_frame.cpp @@ -238,7 +238,7 @@ SYMBOL_EDIT_FRAME::SYMBOL_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) : m_toolManager->RunAction( ACTIONS::zoomFitScreen ); - m_acceptedExts.emplace( KiCadSymbolLibFileExtension, &ACTIONS::ddAddLibrary ); + m_acceptedExts.emplace( FILEEXT::KiCadSymbolLibFileExtension, &ACTIONS::ddAddLibrary ); DragAcceptFiles( true ); KIPLATFORM::APP::SetShutdownBlockReason( this, _( "Library changes are unsaved" ) ); @@ -904,8 +904,8 @@ wxString SYMBOL_EDIT_FRAME::AddLibraryFile( bool aCreateNew ) wxFileName fn = m_libMgr->GetUniqueLibraryName(); - if( !LibraryFileBrowser( !aCreateNew, fn, KiCadSymbolLibFileWildcard(), - KiCadSymbolLibFileExtension, false, + if( !LibraryFileBrowser( !aCreateNew, fn, FILEEXT::KiCadSymbolLibFileWildcard(), + FILEEXT::KiCadSymbolLibFileExtension, false, ( libTable == &SYMBOL_LIB_TABLE::GetGlobalLibTable() ), PATHS::GetDefaultUserSymbolsPath() ) ) { diff --git a/eeschema/symbol_editor/symbol_editor.cpp b/eeschema/symbol_editor/symbol_editor.cpp index 0e5e91e77a..0a4b03fde9 100644 --- a/eeschema/symbol_editor/symbol_editor.cpp +++ b/eeschema/symbol_editor/symbol_editor.cpp @@ -1077,9 +1077,9 @@ bool SYMBOL_EDIT_FRAME::saveLibrary( const wxString& aLibrary, bool aNewFile ) default_path = search->LastVisitedPath(); fn.SetName( aLibrary ); - fn.SetExt( KiCadSymbolLibFileExtension ); + fn.SetExt( FILEEXT::KiCadSymbolLibFileExtension ); - wxString wildcards = KiCadSymbolLibFileWildcard(); + wxString wildcards = FILEEXT::KiCadSymbolLibFileWildcard(); wxFileDialog dlg( this, wxString::Format( _( "Save Library '%s' As..." ), aLibrary ), default_path, fn.GetFullName(), wildcards, @@ -1096,7 +1096,7 @@ bool SYMBOL_EDIT_FRAME::saveLibrary( const wxString& aLibrary, bool aNewFile ) prj.SetRString( PROJECT::SCH_LIB_PATH, fn.GetPath() ); if( fn.GetExt().IsEmpty() ) - fn.SetExt( KiCadSymbolLibFileExtension ); + fn.SetExt( FILEEXT::KiCadSymbolLibFileExtension ); type = saveAsHook.GetOption(); } diff --git a/eeschema/symbol_editor/symbol_editor_import_export.cpp b/eeschema/symbol_editor/symbol_editor_import_export.cpp index c35ad9e855..cefba6c8e5 100644 --- a/eeschema/symbol_editor/symbol_editor_import_export.cpp +++ b/eeschema/symbol_editor/symbol_editor_import_export.cpp @@ -156,10 +156,10 @@ void SYMBOL_EDIT_FRAME::ExportSymbol() wxFileName fn; fn.SetName( symbol->GetName().Lower() ); - fn.SetExt( KiCadSymbolLibFileExtension ); + fn.SetExt( FILEEXT::KiCadSymbolLibFileExtension ); wxFileDialog dlg( this, _( "Export Symbol" ), m_mruPath, fn.GetFullName(), - KiCadSymbolLibFileWildcard(), wxFD_SAVE ); + FILEEXT::KiCadSymbolLibFileWildcard(), wxFD_SAVE ); if( dlg.ShowModal() == wxID_CANCEL ) return; diff --git a/eeschema/symbol_library.cpp b/eeschema/symbol_library.cpp index 8654f95e59..2dd500dad7 100644 --- a/eeschema/symbol_library.cpp +++ b/eeschema/symbol_library.cpp @@ -488,7 +488,7 @@ const wxString SYMBOL_LIBS::CacheName( const wxString& aFullProjectFilename ) wxFileName name = aFullProjectFilename; name.SetName( name.GetName() + "-cache" ); - name.SetExt( LegacySymbolLibFileExtension ); + name.SetExt( FILEEXT::LegacySymbolLibFileExtension ); if( name.FileExists() ) return name.GetFullPath(); @@ -536,7 +536,7 @@ void SYMBOL_LIBS::LoadAllLibraries( PROJECT* aProject, bool aShowProgress ) // lib_names[] does not store the file extension. Set it. // Remember lib_names[i] can contain a '.' in name, so using a wxFileName // before adding the extension can create incorrect full filename - wxString fullname = lib_names[i] + "." + LegacySymbolLibFileExtension; + wxString fullname = lib_names[i] + "." + FILEEXT::LegacySymbolLibFileExtension; // Now the full name is set, we can use a wxFileName. wxFileName fn( fullname ); diff --git a/eeschema/tools/assign_footprints.cpp b/eeschema/tools/assign_footprints.cpp index 27e7b5bd76..645c4a7216 100644 --- a/eeschema/tools/assign_footprints.cpp +++ b/eeschema/tools/assign_footprints.cpp @@ -211,7 +211,7 @@ int SCH_EDITOR_CONTROL::ImportFPAssignments( const TOOL_EVENT& aEvent ) wxFileDialog dlg( m_frame, _( "Load Symbol Footprint Link File" ), path, wxEmptyString, - FootprintAssignmentFileWildcard(), + FILEEXT::FootprintAssignmentFileWildcard(), wxFD_OPEN | wxFD_FILE_MUST_EXIST ); if( dlg.ShowModal() == wxID_CANCEL ) diff --git a/eeschema/tools/backannotate.cpp b/eeschema/tools/backannotate.cpp index 171a2297ac..b80c33f34e 100644 --- a/eeschema/tools/backannotate.cpp +++ b/eeschema/tools/backannotate.cpp @@ -109,7 +109,7 @@ bool BACK_ANNOTATE::FetchNetlistFromPCB( std::string& aNetlist ) if( !frame ) { wxFileName fn( m_frame->Prj().GetProjectFullName() ); - fn.SetExt( PcbFileExtension ); + fn.SetExt( FILEEXT::PcbFileExtension ); frame = m_frame->Kiway().Player( FRAME_PCB_EDITOR, true ); frame->OpenProjectFiles( std::vector<wxString>( 1, fn.GetFullPath() ) ); diff --git a/eeschema/tools/sch_drawing_tools.cpp b/eeschema/tools/sch_drawing_tools.cpp index a281613e61..18b5d53154 100644 --- a/eeschema/tools/sch_drawing_tools.cpp +++ b/eeschema/tools/sch_drawing_tools.cpp @@ -2088,7 +2088,7 @@ int SCH_DRAWING_TOOLS::DrawSheet( const TOOL_EVENT& aEvent ) sheet->SetBorderColor( cfg->m_Drawing.default_sheet_border_color ); sheet->SetBackgroundColor( cfg->m_Drawing.default_sheet_background_color ); sheet->GetFields()[ SHEETNAME ].SetText( "Untitled Sheet" ); - sheet->GetFields()[ SHEETFILENAME ].SetText( "untitled." + KiCadSchematicFileExtension ); + sheet->GetFields()[ SHEETFILENAME ].SetText( "untitled." + FILEEXT::KiCadSchematicFileExtension ); sizeSheet( sheet, cursorPos ); m_view->ClearPreview(); diff --git a/eeschema/tools/sch_editor_control.cpp b/eeschema/tools/sch_editor_control.cpp index 98f46ef50d..8089a17777 100644 --- a/eeschema/tools/sch_editor_control.cpp +++ b/eeschema/tools/sch_editor_control.cpp @@ -112,14 +112,15 @@ int SCH_EDITOR_CONTROL::SaveCurrSheetCopyAs( const TOOL_EVENT& aEvent ) { SCH_SHEET* curr_sheet = m_frame->GetCurrentSheet().Last(); wxFileName curr_fn = curr_sheet->GetFileName(); - wxFileDialog dlg( m_frame, _( "Schematic Files" ), curr_fn.GetPath(), - curr_fn.GetFullName(), KiCadSchematicFileWildcard(), + wxFileDialog dlg( m_frame, _( "Schematic Files" ), curr_fn.GetPath(), curr_fn.GetFullName(), + FILEEXT::KiCadSchematicFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() == wxID_CANCEL ) return false; - wxString newFilename = EnsureFileExtension( dlg.GetPath(), KiCadSchematicFileExtension ); + wxString newFilename = + EnsureFileExtension( dlg.GetPath(), FILEEXT::KiCadSchematicFileExtension ); m_frame->saveSchematicFile( curr_sheet, newFilename ); return 0; @@ -379,8 +380,8 @@ int SCH_EDITOR_CONTROL::ExportSymbolsToLibrary( const TOOL_EVENT& aEvent ) if( !libTable ) // Cancelled by user return 0; - if( !m_frame->LibraryFileBrowser( false, fn, KiCadSymbolLibFileWildcard(), - KiCadSymbolLibFileExtension, false, + if( !m_frame->LibraryFileBrowser( false, fn, FILEEXT::KiCadSymbolLibFileWildcard(), + FILEEXT::KiCadSymbolLibFileExtension, false, ( libTable == &SYMBOL_LIB_TABLE::GetGlobalLibTable() ), PATHS::GetDefaultUserSymbolsPath() ) ) { diff --git a/eeschema/tools/simulator_control.cpp b/eeschema/tools/simulator_control.cpp index 6ad6729f62..c43a9519d1 100644 --- a/eeschema/tools/simulator_control.cpp +++ b/eeschema/tools/simulator_control.cpp @@ -92,7 +92,7 @@ int SIMULATOR_CONTROL::NewAnalysisTab( const TOOL_EVENT& aEvent ) int SIMULATOR_CONTROL::OpenWorkbook( const TOOL_EVENT& aEvent ) { wxFileDialog openDlg( m_simulatorFrame, _( "Open Simulation Workbook" ), getDefaultPath(), "", - WorkbookFileWildcard(), wxFD_OPEN | wxFD_FILE_MUST_EXIST ); + FILEEXT::WorkbookFileWildcard(), wxFD_OPEN | wxFD_FILE_MUST_EXIST ); if( openDlg.ShowModal() == wxID_CANCEL ) return -1; @@ -111,12 +111,12 @@ wxString SIMULATOR_CONTROL::getDefaultFilename() if( m_simulatorFrame->Prj().GetProjectName().IsEmpty() ) { filename.SetName( _( "noname" ) ); - filename.SetExt( WorkbookFileExtension ); + filename.SetExt( FILEEXT::WorkbookFileExtension ); } else { filename.SetName( m_simulatorFrame->Prj().GetProjectName() ); - filename.SetExt( WorkbookFileExtension ); + filename.SetExt( FILEEXT::WorkbookFileExtension ); } } @@ -144,7 +144,8 @@ int SIMULATOR_CONTROL::SaveWorkbook( const TOOL_EVENT& aEvent ) if( filename.IsEmpty() ) { wxFileDialog saveAsDlg( m_simulatorFrame, _( "Save Simulation Workbook As" ), - getDefaultPath(), getDefaultFilename(), WorkbookFileWildcard(), + getDefaultPath(), getDefaultFilename(), + FILEEXT::WorkbookFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( saveAsDlg.ShowModal() == wxID_CANCEL ) @@ -163,7 +164,7 @@ int SIMULATOR_CONTROL::ExportPlotAsPNG( const TOOL_EVENT& aEvent ) if( SIM_PLOT_TAB* plotTab = dynamic_cast<SIM_PLOT_TAB*>( getCurrentSimTab() ) ) { wxFileDialog saveDlg( m_simulatorFrame, _( "Save Plot as Image" ), "", "", - PngFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::PngFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( saveDlg.ShowModal() == wxID_CANCEL ) return -1; @@ -187,7 +188,8 @@ int SIMULATOR_CONTROL::ExportPlotAsCSV( const TOOL_EVENT& aEvent ) { const wxChar SEPARATOR = ';'; - wxFileDialog saveDlg( m_simulatorFrame, _( "Save Plot Data" ), "", "", CsvFileWildcard(), + wxFileDialog saveDlg( m_simulatorFrame, _( "Save Plot Data" ), "", "", + FILEEXT::CsvFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( saveDlg.ShowModal() == wxID_CANCEL ) diff --git a/eeschema/tools/symbol_editor_control.cpp b/eeschema/tools/symbol_editor_control.cpp index 7d15a1538a..e24bae2083 100644 --- a/eeschema/tools/symbol_editor_control.cpp +++ b/eeschema/tools/symbol_editor_control.cpp @@ -576,7 +576,7 @@ int SYMBOL_EDITOR_CONTROL::ExportView( const TOOL_EVENT& aEvent ) wxString projectPath = wxPathOnly( m_frame->Prj().GetProjectFullName() ); wxFileDialog dlg( editFrame, _( "Export View as PNG" ), projectPath, fn.GetFullName(), - PngFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::PngFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() == wxID_OK && !dlg.GetPath().IsEmpty() ) { @@ -609,12 +609,13 @@ int SYMBOL_EDITOR_CONTROL::ExportSymbolAsSVG( const TOOL_EVENT& aEvent ) } wxFileName fn( symbol->GetName() ); - fn.SetExt( SVGFileExtension ); + fn.SetExt( FILEEXT::SVGFileExtension ); wxString pro_dir = wxPathOnly( m_frame->Prj().GetProjectFullName() ); wxString fullFileName = wxFileSelector( _( "SVG File Name" ), pro_dir, fn.GetFullName(), - SVGFileExtension, SVGFileWildcard(), wxFD_SAVE, + FILEEXT::SVGFileExtension, FILEEXT::SVGFileWildcard(), + wxFD_SAVE, m_frame ); if( !fullFileName.IsEmpty() ) diff --git a/gerbview/files.cpp b/gerbview/files.cpp index adb4477323..533068d420 100644 --- a/gerbview/files.cpp +++ b/gerbview/files.cpp @@ -179,7 +179,7 @@ bool GERBVIEW_FRAME::LoadFileOrShowDialog( const wxString& aFileName, bool GERBVIEW_FRAME::LoadAutodetectedFiles( const wxString& aFileName ) { // 2 = autodetect files - return LoadFileOrShowDialog( aFileName, AllFilesWildcard(), _( "Open Autodetected File(s)" ), + return LoadFileOrShowDialog( aFileName, FILEEXT::AllFilesWildcard(), _( "Open Autodetected File(s)" ), 2 ); } @@ -219,7 +219,7 @@ bool GERBVIEW_FRAME::LoadGerberFiles( const wxString& aFileName ) filetypes += _( "Bottom Pad Master" ) + AddFileExtListToFilter( { "gpb" } ) + wxT( "|" ); // All filetypes - filetypes += AllFilesWildcard(); + filetypes += FILEEXT::AllFilesWildcard(); // 0 = gerber files return LoadFileOrShowDialog( aFileName, filetypes, _( "Open Gerber File(s)" ), 0 ); @@ -228,9 +228,9 @@ bool GERBVIEW_FRAME::LoadGerberFiles( const wxString& aFileName ) bool GERBVIEW_FRAME::LoadExcellonFiles( const wxString& aFileName ) { - wxString filetypes = DrillFileWildcard(); + wxString filetypes = FILEEXT::DrillFileWildcard(); filetypes << wxT( "|" ); - filetypes += AllFilesWildcard(); + filetypes += FILEEXT::AllFilesWildcard(); // 1 = drill files return LoadFileOrShowDialog( aFileName, filetypes, _( "Open NC (Excellon) Drill File(s)" ), 1 ); @@ -278,7 +278,7 @@ bool GERBVIEW_FRAME::LoadListOfGerberAndDrillFiles( const wxString& aPath, continue; } - if( filename.GetExt() == GerberJobFileExtension.c_str() ) + if( filename.GetExt() == FILEEXT::GerberJobFileExtension.c_str() ) { //We cannot read a gerber job file as a gerber plot file: skip it wxString txt; @@ -473,7 +473,7 @@ bool GERBVIEW_FRAME::unarchiveFiles( const wxString& aFullFileName, REPORTER* aR // The archive contains Gerber and/or Excellon drill files. Use the right loader. // However it can contain a few other files (reports, pdf files...), // which will be skipped. - if( curr_ext == GerberJobFileExtension.c_str() ) + if( curr_ext == FILEEXT::GerberJobFileExtension.c_str() ) { //We cannot read a gerber job file as a gerber plot file: skip it if( aReporter ) @@ -636,7 +636,8 @@ bool GERBVIEW_FRAME::LoadZipArchiveFile( const wxString& aFullFileName ) currentPath = m_mruPath; wxFileDialog dlg( this, _( "Open Zip File" ), currentPath, filename.GetFullName(), - ZipFileWildcard(), wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_CHANGE_DIR ); + FILEEXT::ZipFileWildcard(), + wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_CHANGE_DIR ); if( dlg.ShowModal() == wxID_CANCEL ) return false; @@ -683,11 +684,11 @@ void GERBVIEW_FRAME::DoWithAcceptedFiles() for( const wxFileName& file : m_AcceptedFiles ) { - if( file.GetExt() == ArchiveFileExtension ) + if( file.GetExt() == FILEEXT::ArchiveFileExtension ) { wxString fn = file.GetFullPath(); // Open zip archive in editor - m_toolManager->RunAction<wxString*>( *m_acceptedExts.at( ArchiveFileExtension ), &fn ); + m_toolManager->RunAction<wxString*>( *m_acceptedExts.at( FILEEXT::ArchiveFileExtension ), &fn ); } else { @@ -698,5 +699,5 @@ void GERBVIEW_FRAME::DoWithAcceptedFiles() // Open files in editor if( !gerbFn.IsEmpty() ) - m_toolManager->RunAction<wxString*>( *m_acceptedExts.at( GerberFileExtension ), &gerbFn ); + m_toolManager->RunAction<wxString*>( *m_acceptedExts.at( FILEEXT::GerberFileExtension ), &gerbFn ); } diff --git a/gerbview/gerbview.cpp b/gerbview/gerbview.cpp index beb73619ed..d2160681db 100644 --- a/gerbview/gerbview.cpp +++ b/gerbview/gerbview.cpp @@ -175,7 +175,7 @@ void IFACE::SaveFileAs( const wxString& aProjectBasePath, const wxString& aProje destFile.SetPath( destPath ); } - if( IsGerberFileExtension( ext ) ) + if( FILEEXT::IsGerberFileExtension( ext ) ) { wxString destFileName = destFile.GetName(); @@ -187,7 +187,7 @@ void IFACE::SaveFileAs( const wxString& aProjectBasePath, const wxString& aProje KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors ); } - else if( ext == GerberJobFileExtension ) + else if( ext == FILEEXT::GerberJobFileExtension ) { if( destFile.GetName() == aProjectName + wxT( "-job" ) ) destFile.SetName( aNewProjectName + wxT( "-job" ) ); @@ -248,7 +248,7 @@ void IFACE::SaveFileAs( const wxString& aProjectBasePath, const wxString& aProje aErrors += msg; } } - else if( ext == DrillFileExtension ) + else if( ext == FILEEXT::DrillFileExtension ) { wxString destFileName = destFile.GetName(); diff --git a/gerbview/gerbview_frame.cpp b/gerbview/gerbview_frame.cpp index dc4d649c38..bae9c56c84 100644 --- a/gerbview/gerbview_frame.cpp +++ b/gerbview/gerbview_frame.cpp @@ -182,9 +182,9 @@ GERBVIEW_FRAME::GERBVIEW_FRAME( KIWAY* aKiway, wxWindow* aParent ) // Drag and drop // Note that all gerber files are aliased as GerberFileExtension - m_acceptedExts.emplace( GerberFileExtension, &GERBVIEW_ACTIONS::loadGerbFiles ); - m_acceptedExts.emplace( ArchiveFileExtension, &GERBVIEW_ACTIONS::loadZipFile ); - m_acceptedExts.emplace( DrillFileExtension, &GERBVIEW_ACTIONS::loadGerbFiles ); + m_acceptedExts.emplace( FILEEXT::GerberFileExtension, &GERBVIEW_ACTIONS::loadGerbFiles ); + m_acceptedExts.emplace( FILEEXT::ArchiveFileExtension, &GERBVIEW_ACTIONS::loadZipFile ); + m_acceptedExts.emplace( FILEEXT::DrillFileExtension, &GERBVIEW_ACTIONS::loadGerbFiles ); DragAcceptFiles( true ); GetToolManager()->RunAction( ACTIONS::zoomFitScreen ); @@ -269,9 +269,9 @@ bool GERBVIEW_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in { wxString ext = wxFileName( aFileSet[i] ).GetExt().Lower(); - if( ext == ArchiveFileExtension ) + if( ext == FILEEXT::ArchiveFileExtension ) LoadZipArchiveFile( aFileSet[i] ); - else if( ext == GerberJobFileExtension ) + else if( ext == FILEEXT::GerberJobFileExtension ) LoadGerberJobFile( aFileSet[i] ); else { diff --git a/gerbview/job_file_reader.cpp b/gerbview/job_file_reader.cpp index 93f1612097..d45438cb5f 100644 --- a/gerbview/job_file_reader.cpp +++ b/gerbview/job_file_reader.cpp @@ -192,7 +192,7 @@ bool GERBVIEW_FRAME::LoadGerberJobFile( const wxString& aFullFileName ) wxFileDialog dlg( this, _( "Open Gerber Job File" ), currentPath, filename.GetFullName(), - GerberJobFileWildcard(), + FILEEXT::GerberJobFileWildcard(), wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_CHANGE_DIR ); if( dlg.ShowModal() == wxID_CANCEL ) diff --git a/gerbview/tools/gerbview_control.cpp b/gerbview/tools/gerbview_control.cpp index e6bbcb7523..0af0b20bd3 100644 --- a/gerbview/tools/gerbview_control.cpp +++ b/gerbview/tools/gerbview_control.cpp @@ -120,16 +120,16 @@ int GERBVIEW_CONTROL::ExportToPcbnew( const TOOL_EVENT& aEvent ) return 0; } - wxString fileDialogName( NAMELESS_PROJECT + wxT( "." ) + KiCadPcbFileExtension ); + wxString fileDialogName( NAMELESS_PROJECT + wxT( "." ) + FILEEXT::KiCadPcbFileExtension ); wxString path = m_frame->GetMruPath(); wxFileDialog filedlg( m_frame, _( "Export as KiCad Board File" ), path, fileDialogName, - PcbFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::PcbFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( filedlg.ShowModal() == wxID_CANCEL ) return 0; - wxFileName fileName = EnsureFileExtension( filedlg.GetPath(), KiCadPcbFileExtension ); + wxFileName fileName = EnsureFileExtension( filedlg.GetPath(), FILEEXT::KiCadPcbFileExtension ); /* Install a dialog frame to choose the mapping * between gerber layers and Pcbnew layers diff --git a/include/lockfile.h b/include/lockfile.h index 4174f2cedb..c89c368532 100644 --- a/include/lockfile.h +++ b/include/lockfile.h @@ -51,8 +51,8 @@ public: wxLogTrace( LCK, "Trying to lock %s", filename ); wxFileName fn( filename ); - fn.SetName( LockFilePrefix + fn.GetName() ); - fn.SetExt( fn.GetExt() + '.' + LockFileExtension ); + fn.SetName( FILEEXT::LockFilePrefix + fn.GetName() ); + fn.SetExt( fn.GetExt() + '.' + FILEEXT::LockFileExtension ); if( !fn.IsDirWritable() ) { diff --git a/include/project/project_local_settings.h b/include/project/project_local_settings.h index 73505429e4..09491b207c 100644 --- a/include/project/project_local_settings.h +++ b/include/project/project_local_settings.h @@ -74,7 +74,7 @@ public: protected: wxString getFileExt() const override { - return ProjectLocalSettingsFileExtension; + return FILEEXT::ProjectLocalSettingsFileExtension; } wxString getLegacyFileExt() const override diff --git a/include/wildcards_and_files_ext.h b/include/wildcards_and_files_ext.h index 90c7b01a58..969dc6536a 100644 --- a/include/wildcards_and_files_ext.h +++ b/include/wildcards_and_files_ext.h @@ -32,23 +32,11 @@ #ifndef INCLUDE_WILDCARDS_AND_FILES_EXT_H_ #define INCLUDE_WILDCARDS_AND_FILES_EXT_H_ +#include <kicommon.h> #include <string> #include <vector> #include <wx/string.h> -/** - * \defgroup file_extensions File Extension Definitions - * - * @note Please do not changes these. If a different file extension is needed, create a new - * definition in here. If you create a extension definition in another file, make sure - * to add it to the Doxygen group "file_extensions" using the "addtogroup" tag. Also - * note, just because they are defined as const doesn't guarantee that they cannot be - * changed. - * - * @{ - */ - - /** * Compare the given extension against the reference extensions to see if it matches any * of the reference extensions. @@ -65,8 +53,8 @@ * * @return if the extension matches any reference extensions */ -bool compareFileExtensions( const std::string& aExtension, - const std::vector<std::string>& aReference, bool aCaseSensitive = false ); +KICOMMON_API bool compareFileExtensions( const std::string& aExtension, + const std::vector<std::string>& aReference, bool aCaseSensitive = false ); /** * Build the wildcard extension file dialog wildcard filter to add to the base message dialog. @@ -86,7 +74,7 @@ bool compareFileExtensions( const std::string& aExtension, * @return the appropriate file dialog wildcard filter list. */ -wxString AddFileExtListToFilter( const std::vector<std::string>& aExts ); +KICOMMON_API wxString AddFileExtListToFilter( const std::vector<std::string>& aExts ); /** * Format wildcard extension to support case sensitive file dialogs. @@ -106,156 +94,175 @@ wxString AddFileExtListToFilter( const std::vector<std::string>& aExts ); * * @return the build appropriate file dialog wildcard filter. */ -wxString formatWildcardExt( const wxString& aWildcard ); - -extern const std::string BackupFileSuffix; -extern const std::string LockFilePrefix; -extern const std::string LockFileExtension; - -extern const std::string SchematicSymbolFileExtension; -extern const std::string LegacySymbolLibFileExtension; -extern const std::string LegacySymbolDocumentFileExtension; -extern const std::string SchematicBackupFileExtension; - -extern const std::string VrmlFileExtension; -extern const std::string ProjectFileExtension; -extern const std::string LegacyProjectFileExtension; -extern const std::string ProjectLocalSettingsFileExtension; -extern const std::string LegacySchematicFileExtension; -extern const std::string CadstarSchematicFileExtension; -extern const std::string CadstarPartsLibraryFileExtension; -extern const std::string KiCadSchematicFileExtension; -extern const std::string SpiceFileExtension; -extern const std::string CadstarNetlistFileExtension; -extern const std::string OrCadPcb2NetlistFileExtension; -extern const std::string NetlistFileExtension; -extern const std::string AllegroNetlistFileExtension; -extern const std::string GerberFileExtension; -extern const std::string GerberJobFileExtension; -extern const std::string HtmlFileExtension; -extern const std::string EquFileExtension; -extern const std::string HotkeyFileExtension; -extern const std::string DatabaseLibraryFileExtension; -extern const std::string HTTPLibraryFileExtension; - -extern const std::string ArchiveFileExtension; - -extern const std::string LegacyPcbFileExtension; -extern const std::string EaglePcbFileExtension; -extern const std::string CadstarPcbFileExtension; -extern const std::string KiCadPcbFileExtension; -#define PcbFileExtension KiCadPcbFileExtension // symlink choice -extern const std::string KiCadSymbolLibFileExtension; -extern const std::string DrawingSheetFileExtension; -extern const std::string DesignRulesFileExtension; - -extern const std::string LegacyFootprintLibPathExtension; -extern const std::string PdfFileExtension; -extern const std::string MacrosFileExtension; -extern const std::string FootprintAssignmentFileExtension; -extern const std::string DrillFileExtension; -extern const std::string SVGFileExtension; -extern const std::string ReportFileExtension; -extern const std::string FootprintPlaceFileExtension; -extern const std::string KiCadFootprintFileExtension; -extern const std::string KiCadFootprintLibPathExtension; -extern const std::string AltiumFootprintLibPathExtension; -extern const std::string GedaPcbFootprintLibFileExtension; -extern const std::string EagleFootprintLibPathExtension; -extern const std::string DrawingSheetFileExtension; -extern const std::string SpecctraDsnFileExtension; -extern const std::string SpecctraSessionFileExtension; -extern const std::string IpcD356FileExtension; -extern const std::string Ipc2581FileExtension; -extern const std::string WorkbookFileExtension; - -extern const std::string PngFileExtension; -extern const std::string JpegFileExtension; -extern const std::string TextFileExtension; -extern const std::string MarkdownFileExtension; -extern const std::string CsvFileExtension; -extern const std::string XmlFileExtension; -extern const std::string JsonFileExtension; - -extern const std::string StepFileExtension; -extern const std::string StepFileAbrvExtension; -extern const std::string GltfBinaryFileExtension; - -extern const wxString GerberFileExtensionsRegex; - -bool IsGerberFileExtension( const wxString& ext ); - -/** - * @} - */ +KICOMMON_API wxString formatWildcardExt( const wxString& aWildcard ); -/** - * \defgroup file_wildcards File Wildcard Definitions - * - * @note Please do not changes these. If a different file wildcard is needed, create a new - * definition in here. If you create a wildcard definition in another file, make sure - * to add it to the Doxygen group "file_extensions" using the "addtogroup" tag and - * correct handle the GTK+ file dialog case sensitivity issue. - * @{ - */ +class KICOMMON_API FILEEXT +{ +public: + FILEEXT() = delete; -extern wxString AllFilesWildcard(); + /** + * \defgroup file_extensions File Extension Definitions + * + * @note Please do not changes these. If a different file extension is needed, create a new + * definition in here. If you create a extension definition in another file, make sure + * to add it to the Doxygen group "file_extensions" using the "addtogroup" tag. Also + * note, just because they are defined as const doesn't guarantee that they cannot be + * changed. + * + * @{ + */ + static const std::string BackupFileSuffix; + static const std::string LockFilePrefix; + static const std::string LockFileExtension; -extern wxString FootprintAssignmentFileWildcard(); -extern wxString DrawingSheetFileWildcard(); -extern wxString KiCadSymbolLibFileWildcard(); -extern wxString ProjectFileWildcard(); -extern wxString LegacyProjectFileWildcard(); -extern wxString AllProjectFilesWildcard(); -extern wxString AllSchematicFilesWildcard(); -extern wxString KiCadSchematicFileWildcard(); -extern wxString LegacySchematicFileWildcard(); -extern wxString BoardFileWildcard(); -extern wxString OrCadPcb2NetlistFileWildcard(); -extern wxString NetlistFileWildcard(); -extern wxString AllegroNetlistFileWildcard(); -extern wxString HtmlFileWildcard(); -extern wxString CsvFileWildcard(); -extern wxString PcbFileWildcard(); -extern wxString CadstarArchiveFilesWildcard(); -extern wxString EagleFilesWildcard(); -extern wxString EasyEdaArchiveWildcard(); -extern wxString EasyEdaProFileWildcard(); -extern wxString PdfFileWildcard(); -extern wxString PSFileWildcard(); -extern wxString MacrosFileWildcard(); -extern wxString DrillFileWildcard(); -extern wxString SVGFileWildcard(); -extern wxString JsonFileWildcard(); -extern wxString ReportFileWildcard(); -extern wxString FootprintPlaceFileWildcard(); -extern wxString Shapes3DFileWildcard(); -extern wxString IDF3DFileWildcard(); -extern wxString DocModulesFileName(); -extern wxString KiCadFootprintLibFileWildcard(); -extern wxString KiCadFootprintLibPathWildcard(); -extern wxString TextFileWildcard(); -extern wxString ModLegacyExportFileWildcard(); -extern wxString ErcFileWildcard(); -extern wxString SpiceLibraryFileWildcard(); -extern wxString SpiceNetlistFileWildcard(); -extern wxString CadstarNetlistFileWildcard(); -extern wxString EquFileWildcard(); -extern wxString ZipFileWildcard(); -extern wxString GencadFileWildcard(); -extern wxString DxfFileWildcard(); -extern wxString GerberJobFileWildcard(); -extern wxString SpecctraDsnFileWildcard(); -extern wxString SpecctraSessionFileWildcard(); -extern wxString IpcD356FileWildcard(); -extern wxString WorkbookFileWildcard(); -extern wxString PngFileWildcard(); -extern wxString JpegFileWildcard(); -extern wxString HotkeyFileWildcard(); + static const std::string SchematicSymbolFileExtension; + static const std::string LegacySymbolLibFileExtension; + static const std::string LegacySymbolDocumentFileExtension; + static const std::string SchematicBackupFileExtension; + + static const std::string VrmlFileExtension; + static const std::string ProjectFileExtension; + static const std::string LegacyProjectFileExtension; + static const std::string ProjectLocalSettingsFileExtension; + static const std::string LegacySchematicFileExtension; + static const std::string CadstarSchematicFileExtension; + static const std::string CadstarPartsLibraryFileExtension; + static const std::string KiCadSchematicFileExtension; + static const std::string SpiceFileExtension; + static const std::string CadstarNetlistFileExtension; + static const std::string OrCadPcb2NetlistFileExtension; + static const std::string NetlistFileExtension; + static const std::string AllegroNetlistFileExtension; + static const std::string GerberFileExtension; + static const std::string GerberJobFileExtension; + static const std::string HtmlFileExtension; + static const std::string EquFileExtension; + static const std::string HotkeyFileExtension; + static const std::string DatabaseLibraryFileExtension; + static const std::string HTTPLibraryFileExtension; + + static const std::string ArchiveFileExtension; + + static const std::string LegacyPcbFileExtension; + static const std::string EaglePcbFileExtension; + static const std::string CadstarPcbFileExtension; + static const std::string KiCadPcbFileExtension; + #define PcbFileExtension KiCadPcbFileExtension // symlink choice + static const std::string KiCadSymbolLibFileExtension; + static const std::string DrawingSheetFileExtension; + static const std::string DesignRulesFileExtension; + + static const std::string LegacyFootprintLibPathExtension; + static const std::string PdfFileExtension; + static const std::string MacrosFileExtension; + static const std::string FootprintAssignmentFileExtension; + static const std::string DrillFileExtension; + static const std::string SVGFileExtension; + static const std::string ReportFileExtension; + static const std::string FootprintPlaceFileExtension; + static const std::string KiCadFootprintFileExtension; + static const std::string KiCadFootprintLibPathExtension; + static const std::string AltiumFootprintLibPathExtension; + static const std::string CadstarFootprintLibPathExtension; + static const std::string GedaPcbFootprintLibFileExtension; + static const std::string EagleFootprintLibPathExtension; + static const std::string DrawingSheetFileExtension; + static const std::string SpecctraDsnFileExtension; + static const std::string SpecctraSessionFileExtension; + static const std::string IpcD356FileExtension; + static const std::string Ipc2581FileExtension; + static const std::string WorkbookFileExtension; + + static const std::string PngFileExtension; + static const std::string JpegFileExtension; + static const std::string TextFileExtension; + static const std::string MarkdownFileExtension; + static const std::string CsvFileExtension; + static const std::string XmlFileExtension; + static const std::string JsonFileExtension; + + static const std::string StepFileExtension; + static const std::string StepFileAbrvExtension; + static const std::string GltfBinaryFileExtension; + + static const wxString GerberFileExtensionsRegex; + + /** + * @} + */ + + /** + * \defgroup file_wildcards File Wildcard Definitions + * + * @note Please do not changes these. If a different file wildcard is needed, create a new + * definition in here. If you create a wildcard definition in another file, make sure + * to add it to the Doxygen group "file_extensions" using the "addtogroup" tag and + * correct handle the GTK+ file dialog case sensitivity issue. + * @{ + */ + + + static bool IsGerberFileExtension( const wxString& ext ); + static wxString AllFilesWildcard(); + + static wxString FootprintAssignmentFileWildcard(); + static wxString DrawingSheetFileWildcard(); + static wxString KiCadSymbolLibFileWildcard(); + static wxString ProjectFileWildcard(); + static wxString LegacyProjectFileWildcard(); + static wxString AllProjectFilesWildcard(); + static wxString AllSchematicFilesWildcard(); + static wxString KiCadSchematicFileWildcard(); + static wxString LegacySchematicFileWildcard(); + static wxString BoardFileWildcard(); + static wxString OrCadPcb2NetlistFileWildcard(); + static wxString NetlistFileWildcard(); + static wxString AllegroNetlistFileWildcard(); + static wxString HtmlFileWildcard(); + static wxString CsvFileWildcard(); + static wxString PcbFileWildcard(); + static wxString CadstarArchiveFilesWildcard(); + static wxString EagleFilesWildcard(); + static wxString EasyEdaArchiveWildcard(); + static wxString EasyEdaProFileWildcard(); + static wxString PdfFileWildcard(); + static wxString PSFileWildcard(); + static wxString MacrosFileWildcard(); + static wxString DrillFileWildcard(); + static wxString SVGFileWildcard(); + static wxString JsonFileWildcard(); + static wxString ReportFileWildcard(); + static wxString FootprintPlaceFileWildcard(); + static wxString Shapes3DFileWildcard(); + static wxString IDF3DFileWildcard(); + static wxString DocModulesFileName(); + static wxString KiCadFootprintLibFileWildcard(); + static wxString KiCadFootprintLibPathWildcard(); + static wxString TextFileWildcard(); + static wxString ModLegacyExportFileWildcard(); + static wxString ErcFileWildcard(); + static wxString SpiceLibraryFileWildcard(); + static wxString SpiceNetlistFileWildcard(); + static wxString CadstarNetlistFileWildcard(); + static wxString EquFileWildcard(); + static wxString ZipFileWildcard(); + static wxString GencadFileWildcard(); + static wxString DxfFileWildcard(); + static wxString GerberJobFileWildcard(); + static wxString SpecctraDsnFileWildcard(); + static wxString SpecctraSessionFileWildcard(); + static wxString IpcD356FileWildcard(); + static wxString WorkbookFileWildcard(); + static wxString PngFileWildcard(); + static wxString JpegFileWildcard(); + static wxString HotkeyFileWildcard(); + + /** + * @} + */ +}; -/** - * @} - */ #endif // INCLUDE_WILDCARDS_AND_FILES_EXT_H_ diff --git a/kicad/files-io.cpp b/kicad/files-io.cpp index ef65a17add..fe5dd3cc89 100644 --- a/kicad/files-io.cpp +++ b/kicad/files-io.cpp @@ -61,10 +61,10 @@ void KICAD_MANAGER_FRAME::OnUnarchiveFiles( wxCommandEvent& event ) { wxFileName fn = Prj().GetProjectFullName(); - fn.SetExt( ArchiveFileExtension ); + fn.SetExt( FILEEXT::ArchiveFileExtension ); wxFileDialog zipfiledlg( this, _( "Unzip Project" ), fn.GetPath(), - fn.GetFullName(), ZipFileWildcard(), + fn.GetFullName(), FILEEXT::ZipFileWildcard(), wxFD_OPEN | wxFD_FILE_MUST_EXIST ); if( zipfiledlg.ShowModal() == wxID_CANCEL ) @@ -112,11 +112,11 @@ void KICAD_MANAGER_FRAME::OnArchiveFiles( wxCommandEvent& event ) { wxFileName fileName = GetProjectFileName(); - fileName.SetExt( ArchiveFileExtension ); + fileName.SetExt( FILEEXT::ArchiveFileExtension ); wxFileDialog dlg( this, _( "Archive Project Files" ), fileName.GetPath(), fileName.GetFullName(), - ZipFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::ZipFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() == wxID_CANCEL ) return; diff --git a/kicad/import_project.cpp b/kicad/import_project.cpp index c9eb737544..33beb91997 100644 --- a/kicad/import_project.cpp +++ b/kicad/import_project.cpp @@ -81,7 +81,7 @@ void KICAD_MANAGER_FRAME::ImportNonKiCadProject( const wxString& aWindowTitle, importProj.m_TargetProj.SetPath( targetDir ); importProj.m_TargetProj.SetName( importProj.m_InputFile.GetName() ); - importProj.m_TargetProj.SetExt( ProjectFileExtension ); + importProj.m_TargetProj.SetExt( FILEEXT::ProjectFileExtension ); importProj.m_TargetProj.MakeAbsolute(); // Check if the project directory is empty @@ -125,27 +125,27 @@ void KICAD_MANAGER_FRAME::ImportNonKiCadProject( const wxString& aWindowTitle, void KICAD_MANAGER_FRAME::OnImportCadstarArchiveFiles( wxCommandEvent& event ) { ImportNonKiCadProject( _( "Import CADSTAR Archive Project Files" ), - CadstarArchiveFilesWildcard(), { "csa" }, { "cpa" }, + FILEEXT::CadstarArchiveFilesWildcard(), { "csa" }, { "cpa" }, SCH_IO_MGR::SCH_CADSTAR_ARCHIVE, PCB_IO_MGR::CADSTAR_PCB_ARCHIVE ); } void KICAD_MANAGER_FRAME::OnImportEagleFiles( wxCommandEvent& event ) { - ImportNonKiCadProject( _( "Import Eagle Project Files" ), EagleFilesWildcard(), { "sch" }, + ImportNonKiCadProject( _( "Import Eagle Project Files" ), FILEEXT::EagleFilesWildcard(), { "sch" }, { "brd" }, SCH_IO_MGR::SCH_EAGLE, PCB_IO_MGR::EAGLE ); } void KICAD_MANAGER_FRAME::OnImportEasyEdaFiles( wxCommandEvent& event ) { - ImportNonKiCadProject( _( "Import EasyEDA Std Backup" ), EasyEdaArchiveWildcard(), { "INPUT" }, + ImportNonKiCadProject( _( "Import EasyEDA Std Backup" ), FILEEXT::EasyEdaArchiveWildcard(), { "INPUT" }, { "INPUT" }, SCH_IO_MGR::SCH_EASYEDA, PCB_IO_MGR::EASYEDA ); } void KICAD_MANAGER_FRAME::OnImportEasyEdaProFiles( wxCommandEvent& event ) { - ImportNonKiCadProject( _( "Import EasyEDA Pro Project" ), EasyEdaProFileWildcard(), { "INPUT" }, + ImportNonKiCadProject( _( "Import EasyEDA Pro Project" ), FILEEXT::EasyEdaProFileWildcard(), { "INPUT" }, { "INPUT" }, SCH_IO_MGR::SCH_EASYEDAPRO, PCB_IO_MGR::EASYEDAPRO ); } \ No newline at end of file diff --git a/kicad/kicad.cpp b/kicad/kicad.cpp index 05e0353848..f76bcbf2ee 100644 --- a/kicad/kicad.cpp +++ b/kicad/kicad.cpp @@ -309,7 +309,8 @@ bool PGM_KICAD::OnPgmInit() { wxFileName tmp = App().argv[1]; - if( tmp.GetExt() != ProjectFileExtension && tmp.GetExt() != LegacyProjectFileExtension ) + if( tmp.GetExt() != FILEEXT::ProjectFileExtension + && tmp.GetExt() != FILEEXT::LegacyProjectFileExtension ) { wxString msg; diff --git a/kicad/kicad_manager_frame.cpp b/kicad/kicad_manager_frame.cpp index a4381090f5..60c97f5944 100644 --- a/kicad/kicad_manager_frame.cpp +++ b/kicad/kicad_manager_frame.cpp @@ -228,14 +228,14 @@ KICAD_MANAGER_FRAME::KICAD_MANAGER_FRAME( wxWindow* parent, const wxString& titl m_leftWin->SetFocus(); // Init for dropping files - m_acceptedExts.emplace( ProjectFileExtension, &KICAD_MANAGER_ACTIONS::loadProject ); - m_acceptedExts.emplace( LegacyProjectFileExtension, &KICAD_MANAGER_ACTIONS::loadProject ); + m_acceptedExts.emplace( FILEEXT::ProjectFileExtension, &KICAD_MANAGER_ACTIONS::loadProject ); + m_acceptedExts.emplace( FILEEXT::LegacyProjectFileExtension, &KICAD_MANAGER_ACTIONS::loadProject ); // Gerber files // Note that all gerber files are aliased as GerberFileExtension - m_acceptedExts.emplace( GerberFileExtension, &KICAD_MANAGER_ACTIONS::viewDroppedGerbers ); - m_acceptedExts.emplace( GerberJobFileExtension, &KICAD_MANAGER_ACTIONS::viewDroppedGerbers ); - m_acceptedExts.emplace( DrillFileExtension, &KICAD_MANAGER_ACTIONS::viewDroppedGerbers ); + m_acceptedExts.emplace( FILEEXT::GerberFileExtension, &KICAD_MANAGER_ACTIONS::viewDroppedGerbers ); + m_acceptedExts.emplace( FILEEXT::GerberJobFileExtension, &KICAD_MANAGER_ACTIONS::viewDroppedGerbers ); + m_acceptedExts.emplace( FILEEXT::DrillFileExtension, &KICAD_MANAGER_ACTIONS::viewDroppedGerbers ); DragAcceptFiles( true ); @@ -394,7 +394,7 @@ const wxString KICAD_MANAGER_FRAME::SchFileName() { wxFileName fn( GetProjectFileName() ); - fn.SetExt( KiCadSchematicFileExtension ); + fn.SetExt( FILEEXT::KiCadSchematicFileExtension ); return fn.GetFullPath(); } @@ -403,7 +403,7 @@ const wxString KICAD_MANAGER_FRAME::SchLegacyFileName() { wxFileName fn( GetProjectFileName() ); - fn.SetExt( LegacySchematicFileExtension ); + fn.SetExt( FILEEXT::LegacySchematicFileExtension ); return fn.GetFullPath(); } @@ -412,7 +412,7 @@ const wxString KICAD_MANAGER_FRAME::PcbFileName() { wxFileName fn( GetProjectFileName() ); - fn.SetExt( PcbFileExtension ); + fn.SetExt( FILEEXT::PcbFileExtension ); return fn.GetFullPath(); } @@ -421,7 +421,7 @@ const wxString KICAD_MANAGER_FRAME::PcbLegacyFileName() { wxFileName fn( GetProjectFileName() ); - fn.SetExt( LegacyPcbFileExtension ); + fn.SetExt( FILEEXT::LegacyPcbFileExtension ); return fn.GetFullPath(); } @@ -464,7 +464,7 @@ void KICAD_MANAGER_FRAME::DoWithAcceptedFiles() { wxString ext = fileName.GetExt(); - if( ext == ProjectFileExtension || ext == LegacyProjectFileExtension ) + if( ext == FILEEXT::ProjectFileExtension || ext == FILEEXT::LegacyProjectFileExtension ) { wxString fn = fileName.GetFullPath(); m_toolManager->RunAction<wxString*>( *m_acceptedExts.at( fileName.GetExt() ), &fn ); @@ -481,8 +481,8 @@ void KICAD_MANAGER_FRAME::DoWithAcceptedFiles() { wxString ext = fileName.GetExt(); - if( ext == GerberJobFileExtension || ext == DrillFileExtension - || IsGerberFileExtension( ext ) ) + if( ext == FILEEXT::GerberJobFileExtension || ext == FILEEXT::DrillFileExtension + || FILEEXT::IsGerberFileExtension( ext ) ) { gerberFiles += wxT( '\"' ); gerberFiles += fileName.GetFullPath() + wxT( '\"' ); @@ -503,7 +503,7 @@ void KICAD_MANAGER_FRAME::DoWithAcceptedFiles() if( wxFileExists( fullEditorName ) ) { wxString command = fullEditorName + " " + gerberFiles; - m_toolManager->RunAction<wxString*>( *m_acceptedExts.at( GerberFileExtension ), + m_toolManager->RunAction<wxString*>( *m_acceptedExts.at( FILEEXT::GerberFileExtension ), &command ); } } @@ -648,7 +648,7 @@ void KICAD_MANAGER_FRAME::CreateNewProject( const wxFileName& aProjectFileName, if( !aProjectFileName.FileExists() ) { wxFileName legacyPro( aProjectFileName ); - legacyPro.SetExt( LegacyProjectFileExtension ); + legacyPro.SetExt( FILEEXT::LegacyProjectFileExtension ); if( legacyPro.FileExists() ) { @@ -663,7 +663,7 @@ void KICAD_MANAGER_FRAME::CreateNewProject( const wxFileName& aProjectFileName, wxString srcFileName = sys_search().FindValidPath( "kicad.kicad_pro" ); wxFileName destFileName( aProjectFileName ); - destFileName.SetExt( ProjectFileExtension ); + destFileName.SetExt( FILEEXT::ProjectFileExtension ); // Create a minimal project file if the template project file could not be copied if( !wxFileName::FileExists( srcFileName ) @@ -685,7 +685,7 @@ void KICAD_MANAGER_FRAME::CreateNewProject( const wxFileName& aProjectFileName, if( aCreateStubFiles ) { wxFileName fn( aProjectFileName.GetFullPath() ); - fn.SetExt( KiCadSchematicFileExtension ); + fn.SetExt( FILEEXT::KiCadSchematicFileExtension ); // If a <project>.kicad_sch file does not exist, create a "stub" file ( minimal schematic // file ). @@ -704,9 +704,9 @@ void KICAD_MANAGER_FRAME::CreateNewProject( const wxFileName& aProjectFileName, // If a <project>.kicad_pcb or <project>.brd file does not exist, // create a .kicad_pcb "stub" file - fn.SetExt( KiCadPcbFileExtension ); + fn.SetExt( FILEEXT::KiCadPcbFileExtension ); wxFileName leg_fn( fn ); - leg_fn.SetExt( LegacyPcbFileExtension ); + leg_fn.SetExt( FILEEXT::LegacyPcbFileExtension ); if( !fn.FileExists() && !leg_fn.FileExists() ) { @@ -733,7 +733,7 @@ void KICAD_MANAGER_FRAME::CreateNewProject( const wxFileName& aProjectFileName, void KICAD_MANAGER_FRAME::OnOpenFileInTextEditor( wxCommandEvent& event ) { // show all files in file dialog (in Kicad all files are editable texts): - wxString wildcard = AllFilesWildcard(); + wxString wildcard = FILEEXT::AllFilesWildcard(); wxString default_dir = Prj().GetProjectPath(); @@ -901,7 +901,7 @@ void KICAD_MANAGER_FRAME::OnIdle( wxIdleEvent& aEvent ) Prj().GetLocalSettings().m_files.end(), [&]( const PROJECT_FILE_STATE& f ) { - return !f.fileName.EndsWith( ProjectFileExtension ) && f.open; + return !f.fileName.EndsWith( FILEEXT::ProjectFileExtension ) && f.open; } ); if( previousOpenCount > 0 ) @@ -924,13 +924,13 @@ void KICAD_MANAGER_FRAME::OnIdle( wxIdleEvent& aEvent ) openedFiles.insert( file.fileName ); wxFileName fn( file.fileName ); - if( fn.GetExt() == LegacySchematicFileExtension - || fn.GetExt() == KiCadSchematicFileExtension ) + if( fn.GetExt() == FILEEXT::LegacySchematicFileExtension + || fn.GetExt() == FILEEXT::KiCadSchematicFileExtension ) { GetToolManager()->RunAction( KICAD_MANAGER_ACTIONS::editSchematic ); } - else if( fn.GetExt() == LegacyPcbFileExtension - || fn.GetExt() == KiCadPcbFileExtension ) + else if( fn.GetExt() == FILEEXT::LegacyPcbFileExtension + || fn.GetExt() == FILEEXT::KiCadPcbFileExtension ) { GetToolManager()->RunAction( KICAD_MANAGER_ACTIONS::editPCB ); } diff --git a/kicad/project_template.cpp b/kicad/project_template.cpp index ce9cdf8e59..4ea45e2386 100644 --- a/kicad/project_template.cpp +++ b/kicad/project_template.cpp @@ -156,7 +156,8 @@ size_t PROJECT_TEMPLATE::GetDestinationFiles( const wxFileName& aNewProjectPath, for( wxFileName& file : srcFiles ) { - if( file.GetExt() == ProjectFileExtension || file.GetExt() == LegacyProjectFileExtension ) + if( file.GetExt() == FILEEXT::ProjectFileExtension + || file.GetExt() == FILEEXT::LegacyProjectFileExtension ) { if( !basename.IsEmpty() && basename != file.GetName() ) multipleProjectFilesFound = true; @@ -205,7 +206,8 @@ bool PROJECT_TEMPLATE::CreateProject( wxFileName& aNewProjectPath, wxString* aEr for( wxFileName& file : srcFiles ) { - if( file.GetExt() == ProjectFileExtension || file.GetExt() == LegacyProjectFileExtension ) + if( file.GetExt() == FILEEXT::ProjectFileExtension + || file.GetExt() == FILEEXT::LegacyProjectFileExtension ) { if( !basename.IsEmpty() && basename != file.GetName() ) multipleProjectFilesFound = true; @@ -225,7 +227,7 @@ bool PROJECT_TEMPLATE::CreateProject( wxFileName& aNewProjectPath, wxString* aEr // Replace the template filename with the project filename for the new project creation wxString currname = destFile.GetName(); - if( destFile.GetExt() == DrawingSheetFileExtension ) + if( destFile.GetExt() == FILEEXT::DrawingSheetFileExtension ) { // Don't rename drawing sheet definitions; they're often shared } diff --git a/kicad/project_tree_pane.cpp b/kicad/project_tree_pane.cpp index 76fdab8863..d184aae006 100644 --- a/kicad/project_tree_pane.cpp +++ b/kicad/project_tree_pane.cpp @@ -298,33 +298,33 @@ wxString PROJECT_TREE_PANE::GetFileExt( TREE_FILE_TYPE type ) { switch( type ) { - case TREE_FILE_TYPE::LEGACY_PROJECT: return LegacyProjectFileExtension; - case TREE_FILE_TYPE::JSON_PROJECT: return ProjectFileExtension; - case TREE_FILE_TYPE::LEGACY_SCHEMATIC: return LegacySchematicFileExtension; - case TREE_FILE_TYPE::SEXPR_SCHEMATIC: return KiCadSchematicFileExtension; - case TREE_FILE_TYPE::LEGACY_PCB: return LegacyPcbFileExtension; - case TREE_FILE_TYPE::SEXPR_PCB: return KiCadPcbFileExtension; - case TREE_FILE_TYPE::GERBER: return GerberFileExtensionsRegex; - case TREE_FILE_TYPE::GERBER_JOB_FILE: return GerberJobFileExtension; - case TREE_FILE_TYPE::HTML: return HtmlFileExtension; - case TREE_FILE_TYPE::PDF: return PdfFileExtension; - case TREE_FILE_TYPE::TXT: return TextFileExtension; - case TREE_FILE_TYPE::MD: return MarkdownFileExtension; - case TREE_FILE_TYPE::NET: return NetlistFileExtension; - case TREE_FILE_TYPE::NET_SPICE: return SpiceFileExtension; - case TREE_FILE_TYPE::CMP_LINK: return FootprintAssignmentFileExtension; - case TREE_FILE_TYPE::REPORT: return ReportFileExtension; - case TREE_FILE_TYPE::FP_PLACE: return FootprintPlaceFileExtension; - case TREE_FILE_TYPE::DRILL: return DrillFileExtension; + case TREE_FILE_TYPE::LEGACY_PROJECT: return FILEEXT::LegacyProjectFileExtension; + case TREE_FILE_TYPE::JSON_PROJECT: return FILEEXT::ProjectFileExtension; + case TREE_FILE_TYPE::LEGACY_SCHEMATIC: return FILEEXT::LegacySchematicFileExtension; + case TREE_FILE_TYPE::SEXPR_SCHEMATIC: return FILEEXT::KiCadSchematicFileExtension; + case TREE_FILE_TYPE::LEGACY_PCB: return FILEEXT::LegacyPcbFileExtension; + case TREE_FILE_TYPE::SEXPR_PCB: return FILEEXT::KiCadPcbFileExtension; + case TREE_FILE_TYPE::GERBER: return FILEEXT::GerberFileExtensionsRegex; + case TREE_FILE_TYPE::GERBER_JOB_FILE: return FILEEXT::GerberJobFileExtension; + case TREE_FILE_TYPE::HTML: return FILEEXT::HtmlFileExtension; + case TREE_FILE_TYPE::PDF: return FILEEXT::PdfFileExtension; + case TREE_FILE_TYPE::TXT: return FILEEXT::TextFileExtension; + case TREE_FILE_TYPE::MD: return FILEEXT::MarkdownFileExtension; + case TREE_FILE_TYPE::NET: return FILEEXT::NetlistFileExtension; + case TREE_FILE_TYPE::NET_SPICE: return FILEEXT::SpiceFileExtension; + case TREE_FILE_TYPE::CMP_LINK: return FILEEXT::FootprintAssignmentFileExtension; + case TREE_FILE_TYPE::REPORT: return FILEEXT::ReportFileExtension; + case TREE_FILE_TYPE::FP_PLACE: return FILEEXT::FootprintPlaceFileExtension; + case TREE_FILE_TYPE::DRILL: return FILEEXT::DrillFileExtension; case TREE_FILE_TYPE::DRILL_NC: return "nc"; case TREE_FILE_TYPE::DRILL_XNC: return "xnc"; - case TREE_FILE_TYPE::SVG: return SVGFileExtension; - case TREE_FILE_TYPE::DRAWING_SHEET: return DrawingSheetFileExtension; - case TREE_FILE_TYPE::FOOTPRINT_FILE: return KiCadFootprintFileExtension; - case TREE_FILE_TYPE::SCHEMATIC_LIBFILE: return LegacySymbolLibFileExtension; - case TREE_FILE_TYPE::SEXPR_SYMBOL_LIB_FILE: return KiCadSymbolLibFileExtension; - case TREE_FILE_TYPE::DESIGN_RULES: return DesignRulesFileExtension; - case TREE_FILE_TYPE::ZIP_ARCHIVE: return ArchiveFileExtension; + case TREE_FILE_TYPE::SVG: return FILEEXT::SVGFileExtension; + case TREE_FILE_TYPE::DRAWING_SHEET: return FILEEXT::DrawingSheetFileExtension; + case TREE_FILE_TYPE::FOOTPRINT_FILE: return FILEEXT::KiCadFootprintFileExtension; + case TREE_FILE_TYPE::SCHEMATIC_LIBFILE: return FILEEXT::LegacySymbolLibFileExtension; + case TREE_FILE_TYPE::SEXPR_SYMBOL_LIB_FILE: return FILEEXT::KiCadSymbolLibFileExtension; + case TREE_FILE_TYPE::DESIGN_RULES: return FILEEXT::DesignRulesFileExtension; + case TREE_FILE_TYPE::ZIP_ARCHIVE: return FILEEXT::ArchiveFileExtension; case TREE_FILE_TYPE::ROOT: case TREE_FILE_TYPE::UNKNOWN: @@ -346,7 +346,8 @@ std::vector<wxString> getProjects( const wxDir& dir ) { wxFileName file( dir_filename ); - if( file.GetExt() == LegacyProjectFileExtension || file.GetExt() == ProjectFileExtension ) + if( file.GetExt() == FILEEXT::LegacyProjectFileExtension + || file.GetExt() == FILEEXT::ProjectFileExtension ) projects.push_back( file.GetName() ); haveFile = dir.GetNext( &dir_filename ); @@ -622,7 +623,7 @@ void PROJECT_TREE_PANE::ReCreateTreePrj() fn.Clear(); fn.SetPath( PATHS::GetDefaultUserProjectsPath() ); fn.SetName( NAMELESS_PROJECT ); - fn.SetExt( ProjectFileExtension ); + fn.SetExt( FILEEXT::ProjectFileExtension ); prjReset = true; } @@ -647,11 +648,11 @@ void PROJECT_TREE_PANE::ReCreateTreePrj() // name of the migrated (new format) file, which may not have been saved to disk yet. if( !prjOpened && !prjReset ) { - fn.SetExt( LegacyProjectFileExtension ); + fn.SetExt( FILEEXT::LegacyProjectFileExtension ); prjOpened = fn.FileExists(); // Set the ext back so that in the tree view we see the (not-yet-saved) new file - fn.SetExt( ProjectFileExtension ); + fn.SetExt( FILEEXT::ProjectFileExtension ); } // root tree: diff --git a/kicad/tools/kicad_manager_control.cpp b/kicad/tools/kicad_manager_control.cpp index 084ebc7bc4..464f2798bf 100644 --- a/kicad/tools/kicad_manager_control.cpp +++ b/kicad/tools/kicad_manager_control.cpp @@ -70,7 +70,7 @@ wxFileName KICAD_MANAGER_CONTROL::newProjectDirectory( wxString* aFileName ) wxString default_dir = m_frame->GetMruPath(); wxFileDialog dlg( m_frame, _( "Create New Project" ), default_dir, default_filename, - ProjectFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::ProjectFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); // Add a "Create a new directory" checkbox FILEDLG_NEW_PROJECT newProjectHook; @@ -83,10 +83,10 @@ wxFileName KICAD_MANAGER_CONTROL::newProjectDirectory( wxString* aFileName ) // wxFileName automatically extracts an extension. But if it isn't // a .pro extension, we should keep it as part of the filename - if( !pro.GetExt().IsEmpty() && pro.GetExt().ToStdString() != ProjectFileExtension ) + if( !pro.GetExt().IsEmpty() && pro.GetExt().ToStdString() != FILEEXT::ProjectFileExtension ) pro.SetName( pro.GetName() + wxT( "." ) + pro.GetExt() ); - pro.SetExt( ProjectFileExtension ); // enforce extension + pro.SetExt( FILEEXT::ProjectFileExtension ); // enforce extension if( !pro.IsAbsolute() ) pro.MakeAbsolute(); @@ -244,7 +244,7 @@ int KICAD_MANAGER_CONTROL::NewFromTemplate( const TOOL_EVENT& aEvent ) // Get project destination folder and project file name. wxString default_dir = wxFileName( Prj().GetProjectFullName() ).GetPathWithSep(); wxString title = _( "New Project Folder" ); - wxFileDialog dlg( m_frame, title, default_dir, wxEmptyString, ProjectFileWildcard(), + wxFileDialog dlg( m_frame, title, default_dir, wxEmptyString, FILEEXT::ProjectFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); // Add a "Create a new directory" checkbox @@ -258,10 +258,10 @@ int KICAD_MANAGER_CONTROL::NewFromTemplate( const TOOL_EVENT& aEvent ) // wxFileName automatically extracts an extension. But if it isn't a .kicad_pro extension, // we should keep it as part of the filename - if( !fn.GetExt().IsEmpty() && fn.GetExt().ToStdString() != ProjectFileExtension ) + if( !fn.GetExt().IsEmpty() && fn.GetExt().ToStdString() != FILEEXT::ProjectFileExtension ) fn.SetName( fn.GetName() + wxT( "." ) + fn.GetExt() ); - fn.SetExt( ProjectFileExtension ); + fn.SetExt( FILEEXT::ProjectFileExtension ); if( !fn.IsAbsolute() ) fn.MakeAbsolute(); @@ -357,9 +357,9 @@ int KICAD_MANAGER_CONTROL::NewFromTemplate( const TOOL_EVENT& aEvent ) int KICAD_MANAGER_CONTROL::openProject( const wxString& aDefaultDir ) { - wxString wildcard = AllProjectFilesWildcard() - + "|" + ProjectFileWildcard() - + "|" + LegacyProjectFileWildcard(); + wxString wildcard = FILEEXT::AllProjectFilesWildcard() + + "|" + FILEEXT::ProjectFileWildcard() + + "|" + FILEEXT::LegacyProjectFileWildcard(); wxFileDialog dlg( m_frame, _( "Open Existing Project" ), aDefaultDir, wxEmptyString, wildcard, wxFD_OPEN | wxFD_FILE_MUST_EXIST ); @@ -440,9 +440,9 @@ public: wxString ext = destFile.GetExt(); bool atRoot = destFile.GetPath() == m_projectDirPath; - if( ext == LegacyProjectFileExtension - || ext == ProjectFileExtension - || ext == ProjectLocalSettingsFileExtension ) + if( ext == FILEEXT::LegacyProjectFileExtension + || ext == FILEEXT::ProjectFileExtension + || ext == FILEEXT::ProjectLocalSettingsFileExtension ) { wxString destPath = destFile.GetPath(); @@ -456,70 +456,71 @@ public: { destFile.SetName( m_newProjectName ); - if( atRoot && ext != ProjectLocalSettingsFileExtension ) + if( atRoot && ext != FILEEXT::ProjectLocalSettingsFileExtension ) m_newProjectFile = destFile; } - if( ext == LegacyProjectFileExtension ) + if( ext == FILEEXT::LegacyProjectFileExtension ) { // All paths in the settings file are relative so we can just do a straight copy KiCopyFile( aSrcFilePath, destFile.GetFullPath(), m_errors ); } - else if( ext == ProjectFileExtension ) + else if( ext == FILEEXT::ProjectFileExtension ) { PROJECT_FILE projectFile( aSrcFilePath ); projectFile.LoadFromFile(); projectFile.SaveAs( destFile.GetPath(), destFile.GetName() ); } - else if( ext == ProjectLocalSettingsFileExtension ) + else if( ext == FILEEXT::ProjectLocalSettingsFileExtension ) { PROJECT_LOCAL_SETTINGS projectLocalSettings( nullptr, aSrcFilePath ); projectLocalSettings.LoadFromFile(); projectLocalSettings.SaveAs( destFile.GetPath(), destFile.GetName() ); } } - else if( ext == KiCadSchematicFileExtension - || ext == KiCadSchematicFileExtension + BackupFileSuffix - || ext == LegacySchematicFileExtension - || ext == LegacySchematicFileExtension + BackupFileSuffix - || ext == SchematicSymbolFileExtension - || ext == LegacySymbolLibFileExtension - || ext == LegacySymbolDocumentFileExtension - || ext == KiCadSymbolLibFileExtension - || ext == NetlistFileExtension + else if( ext == FILEEXT::KiCadSchematicFileExtension + || ext == FILEEXT::KiCadSchematicFileExtension + FILEEXT::BackupFileSuffix + || ext == FILEEXT::LegacySchematicFileExtension + || ext == FILEEXT::LegacySchematicFileExtension + FILEEXT::BackupFileSuffix + || ext == FILEEXT::SchematicSymbolFileExtension + || ext == FILEEXT::LegacySymbolLibFileExtension + || ext == FILEEXT::LegacySymbolDocumentFileExtension + || ext == FILEEXT::KiCadSymbolLibFileExtension + || ext == FILEEXT::NetlistFileExtension || destFile.GetName() == "sym-lib-table" ) { KIFACE* eeschema = m_frame->Kiway().KiFACE( KIWAY::FACE_SCH ); eeschema->SaveFileAs( m_projectDirPath, m_projectName, m_newProjectDirPath, m_newProjectName, aSrcFilePath, m_errors ); } - else if( ext == KiCadPcbFileExtension - || ext == KiCadPcbFileExtension + BackupFileSuffix - || ext == LegacyPcbFileExtension - || ext == KiCadFootprintFileExtension - || ext == LegacyFootprintLibPathExtension - || ext == FootprintAssignmentFileExtension + else if( ext == FILEEXT::KiCadPcbFileExtension + || ext == FILEEXT::KiCadPcbFileExtension + FILEEXT::BackupFileSuffix + || ext == FILEEXT::LegacyPcbFileExtension + || ext == FILEEXT::KiCadFootprintFileExtension + || ext == FILEEXT::LegacyFootprintLibPathExtension + || ext == FILEEXT::FootprintAssignmentFileExtension || destFile.GetName() == "fp-lib-table" ) { KIFACE* pcbnew = m_frame->Kiway().KiFACE( KIWAY::FACE_PCB ); pcbnew->SaveFileAs( m_projectDirPath, m_projectName, m_newProjectDirPath, m_newProjectName, aSrcFilePath, m_errors ); } - else if( ext == DrawingSheetFileExtension ) + else if( ext == FILEEXT::DrawingSheetFileExtension ) { KIFACE* pleditor = m_frame->Kiway().KiFACE( KIWAY::FACE_PL_EDITOR ); pleditor->SaveFileAs( m_projectDirPath, m_projectName, m_newProjectDirPath, m_newProjectName, aSrcFilePath, m_errors ); } - else if( ext == GerberJobFileExtension - || ext == DrillFileExtension - || IsGerberFileExtension(ext) ) + else if( ext == FILEEXT::GerberJobFileExtension + || ext == FILEEXT::DrillFileExtension + || FILEEXT::IsGerberFileExtension( ext ) ) { KIFACE* gerbview = m_frame->Kiway().KiFACE( KIWAY::FACE_GERBVIEW ); gerbview->SaveFileAs( m_projectDirPath, m_projectName, m_newProjectDirPath, m_newProjectName, aSrcFilePath, m_errors ); } - else if(destFile.GetName().StartsWith( LockFilePrefix ) && ext == LockFileExtension ) + else if( destFile.GetName().StartsWith( FILEEXT::LockFilePrefix ) + && ext == FILEEXT::LockFileExtension ) { // Ignore lock files } diff --git a/pagelayout_editor/files.cpp b/pagelayout_editor/files.cpp index 762981f13b..6df21e0034 100644 --- a/pagelayout_editor/files.cpp +++ b/pagelayout_editor/files.cpp @@ -130,7 +130,7 @@ void PL_EDITOR_FRAME::Files_io( wxCommandEvent& event ) { wxFileDialog openFileDialog( this, _( "Append Existing Drawing Sheet" ), wxEmptyString, wxEmptyString, - DrawingSheetFileWildcard(), wxFD_OPEN ); + FILEEXT::DrawingSheetFileWildcard(), wxFD_OPEN ); if( openFileDialog.ShowModal() == wxID_CANCEL ) return; @@ -155,7 +155,7 @@ void PL_EDITOR_FRAME::Files_io( wxCommandEvent& event ) case wxID_OPEN: { wxFileDialog openFileDialog( this, _( "Open Drawing Sheet" ), wxEmptyString, wxEmptyString, - DrawingSheetFileWildcard(), wxFD_OPEN ); + FILEEXT::DrawingSheetFileWildcard(), wxFD_OPEN ); if( openFileDialog.ShowModal() == wxID_CANCEL ) return; @@ -193,7 +193,7 @@ void PL_EDITOR_FRAME::Files_io( wxCommandEvent& event ) { wxString dir = PATHS::GetUserTemplatesPath(); wxFileDialog openFileDialog( this, _( "Save Drawing Sheet As" ), dir, wxEmptyString, - DrawingSheetFileWildcard(), + FILEEXT::DrawingSheetFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( openFileDialog.ShowModal() == wxID_CANCEL ) @@ -206,8 +206,8 @@ void PL_EDITOR_FRAME::Files_io( wxCommandEvent& event ) // extension wxFileName fn(filename); - if( fn.GetExt() != DrawingSheetFileExtension ) - filename << wxT(".") << DrawingSheetFileExtension; + if( fn.GetExt() != FILEEXT::DrawingSheetFileExtension ) + filename << wxT( "." ) << FILEEXT::DrawingSheetFileExtension; if( !SaveDrawingSheetFile( filename ) ) { diff --git a/pagelayout_editor/pl_editor_frame.cpp b/pagelayout_editor/pl_editor_frame.cpp index 61c1d6d433..aa13959d41 100644 --- a/pagelayout_editor/pl_editor_frame.cpp +++ b/pagelayout_editor/pl_editor_frame.cpp @@ -119,7 +119,7 @@ PL_EDITOR_FRAME::PL_EDITOR_FRAME( KIWAY* aKiway, wxWindow* aParent ) : LoadSettings( config() ); - m_acceptedExts.emplace( DrawingSheetFileExtension, nullptr ); + m_acceptedExts.emplace( FILEEXT::DrawingSheetFileExtension, nullptr ); DragAcceptFiles( true ); VECTOR2I pageSizeIU = GetPageLayout().GetPageSettings().GetSizeIU( drawSheetIUScale.IU_PER_MILS ); diff --git a/pcbnew/build_BOM_from_board.cpp b/pcbnew/build_BOM_from_board.cpp index cd5605a7bf..d7081682d6 100644 --- a/pcbnew/build_BOM_from_board.cpp +++ b/pcbnew/build_BOM_from_board.cpp @@ -82,12 +82,12 @@ void PCB_EDIT_FRAME::RecreateBOMFileFromBoard( wxCommandEvent& aEvent ) /* Set the file extension: */ fn = GetBoard()->GetFileName(); - fn.SetExt( CsvFileExtension ); + fn.SetExt( FILEEXT::CsvFileExtension ); wxString pro_dir = wxPathOnly( Prj().GetProjectFullName() ); wxFileDialog dlg( this, _( "Save Bill of Materials" ), pro_dir, fn.GetFullName(), - CsvFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + FILEEXT::CsvFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() == wxID_CANCEL ) return; diff --git a/pcbnew/dialogs/dialog_board_setup.cpp b/pcbnew/dialogs/dialog_board_setup.cpp index 2fc1aec951..f53784f8ff 100644 --- a/pcbnew/dialogs/dialog_board_setup.cpp +++ b/pcbnew/dialogs/dialog_board_setup.cpp @@ -263,7 +263,7 @@ void DIALOG_BOARD_SETUP::onAuxiliaryAction( wxCommandEvent& aEvent ) wxFileName boardFn( importDlg.GetFilePath() ); wxFileName projectFn( boardFn ); - projectFn.SetExt( ProjectFileExtension ); + projectFn.SetExt( FILEEXT::ProjectFileExtension ); if( !m_frame->GetSettingsManager()->LoadProject( projectFn.GetFullPath(), false ) ) { diff --git a/pcbnew/dialogs/dialog_board_statistics.cpp b/pcbnew/dialogs/dialog_board_statistics.cpp index d313a88586..7af477cfaf 100644 --- a/pcbnew/dialogs/dialog_board_statistics.cpp +++ b/pcbnew/dialogs/dialog_board_statistics.cpp @@ -642,7 +642,7 @@ void DIALOG_BOARD_STATISTICS::saveReportClicked( wxCommandEvent& aEvent ) wxFileName fn = m_parentFrame->GetBoard()->GetFileName(); boardName = fn.GetName(); wxFileDialog dlg( this, _( "Save Report File" ), s_savedDialogState.saveReportFolder, - s_savedDialogState.saveReportName, TextFileWildcard(), + s_savedDialogState.saveReportName, FILEEXT::TextFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() == wxID_CANCEL ) diff --git a/pcbnew/dialogs/dialog_drc.cpp b/pcbnew/dialogs/dialog_drc.cpp index 3ff04aab89..1f4265f8b5 100644 --- a/pcbnew/dialogs/dialog_drc.cpp +++ b/pcbnew/dialogs/dialog_drc.cpp @@ -872,10 +872,10 @@ void DIALOG_DRC::OnSeverity( wxCommandEvent& aEvent ) void DIALOG_DRC::OnSaveReport( wxCommandEvent& aEvent ) { - wxFileName fn( "DRC." + ReportFileExtension ); + wxFileName fn( "DRC." + FILEEXT::ReportFileExtension ); wxFileDialog dlg( this, _( "Save Report File" ), Prj().GetProjectPath(), fn.GetFullName(), - ReportFileWildcard() + wxS( "|" ) + JsonFileWildcard(), + FILEEXT::ReportFileWildcard() + wxS( "|" ) + FILEEXT::JsonFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() != wxID_OK ) @@ -884,7 +884,7 @@ void DIALOG_DRC::OnSaveReport( wxCommandEvent& aEvent ) fn = dlg.GetPath(); if( fn.GetExt().IsEmpty() ) - fn.SetExt( ReportFileExtension ); + fn.SetExt( FILEEXT::ReportFileExtension ); if( !fn.IsAbsolute() ) { @@ -896,7 +896,7 @@ void DIALOG_DRC::OnSaveReport( wxCommandEvent& aEvent ) m_ratsnestProvider, m_fpWarningsProvider ); bool success = false; - if( fn.GetExt() == JsonFileExtension ) + if( fn.GetExt() == FILEEXT::JsonFileExtension ) success = reportWriter.WriteJsonReport( fn.GetFullPath() ); else success = reportWriter.WriteTextReport( fn.GetFullPath() ); diff --git a/pcbnew/dialogs/dialog_export_step.cpp b/pcbnew/dialogs/dialog_export_step.cpp index 70b714229e..29f4370980 100644 --- a/pcbnew/dialogs/dialog_export_step.cpp +++ b/pcbnew/dialogs/dialog_export_step.cpp @@ -338,9 +338,9 @@ void DIALOG_EXPORT_STEP::onUpdateYPos( wxUpdateUIEvent& aEvent ) void DIALOG_EXPORT_STEP::onBrowseClicked( wxCommandEvent& aEvent ) { wxString filter = _( "STEP files" ) - + AddFileExtListToFilter( { StepFileExtension, StepFileAbrvExtension } ) + "|" + + AddFileExtListToFilter( { FILEEXT::StepFileExtension, FILEEXT::StepFileAbrvExtension } ) + "|" + _( "Binary GTLF files" ) - + AddFileExtListToFilter( { GltfBinaryFileExtension } ); + + AddFileExtListToFilter( { FILEEXT::GltfBinaryFileExtension } ); // Build the absolute path of current output directory to preselect it in the file browser. wxString path = ExpandEnvVarSubstitutions( m_outputFileName->GetValue(), &Prj() ); @@ -442,7 +442,7 @@ void DIALOG_EXPORT_STEP::onExportButton( wxCommandEvent& aEvent ) cmdK2S.Append( wxT( " pcb" ) ); cmdK2S.Append( wxT( " export" ) ); - if( fn.GetExt() == GltfBinaryFileExtension ) + if( fn.GetExt() == FILEEXT::GltfBinaryFileExtension ) cmdK2S.Append( wxT( " glb" ) ); else cmdK2S.Append( wxT( " step" ) ); diff --git a/pcbnew/dialogs/dialog_export_svg.cpp b/pcbnew/dialogs/dialog_export_svg.cpp index d0467bec40..77c2ae5ed5 100644 --- a/pcbnew/dialogs/dialog_export_svg.cpp +++ b/pcbnew/dialogs/dialog_export_svg.cpp @@ -339,7 +339,7 @@ void DIALOG_EXPORT_SVG::ExportSVGFile( bool aOnlyOneFile ) wxFileName fn( boardFilename ); wxString suffix = aOnlyOneFile ? wxString( wxT( "brd" ) ) : m_board->GetStandardLayerName( layer ); - BuildPlotFileName( &fn, outputDir.GetPath(), suffix, SVGFileExtension ); + BuildPlotFileName( &fn, outputDir.GetPath(), suffix, FILEEXT::SVGFileExtension ); wxString svgPath = fn.GetFullPath(); m_printMaskLayer = aOnlyOneFile ? all_selected.SeqStackupForPlotting() : LSEQ( { layer } ); diff --git a/pcbnew/dialogs/dialog_gen_footprint_position.cpp b/pcbnew/dialogs/dialog_gen_footprint_position.cpp index 7a7f6ee854..6f45f20a60 100644 --- a/pcbnew/dialogs/dialog_gen_footprint_position.cpp +++ b/pcbnew/dialogs/dialog_gen_footprint_position.cpp @@ -418,12 +418,12 @@ bool DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles() if( useCSVfmt ) { - fn.SetName( fn.GetName() + wxT( "-" ) + FootprintPlaceFileExtension ); + fn.SetName( fn.GetName() + wxT( "-" ) + FILEEXT::FootprintPlaceFileExtension ); fn.SetExt( wxT( "csv" ) ); } else { - fn.SetExt( FootprintPlaceFileExtension ); + fn.SetExt( FILEEXT::FootprintPlaceFileExtension ); } int fpcount = m_parent->DoGenFootprintsPositionFile( fn.GetFullPath(), UnitsMM(), OnlySMD(), @@ -464,12 +464,12 @@ bool DIALOG_GEN_FOOTPRINT_POSITION::CreateAsciiFiles() if( useCSVfmt ) { - fn.SetName( fn.GetName() + wxT( "-" ) + FootprintPlaceFileExtension ); + fn.SetName( fn.GetName() + wxT( "-" ) + FILEEXT::FootprintPlaceFileExtension ); fn.SetExt( wxT( "csv" ) ); } else { - fn.SetExt( FootprintPlaceFileExtension ); + fn.SetExt( FILEEXT::FootprintPlaceFileExtension ); } fpcount = m_parent->DoGenFootprintsPositionFile( fn.GetFullPath(), UnitsMM(), OnlySMD(), diff --git a/pcbnew/dialogs/dialog_gencad_export_options.cpp b/pcbnew/dialogs/dialog_gencad_export_options.cpp index ba5ecb99f5..a2ea51ae27 100644 --- a/pcbnew/dialogs/dialog_gencad_export_options.cpp +++ b/pcbnew/dialogs/dialog_gencad_export_options.cpp @@ -47,7 +47,7 @@ DIALOG_GENCAD_EXPORT_OPTIONS::DIALOG_GENCAD_EXPORT_OPTIONS( PCB_EDIT_FRAME* aPar // is set to. m_filePicker = new wxFilePickerCtrl( this, wxID_ANY, "", _("Select a GenCAD export filename"), - GencadFileWildcard(), + FILEEXT::GencadFileWildcard(), wxDefaultPosition, wxSize( -1,-1 ), wxFLP_SAVE|wxFLP_USE_TEXTCTRL ); m_mainSizer->Add( m_filePicker, 0, wxEXPAND | wxTOP | wxLEFT | wxRIGHT, 5 ); diff --git a/pcbnew/dialogs/dialog_gendrill.cpp b/pcbnew/dialogs/dialog_gendrill.cpp index 8e38ad7b13..97d885b0b5 100644 --- a/pcbnew/dialogs/dialog_gendrill.cpp +++ b/pcbnew/dialogs/dialog_gendrill.cpp @@ -445,7 +445,7 @@ void DIALOG_GENDRILL::OnGenReportFile( wxCommandEvent& event ) wxFileName fn = m_board->GetFileName(); fn.SetName( fn.GetName() + wxT( "-drl" ) ); - fn.SetExt( ReportFileExtension ); + fn.SetExt( FILEEXT::ReportFileExtension ); wxString defaultPath = ExpandEnvVarSubstitutions( m_plotOpts.GetOutputDirectory(), &Prj() ); defaultPath = Prj().AbsolutePath( defaultPath ); @@ -454,7 +454,7 @@ void DIALOG_GENDRILL::OnGenReportFile( wxCommandEvent& event ) defaultPath = PATHS::GetDefaultUserProjectsPath(); wxFileDialog dlg( this, _( "Save Drill Report File" ), defaultPath, fn.GetFullName(), - ReportFileWildcard(), wxFD_SAVE ); + FILEEXT::ReportFileWildcard(), wxFD_SAVE ); if( dlg.ShowModal() == wxID_CANCEL ) return; diff --git a/pcbnew/dialogs/dialog_import_netlist.cpp b/pcbnew/dialogs/dialog_import_netlist.cpp index b172fc948a..fb0af64f9b 100644 --- a/pcbnew/dialogs/dialog_import_netlist.cpp +++ b/pcbnew/dialogs/dialog_import_netlist.cpp @@ -133,7 +133,8 @@ void DIALOG_IMPORT_NETLIST::onBrowseNetlistFiles( wxCommandEvent& event ) } wxFileDialog FilesDialog( this, _( "Import Netlist" ), dirPath, filename, - NetlistFileWildcard(), wxFD_DEFAULT_STYLE | wxFD_FILE_MUST_EXIST ); + FILEEXT::NetlistFileWildcard(), + wxFD_DEFAULT_STYLE | wxFD_FILE_MUST_EXIST ); if( FilesDialog.ShowModal() != wxID_OK ) return; diff --git a/pcbnew/dialogs/dialog_import_settings.cpp b/pcbnew/dialogs/dialog_import_settings.cpp index 2827cc9f3e..2b12e2d865 100644 --- a/pcbnew/dialogs/dialog_import_settings.cpp +++ b/pcbnew/dialogs/dialog_import_settings.cpp @@ -113,7 +113,8 @@ void DIALOG_IMPORT_SETTINGS::OnBrowseClicked( wxCommandEvent& event ) wxFileName fn = m_frame->GetBoard()->GetFileName(); wxFileDialog dlg( this, _( "Import Settings From" ), fn.GetPath(), fn.GetFullName(), - PcbFileWildcard(), wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_CHANGE_DIR ); + FILEEXT::PcbFileWildcard(), + wxFD_OPEN | wxFD_FILE_MUST_EXIST | wxFD_CHANGE_DIR ); if( dlg.ShowModal() == wxID_OK ) m_filePathCtrl->SetValue( dlg.GetPath() ); diff --git a/pcbnew/dialogs/dialog_plot.cpp b/pcbnew/dialogs/dialog_plot.cpp index eba1d410df..901086b94a 100644 --- a/pcbnew/dialogs/dialog_plot.cpp +++ b/pcbnew/dialogs/dialog_plot.cpp @@ -1259,7 +1259,8 @@ void DIALOG_PLOT::Plot( wxCommandEvent& event ) wxFileName fn( boardFilename ); // Build gerber job file from basename - BuildPlotFileName( &fn, outputDir.GetPath(), wxT( "job" ), GerberJobFileExtension ); + BuildPlotFileName( &fn, outputDir.GetPath(), wxT( "job" ), + FILEEXT::GerberJobFileExtension ); jobfile_writer.CreateJobFile( fn.GetFullPath() ); } diff --git a/pcbnew/dialogs/panel_fp_lib_table.cpp b/pcbnew/dialogs/panel_fp_lib_table.cpp index caaf17eae5..e4279e371a 100644 --- a/pcbnew/dialogs/panel_fp_lib_table.cpp +++ b/pcbnew/dialogs/panel_fp_lib_table.cpp @@ -846,7 +846,7 @@ void PANEL_FP_LIB_TABLE::onMigrateLibraries( wxCommandEvent& event ) } wxFileName newLib( resolvedPath ); - newLib.AppendDir( newLib.GetName() + "." + KiCadFootprintLibPathExtension ); + newLib.AppendDir( newLib.GetName() + "." + FILEEXT::KiCadFootprintLibPathExtension ); newLib.SetName( "" ); newLib.ClearExt(); @@ -1006,7 +1006,7 @@ void PANEL_FP_LIB_TABLE::browseLibrariesHandler( wxCommandEvent& event ) } // Drop the last directory if the path is a .pretty folder - if( cfg->m_lastFootprintLibDir.EndsWith( KiCadFootprintLibPathExtension ) ) + if( cfg->m_lastFootprintLibDir.EndsWith( FILEEXT::KiCadFootprintLibPathExtension ) ) cfg->m_lastFootprintLibDir = cfg->m_lastFootprintLibDir.BeforeLast( wxFileName::GetPathSeparator() ); const ENV_VAR_MAP& envVars = Pgm().GetLocalEnvVariables(); @@ -1023,7 +1023,8 @@ void PANEL_FP_LIB_TABLE::browseLibrariesHandler( wxCommandEvent& event ) wxString nickname = LIB_ID::FixIllegalChars( fn.GetName(), true ); bool doAdd = true; - if( fileType == PCB_IO_MGR::KICAD_SEXP && fn.GetExt() != KiCadFootprintLibPathExtension ) + if( fileType == PCB_IO_MGR::KICAD_SEXP + && fn.GetExt() != FILEEXT::KiCadFootprintLibPathExtension ) nickname = LIB_ID::FixIllegalChars( fn.GetFullName(), true ).wx_str(); if( cur_model()->ContainsNickname( nickname ) ) diff --git a/pcbnew/dialogs/panel_setup_rules.cpp b/pcbnew/dialogs/panel_setup_rules.cpp index 52f86ce883..4a584d88ea 100644 --- a/pcbnew/dialogs/panel_setup_rules.cpp +++ b/pcbnew/dialogs/panel_setup_rules.cpp @@ -728,7 +728,7 @@ void PANEL_SETUP_RULES::ImportSettingsFrom( BOARD* aBoard ) if( !m_frame->Prj().IsNullProject() ) { wxFileName relFile = aBoard->GetFileName(); - relFile.SetExt( DesignRulesFileExtension ); + relFile.SetExt( FILEEXT::DesignRulesFileExtension ); wxFileName absFile( aBoard->GetProject()->AbsolutePath( relFile.GetFullName() ) ); diff --git a/pcbnew/exporters/export_d356.cpp b/pcbnew/exporters/export_d356.cpp index c8e50fc775..d98719611a 100644 --- a/pcbnew/exporters/export_d356.cpp +++ b/pcbnew/exporters/export_d356.cpp @@ -371,8 +371,8 @@ void PCB_EDIT_FRAME::GenD356File( wxCommandEvent& aEvent ) wxFileName fn = GetBoard()->GetFileName(); wxString ext, wildcard; - ext = IpcD356FileExtension; - wildcard = IpcD356FileWildcard(); + ext = FILEEXT::IpcD356FileExtension; + wildcard = FILEEXT::IpcD356FileWildcard(); fn.SetExt( ext ); wxString pro_dir = wxPathOnly( Prj().GetProjectFullName() ); diff --git a/pcbnew/exporters/export_footprint_associations.cpp b/pcbnew/exporters/export_footprint_associations.cpp index af8c5270d9..fa7d203ef0 100644 --- a/pcbnew/exporters/export_footprint_associations.cpp +++ b/pcbnew/exporters/export_footprint_associations.cpp @@ -68,10 +68,10 @@ void PCB_EDIT_FRAME::RecreateCmpFileFromBoard( wxCommandEvent& aEvent ) wxString projectDir = wxPathOnly( Prj().GetProjectFullName() ); wxFileName fn = GetBoard()->GetFileName(); - fn.SetExt( FootprintAssignmentFileExtension ); + fn.SetExt( FILEEXT::FootprintAssignmentFileExtension ); - wxFileDialog dlg( this, _( "Save Footprint Association File" ), - projectDir, fn.GetFullName(), FootprintAssignmentFileWildcard(), + wxFileDialog dlg( this, _( "Save Footprint Association File" ), projectDir, fn.GetFullName(), + FILEEXT::FootprintAssignmentFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() == wxID_CANCEL ) diff --git a/pcbnew/exporters/gendrill_Excellon_writer.cpp b/pcbnew/exporters/gendrill_Excellon_writer.cpp index e7cac26426..3fa73482ec 100644 --- a/pcbnew/exporters/gendrill_Excellon_writer.cpp +++ b/pcbnew/exporters/gendrill_Excellon_writer.cpp @@ -68,7 +68,7 @@ EXCELLON_WRITER::EXCELLON_WRITER( BOARD* aPcb ) m_mirror = false; m_merge_PTH_NPTH = false; m_minimalHeader = false; - m_drillFileExtension = DrillFileExtension; + m_drillFileExtension = FILEEXT::DrillFileExtension; m_useRouteModeForOval = true; } diff --git a/pcbnew/exporters/gerber_placefile_writer.cpp b/pcbnew/exporters/gerber_placefile_writer.cpp index 0e8d35948c..ed2c785bda 100644 --- a/pcbnew/exporters/gerber_placefile_writer.cpp +++ b/pcbnew/exporters/gerber_placefile_writer.cpp @@ -368,7 +368,7 @@ const wxString PLACEFILE_GERBER_WRITER::GetPlaceFileName( const wxString& aFullB wxString post_id = wxT( "-pnp_" ); post_id += aLayer == B_Cu ? wxT( "bottom" ) : wxT( "top" ); fn.SetName( fn.GetName() + post_id ); - fn.SetExt( GerberFileExtension ); + fn.SetExt( FILEEXT::GerberFileExtension ); return fn.GetFullPath(); } diff --git a/pcbnew/files.cpp b/pcbnew/files.cpp index dbedc9cc33..de4b26930d 100644 --- a/pcbnew/files.cpp +++ b/pcbnew/files.cpp @@ -199,10 +199,10 @@ bool AskLoadBoardFileName( PCB_EDIT_FRAME* aParent, wxString* aFileName, int aCt */ bool AskSaveBoardFileName( PCB_EDIT_FRAME* aParent, wxString* aFileName, bool* aCreateProject ) { - wxString wildcard = PcbFileWildcard(); + wxString wildcard = FILEEXT::PcbFileWildcard(); wxFileName fn = *aFileName; - fn.SetExt( KiCadPcbFileExtension ); + fn.SetExt( FILEEXT::KiCadPcbFileExtension ); wxFileDialog dlg( aParent, _( "Save Board File As" ), fn.GetPath(), fn.GetFullName(), wildcard, wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); @@ -217,7 +217,7 @@ bool AskSaveBoardFileName( PCB_EDIT_FRAME* aParent, wxString* aFileName, bool* a return false; *aFileName = dlg.GetPath(); - *aFileName = EnsureFileExtension( *aFileName, KiCadPcbFileExtension ); + *aFileName = EnsureFileExtension( *aFileName, FILEEXT::KiCadPcbFileExtension ); if( newProjectHook.IsAttachedToDialog() ) *aCreateProject = newProjectHook.GetCreateNewProject(); @@ -407,7 +407,7 @@ bool PCB_EDIT_FRAME::Files_io_from_id( int id ) savePath = PATHS::GetDefaultUserProjectsPath(); } - wxFileName fn( savePath.GetPath(), orig_name, KiCadPcbFileExtension ); + wxFileName fn( savePath.GetPath(), orig_name, FILEEXT::KiCadPcbFileExtension ); wxString filename = fn.GetFullPath(); bool createProject = false; bool success = false; @@ -535,7 +535,7 @@ bool PCB_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in } wxFileName pro = fullFileName; - pro.SetExt( ProjectFileExtension ); + pro.SetExt( FILEEXT::ProjectFileExtension ); bool is_new = !wxFileName::IsFileReadable( fullFileName ); @@ -872,7 +872,7 @@ bool PCB_EDIT_FRAME::OpenProjectFiles( const std::vector<wxString>& aFileSet, in wxFileName fn = fullFileName; if( converted ) - fn.SetExt( PcbFileExtension ); + fn.SetExt( FILEEXT::PcbFileExtension ); wxString fname = fn.GetFullPath(); @@ -932,8 +932,8 @@ bool PCB_EDIT_FRAME::SavePcbFile( const wxString& aFileName, bool addToHistory, // please, keep it simple. prompting goes elsewhere. wxFileName pcbFileName = aFileName; - if( pcbFileName.GetExt() == LegacyPcbFileExtension ) - pcbFileName.SetExt( KiCadPcbFileExtension ); + if( pcbFileName.GetExt() == FILEEXT::LegacyPcbFileExtension ) + pcbFileName.SetExt( FILEEXT::KiCadPcbFileExtension ); // Write through symlinks, don't replace them WX_FILENAME::ResolvePossibleSymlinks( pcbFileName ); @@ -952,8 +952,8 @@ bool PCB_EDIT_FRAME::SavePcbFile( const wxString& aFileName, bool addToHistory, wxFileName rulesFile( pcbFileName ); wxString msg; - projectFile.SetExt( ProjectFileExtension ); - rulesFile.SetExt( DesignRulesFileExtension ); + projectFile.SetExt( FILEEXT::ProjectFileExtension ); + rulesFile.SetExt( FILEEXT::DesignRulesFileExtension ); if( projectFile.FileExists() ) { @@ -1075,7 +1075,7 @@ bool PCB_EDIT_FRAME::SavePcbFile( const wxString& aFileName, bool addToHistory, bool PCB_EDIT_FRAME::SavePcbCopy( const wxString& aFileName, bool aCreateProject ) { - wxFileName pcbFileName( EnsureFileExtension( aFileName, KiCadPcbFileExtension ) ); + wxFileName pcbFileName( EnsureFileExtension( aFileName, FILEEXT::KiCadPcbFileExtension ) ); if( !IsWritable( pcbFileName ) ) { @@ -1111,8 +1111,8 @@ bool PCB_EDIT_FRAME::SavePcbCopy( const wxString& aFileName, bool aCreateProject wxFileName rulesFile( pcbFileName ); wxString msg; - projectFile.SetExt( ProjectFileExtension ); - rulesFile.SetExt( DesignRulesFileExtension ); + projectFile.SetExt( FILEEXT::ProjectFileExtension ); + rulesFile.SetExt( FILEEXT::DesignRulesFileExtension ); if( aCreateProject && !projectFile.FileExists() ) GetSettingsManager()->SaveProjectCopy( projectFile.GetFullPath() ); @@ -1148,7 +1148,7 @@ bool PCB_EDIT_FRAME::doAutoSave() if( GetBoard()->GetFileName().IsEmpty() ) { tmpFileName = wxFileName( PATHS::GetDefaultUserProjectsPath(), NAMELESS_PROJECT, - KiCadPcbFileExtension ); + FILEEXT::KiCadPcbFileExtension ); GetBoard()->SetFileName( tmpFileName.GetFullPath() ); } else @@ -1324,7 +1324,7 @@ void PCB_EDIT_FRAME::GenIPC2581File( wxCommandEvent& event ) if( dlg.GetCompress() ) { wxFileName tempfn = pcbFileName; - tempfn.SetExt( Ipc2581FileExtension ); + tempfn.SetExt( FILEEXT::Ipc2581FileExtension ); wxFileName zipfn = tempFile; zipfn.SetExt( "zip" ); diff --git a/pcbnew/footprint_edit_frame.cpp b/pcbnew/footprint_edit_frame.cpp index 9e9e7e7acb..5ce16b15f2 100644 --- a/pcbnew/footprint_edit_frame.cpp +++ b/pcbnew/footprint_edit_frame.cpp @@ -252,8 +252,8 @@ FOOTPRINT_EDIT_FRAME::FOOTPRINT_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) : // The selection filter doesn't need to grow in the vertical direction when docked m_auimgr.GetPane( "SelectionFilter" ).dock_proportion = 0; - m_acceptedExts.emplace( KiCadFootprintLibPathExtension, &ACTIONS::ddAddLibrary ); - m_acceptedExts.emplace( KiCadFootprintFileExtension, &PCB_ACTIONS::ddImportFootprint ); + m_acceptedExts.emplace( FILEEXT::KiCadFootprintLibPathExtension, &ACTIONS::ddAddLibrary ); + m_acceptedExts.emplace( FILEEXT::KiCadFootprintFileExtension, &PCB_ACTIONS::ddImportFootprint ); DragAcceptFiles( true ); ActivateGalCanvas(); @@ -942,7 +942,7 @@ void FOOTPRINT_EDIT_FRAME::UpdateTitle() title += footprint->GetReference(); title += wxS( " " ) + wxString::Format( _( "[from %s]" ), Prj().GetProjectName() + wxT( "." ) - + PcbFileExtension ); + + FILEEXT::PcbFileExtension ); } else if( fpid.IsValid() ) { @@ -1363,8 +1363,8 @@ void FOOTPRINT_EDIT_FRAME::OnSaveFootprintAsPng( wxCommandEvent& event ) wxString projectPath = wxPathOnly( Prj().GetProjectFullName() ); - wxFileDialog dlg( this, _( "Export View as PNG" ), projectPath, - fn.GetFullName(), PngFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); + wxFileDialog dlg( this, _( "Export View as PNG" ), projectPath, fn.GetFullName(), + FILEEXT::PngFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT ); if( dlg.ShowModal() == wxID_CANCEL || dlg.GetPath().IsEmpty() ) return; diff --git a/pcbnew/footprint_libraries_utils.cpp b/pcbnew/footprint_libraries_utils.cpp index de5badca70..87c46e45e7 100644 --- a/pcbnew/footprint_libraries_utils.cpp +++ b/pcbnew/footprint_libraries_utils.cpp @@ -227,9 +227,9 @@ void FOOTPRINT_EDIT_FRAME::ExportFootprint( FOOTPRINT* aFootprint ) fn.SetName( aFootprint->GetFPID().GetLibItemName() ); - wxString wildcard = KiCadFootprintLibFileWildcard(); + wxString wildcard = FILEEXT::KiCadFootprintLibFileWildcard(); - fn.SetExt( KiCadFootprintFileExtension ); + fn.SetExt( FILEEXT::KiCadFootprintFileExtension ); if( !cfg->m_LastExportPath.empty() ) fn.SetPath( cfg->m_LastExportPath ); @@ -242,7 +242,7 @@ void FOOTPRINT_EDIT_FRAME::ExportFootprint( FOOTPRINT* aFootprint ) if( dlg.ShowModal() == wxID_CANCEL ) return; - fn = EnsureFileExtension( dlg.GetPath(), KiCadFootprintFileExtension ); + fn = EnsureFileExtension( dlg.GetPath(), FILEEXT::KiCadFootprintFileExtension ); cfg->m_LastExportPath = fn.GetPath(); try @@ -320,8 +320,8 @@ wxString PCB_BASE_EDIT_FRAME::createNewLibrary( const wxString& aLibName, { fn = initialPath; - if( !LibraryFileBrowser( false, fn, KiCadFootprintLibPathWildcard(), - KiCadFootprintLibPathExtension, false, isGlobal, + if( !LibraryFileBrowser( false, fn, FILEEXT::KiCadFootprintLibPathWildcard(), + FILEEXT::KiCadFootprintLibPathExtension, false, isGlobal, PATHS::GetDefaultUserFootprintsPath() ) ) { return wxEmptyString; @@ -331,7 +331,7 @@ wxString PCB_BASE_EDIT_FRAME::createNewLibrary( const wxString& aLibName, } else { - fn = EnsureFileExtension( aLibName, KiCadFootprintLibPathExtension ); + fn = EnsureFileExtension( aLibName, FILEEXT::KiCadFootprintLibPathExtension ); if( !fn.IsAbsolute() ) { @@ -456,8 +456,8 @@ bool PCB_BASE_EDIT_FRAME::AddLibrary( const wxString& aFilename, FP_LIB_TABLE* a if( aFilename.IsEmpty() ) { - if( !LibraryFileBrowser( true, fn, KiCadFootprintLibPathWildcard(), - KiCadFootprintLibPathExtension, true, isGlobal, + if( !LibraryFileBrowser( true, fn, FILEEXT::KiCadFootprintLibPathWildcard(), + FILEEXT::KiCadFootprintLibPathExtension, true, isGlobal, PATHS::GetDefaultUserFootprintsPath() ) ) { return false; @@ -479,7 +479,8 @@ bool PCB_BASE_EDIT_FRAME::AddLibrary( const wxString& aFilename, FP_LIB_TABLE* a // KiCad lib is our default guess. So it might not have the .pretty extension // In this case, the extension is part of the library name - if( lib_type == PCB_IO_MGR::KICAD_SEXP && fn.GetExt() != KiCadFootprintLibPathExtension ) + if( lib_type == PCB_IO_MGR::KICAD_SEXP + && fn.GetExt() != FILEEXT::KiCadFootprintLibPathExtension ) libName = fn.GetFullName(); // try to use path normalized to an environmental variable or project path diff --git a/pcbnew/pcb_base_edit_frame.cpp b/pcbnew/pcb_base_edit_frame.cpp index fe77b21b27..73d6a72d56 100644 --- a/pcbnew/pcb_base_edit_frame.cpp +++ b/pcbnew/pcb_base_edit_frame.cpp @@ -269,7 +269,7 @@ wxString PCB_BASE_EDIT_FRAME::GetDesignRulesPath() return wxEmptyString; wxFileName fn = GetBoard()->GetFileName(); - fn.SetExt( DesignRulesFileExtension ); + fn.SetExt( FILEEXT::DesignRulesFileExtension ); return Prj().AbsolutePath( fn.GetFullName() ); } diff --git a/pcbnew/pcb_base_frame.cpp b/pcbnew/pcb_base_frame.cpp index af67258470..9223f3662c 100644 --- a/pcbnew/pcb_base_frame.cpp +++ b/pcbnew/pcb_base_frame.cpp @@ -1158,7 +1158,7 @@ void PCB_BASE_FRAME::setFPWatcher( FOOTPRINT* aFootprint ) } m_watcherFileName.Assign( libfullname, aFootprint->GetFPID().GetLibItemName(), - KiCadFootprintFileExtension ); + FILEEXT::KiCadFootprintFileExtension ); if( !m_watcherFileName.FileExists() ) return; diff --git a/pcbnew/pcb_edit_frame.cpp b/pcbnew/pcb_edit_frame.cpp index 535338ab92..564dc97914 100644 --- a/pcbnew/pcb_edit_frame.cpp +++ b/pcbnew/pcb_edit_frame.cpp @@ -487,8 +487,8 @@ PCB_EDIT_FRAME::PCB_EDIT_FRAME( KIWAY* aKiway, wxWindow* aParent ) : this ); Bind( EDA_EVT_CLOSE_NET_INSPECTOR_DIALOG, &PCB_EDIT_FRAME::onCloseNetInspectorDialog, this ); Bind( EDA_EVT_UNITS_CHANGED, &PCB_EDIT_FRAME::onUnitsChanged, this ); - m_acceptedExts.emplace( KiCadPcbFileExtension, &PCB_ACTIONS::ddAppendBoard ); - m_acceptedExts.emplace( LegacyPcbFileExtension, &PCB_ACTIONS::ddAppendBoard ); + m_acceptedExts.emplace( FILEEXT::KiCadPcbFileExtension, &PCB_ACTIONS::ddAppendBoard ); + m_acceptedExts.emplace( FILEEXT::LegacyPcbFileExtension, &PCB_ACTIONS::ddAppendBoard ); DragAcceptFiles( true ); } @@ -1836,13 +1836,13 @@ int PCB_EDIT_FRAME::TestStandalone() if( !frame->IsShownOnScreen() ) { wxFileName fn( Prj().GetProjectPath(), Prj().GetProjectName(), - KiCadSchematicFileExtension ); + FILEEXT::KiCadSchematicFileExtension ); // Maybe the file hasn't been converted to the new s-expression file format so // see if the legacy schematic file is still in play. if( !fn.FileExists() ) { - fn.SetExt( LegacySchematicFileExtension ); + fn.SetExt( FILEEXT::LegacySchematicFileExtension ); if( !fn.FileExists() ) { @@ -1922,12 +1922,12 @@ void PCB_EDIT_FRAME::RunEeschema() { wxString msg; wxFileName schematic( Prj().GetProjectPath(), Prj().GetProjectName(), - KiCadSchematicFileExtension ); + FILEEXT::KiCadSchematicFileExtension ); if( !schematic.FileExists() ) { wxFileName legacySchematic( Prj().GetProjectPath(), Prj().GetProjectName(), - LegacySchematicFileExtension ); + FILEEXT::LegacySchematicFileExtension ); if( legacySchematic.FileExists() ) { diff --git a/pcbnew/pcb_io/geda/pcb_io_geda.cpp b/pcbnew/pcb_io/geda/pcb_io_geda.cpp index 2e9d2c0b5f..30d02dd20a 100644 --- a/pcbnew/pcb_io/geda/pcb_io_geda.cpp +++ b/pcbnew/pcb_io/geda/pcb_io_geda.cpp @@ -230,7 +230,7 @@ void GPCB_FPL_CACHE::Load() } wxString fullName; - wxString fileSpec = wxT( "*." ) + GedaPcbFootprintLibFileExtension; + wxString fileSpec = wxT( "*." ) + FILEEXT::GedaPcbFootprintLibFileExtension; // wxFileName construction is egregiously slow. Construct it once and just swap out // the filename thereafter. @@ -301,7 +301,7 @@ bool GPCB_FPL_CACHE::IsModified() long long GPCB_FPL_CACHE::GetTimestamp( const wxString& aLibPath ) { - wxString fileSpec = wxT( "*." ) + GedaPcbFootprintLibFileExtension; + wxString fileSpec = wxT( "*." ) + FILEEXT::GedaPcbFootprintLibFileExtension; return TimestampDir( aLibPath, fileSpec ); } @@ -1001,7 +1001,7 @@ bool PCB_IO_GEDA::DeleteLibrary( const wxString& aLibraryPath, const STRING_UTF8 { tmp = files[i]; - if( tmp.GetExt() != KiCadFootprintFileExtension ) + if( tmp.GetExt() != FILEEXT::KiCadFootprintFileExtension ) { THROW_IO_ERROR( wxString::Format( _( "Unexpected file '%s' found in library '%s'." ), files[i].GetData(), diff --git a/pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.cpp b/pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.cpp index 54b7646431..6fee37768f 100644 --- a/pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.cpp +++ b/pcbnew/pcb_io/kicad_sexpr/pcb_io_kicad_sexpr.cpp @@ -170,7 +170,7 @@ void FP_CACHE::Load() } wxString fullName; - wxString fileSpec = wxT( "*." ) + KiCadFootprintFileExtension; + wxString fileSpec = wxT( "*." ) + FILEEXT::KiCadFootprintFileExtension; // wxFileName construction is egregiously slow. Construct it once and just swap out // the filename thereafter. @@ -267,7 +267,7 @@ bool FP_CACHE::IsModified() long long FP_CACHE::GetTimestamp( const wxString& aLibPath ) { - wxString fileSpec = wxT( "*." ) + KiCadFootprintFileExtension; + wxString fileSpec = wxT( "*." ) + FILEEXT::KiCadFootprintFileExtension; return TimestampDir( aLibPath, fileSpec ); } @@ -2574,7 +2574,7 @@ bool PCB_IO_KICAD_SEXPR::FootprintExists( const wxString& aLibraryPath, const wx // case-insensitive filesystem) handled "for free". // Warning: footprint names frequently contain a point. So be careful when initializing // wxFileName, and use a CTOR with extension specified - wxFileName footprintFile( aLibraryPath, aFootprintName, KiCadFootprintFileExtension ); + wxFileName footprintFile( aLibraryPath, aFootprintName, FILEEXT::KiCadFootprintFileExtension ); return footprintFile.Exists(); } @@ -2663,7 +2663,7 @@ void PCB_IO_KICAD_SEXPR::FootprintSave( const wxString& aLibraryPath, const FOOT // Quietly overwrite footprint and delete footprint file from path for any by same name. wxFileName fn( aLibraryPath, aFootprint->GetFPID().GetLibItemName(), - KiCadFootprintFileExtension ); + FILEEXT::KiCadFootprintFileExtension ); // Write through symlinks, don't replace them WX_FILENAME::ResolvePossibleSymlinks( fn ); @@ -2798,7 +2798,7 @@ bool PCB_IO_KICAD_SEXPR::DeleteLibrary( const wxString& aLibraryPath, const STRI { tmp = files[i]; - if( tmp.GetExt() != KiCadFootprintFileExtension ) + if( tmp.GetExt() != FILEEXT::KiCadFootprintFileExtension ) { THROW_IO_ERROR( wxString::Format( _( "Unexpected file '%s' found in library " "path '%s'." ), diff --git a/pcbnew/pcbnew.cpp b/pcbnew/pcbnew.cpp index d846e6c61c..211ff2c87f 100644 --- a/pcbnew/pcbnew.cpp +++ b/pcbnew/pcbnew.cpp @@ -504,26 +504,28 @@ void IFACE::SaveFileAs( const wxString& aProjectBasePath, const wxString& aSrcPr destFile.SetPath( destPath ); - if( ext == KiCadPcbFileExtension || ext == KiCadPcbFileExtension + BackupFileSuffix ) + if( ext == FILEEXT::KiCadPcbFileExtension + || ext == FILEEXT::KiCadPcbFileExtension + FILEEXT::BackupFileSuffix ) { if( destFile.GetName() == aSrcProjectName ) destFile.SetName( aNewProjectName ); KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors ); } - else if( ext == LegacyPcbFileExtension ) + else if( ext == FILEEXT::LegacyPcbFileExtension ) { if( destFile.GetName() == aSrcProjectName ) destFile.SetName( aNewProjectName ); KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors ); } - else if( ext == LegacyFootprintLibPathExtension || ext == KiCadFootprintFileExtension ) + else if( ext == FILEEXT::LegacyFootprintLibPathExtension + || ext == FILEEXT::KiCadFootprintFileExtension ) { // Footprints are not project-specific. Keep their source names. KiCopyFile( aSrcFilePath, destFile.GetFullPath(), aErrors ); } - else if( ext == FootprintAssignmentFileExtension ) + else if( ext == FILEEXT::FootprintAssignmentFileExtension ) { // TODO } diff --git a/pcbnew/pcbnew_jobs_handler.cpp b/pcbnew/pcbnew_jobs_handler.cpp index 11fcaffbaf..00b6a192a6 100644 --- a/pcbnew/pcbnew_jobs_handler.cpp +++ b/pcbnew/pcbnew_jobs_handler.cpp @@ -415,7 +415,7 @@ int PCBNEW_JOBS_HANDLER::JobExportGerbers( JOB* aJob ) if( plotOpts.GetUseGerberProtelExtensions() ) fileExt = GetGerberProtelExtension( layer ); else - fileExt = GerberFileExtension; + fileExt = FILEEXT::GerberFileExtension; BuildPlotFileName( &fn, aGerberJob->m_outputFile, brd->GetLayerName( layer ), fileExt ); wxString fullname = fn.GetFullName(); @@ -447,7 +447,8 @@ int PCBNEW_JOBS_HANDLER::JobExportGerbers( JOB* aJob ) wxFileName fn( aGerberJob->m_filename ); // Build gerber job file from basename - BuildPlotFileName( &fn, aGerberJob->m_outputFile, wxT( "job" ), GerberJobFileExtension ); + BuildPlotFileName( &fn, aGerberJob->m_outputFile, wxT( "job" ), + FILEEXT::GerberJobFileExtension ); jobfile_writer.CreateJobFile( fn.GetFullPath() ); return exitCode; @@ -671,11 +672,11 @@ int PCBNEW_JOBS_HANDLER::JobExportPos( JOB* aJob ) fn.SetName( fn.GetName() ); if( aPosJob->m_format == JOB_EXPORT_PCB_POS::FORMAT::ASCII ) - fn.SetExt( FootprintPlaceFileExtension ); + fn.SetExt( FILEEXT::FootprintPlaceFileExtension ); else if( aPosJob->m_format == JOB_EXPORT_PCB_POS::FORMAT::CSV ) - fn.SetExt( CsvFileExtension ); + fn.SetExt( FILEEXT::CsvFileExtension ); else if( aPosJob->m_format == JOB_EXPORT_PCB_POS::FORMAT::GERBER ) - fn.SetExt( GerberFileExtension ); + fn.SetExt( FILEEXT::GerberFileExtension ); aPosJob->m_outputFile = fn.GetFullName(); } @@ -898,7 +899,7 @@ int PCBNEW_JOBS_HANDLER::doFpExportSvg( JOB_FP_EXPORT_SVG* aSvgJob, const FOOTPR wxFileName outputFile; outputFile.SetPath( aSvgJob->m_outputDirectory ); outputFile.SetName( aFootprint->GetFPID().GetLibItemName().wx_str() ); - outputFile.SetExt( SVGFileExtension ); + outputFile.SetExt( FILEEXT::SVGFileExtension ); m_reporter->Report( wxString::Format( _( "Plotting footprint '%s' to '%s'\n" ), aFootprint->GetFPID().GetLibItemName().wx_str(), @@ -942,9 +943,9 @@ int PCBNEW_JOBS_HANDLER::JobExportDrc( JOB* aJob ) fn.SetName( fn.GetName() ); if( drcJob->m_format == JOB_PCB_DRC::OUTPUT_FORMAT::JSON ) - fn.SetExt( JsonFileExtension ); + fn.SetExt( FILEEXT::JsonFileExtension ); else - fn.SetExt( ReportFileExtension ); + fn.SetExt( FILEEXT::ReportFileExtension ); drcJob->m_outputFile = fn.GetFullName(); } diff --git a/pcbnew/python/scripting/pcbnew_scripting_helpers.cpp b/pcbnew/python/scripting/pcbnew_scripting_helpers.cpp index 2c1e031099..e7f315c174 100644 --- a/pcbnew/python/scripting/pcbnew_scripting_helpers.cpp +++ b/pcbnew/python/scripting/pcbnew_scripting_helpers.cpp @@ -86,9 +86,9 @@ void ScriptingOnDestructPcbEditFrame( PCB_EDIT_FRAME* aPcbEditFrame ) BOARD* LoadBoard( wxString& aFileName ) { - if( aFileName.EndsWith( KiCadPcbFileExtension ) ) + if( aFileName.EndsWith( FILEEXT::KiCadPcbFileExtension ) ) return LoadBoard( aFileName, PCB_IO_MGR::KICAD_SEXP ); - else if( aFileName.EndsWith( LegacyPcbFileExtension ) ) + else if( aFileName.EndsWith( FILEEXT::LegacyPcbFileExtension ) ) return LoadBoard( aFileName, PCB_IO_MGR::LEGACY ); // as fall back for any other kind use the legacy format @@ -137,7 +137,7 @@ PROJECT* GetDefaultProject() BOARD* LoadBoard( wxString& aFileName, PCB_IO_MGR::PCB_FILE_T aFormat ) { wxFileName pro = aFileName; - pro.SetExt( ProjectFileExtension ); + pro.SetExt( FILEEXT::ProjectFileExtension ); pro.MakeAbsolute(); wxString projectPath = pro.GetFullPath(); @@ -194,7 +194,7 @@ BOARD* LoadBoard( wxString& aFileName, PCB_IO_MGR::PCB_FILE_T aFormat ) try { wxFileName rules = pro; - rules.SetExt( DesignRulesFileExtension ); + rules.SetExt( FILEEXT::DesignRulesFileExtension ); bds.m_DRCEngine->InitEngine( rules ); } catch( ... ) @@ -219,7 +219,7 @@ BOARD* NewBoard( wxString& aFileName ) { wxFileName boardFn = aFileName; wxFileName proFn = aFileName; - proFn.SetExt( ProjectFileExtension ); + proFn.SetExt( FILEEXT::ProjectFileExtension ); proFn.MakeAbsolute(); wxString projectPath = proFn.GetFullPath(); @@ -278,7 +278,7 @@ bool SaveBoard( wxString& aFileName, BOARD* aBoard, PCB_IO_MGR::PCB_FILE_T aForm if( !aSkipSettings ) { wxFileName pro = aFileName; - pro.SetExt( ProjectFileExtension ); + pro.SetExt( FILEEXT::ProjectFileExtension ); pro.MakeAbsolute(); GetSettingsManager()->SaveProjectAs( pro.GetFullPath(), aBoard->GetProject() ); @@ -503,7 +503,7 @@ bool WriteDRCReport( BOARD* aBoard, const wxString& aFileName, EDA_UNITS aUnits, wxCHECK( engine, false ); wxFileName fn = aBoard->GetFileName(); - fn.SetExt( DesignRulesFileExtension ); + fn.SetExt( FILEEXT::DesignRulesFileExtension ); PROJECT* prj = nullptr; if( aBoard->GetProject() ) diff --git a/pcbnew/tools/board_editor_control.cpp b/pcbnew/tools/board_editor_control.cpp index 6eb3e38465..da6acbca60 100644 --- a/pcbnew/tools/board_editor_control.cpp +++ b/pcbnew/tools/board_editor_control.cpp @@ -378,11 +378,11 @@ int BOARD_EDITOR_CONTROL::ImportSpecctraSession( const TOOL_EVENT& aEvent ) wxString ext; wxFileName::SplitPath( fullFileName, &path, &name, &ext ); - name += wxT( "." ) + SpecctraSessionFileExtension; + name += wxT( "." ) + FILEEXT::SpecctraSessionFileExtension; fullFileName = wxFileSelector( _( "Specctra Session File" ), path, name, - wxT( "." ) + SpecctraSessionFileExtension, - SpecctraSessionFileWildcard(), wxFD_OPEN | wxFD_CHANGE_DIR, + wxT( "." ) + FILEEXT::SpecctraSessionFileExtension, + FILEEXT::SpecctraSessionFileWildcard(), wxFD_OPEN | wxFD_CHANGE_DIR, frame() ); if( !fullFileName.IsEmpty() ) @@ -400,7 +400,7 @@ int BOARD_EDITOR_CONTROL::ExportSpecctraDSN( const TOOL_EVENT& aEvent ) if( fullFileName.IsEmpty() ) { fn = m_frame->GetBoard()->GetFileName(); - fn.SetExt( SpecctraDsnFileExtension ); + fn.SetExt( FILEEXT::SpecctraDsnFileExtension ); } else { @@ -408,7 +408,7 @@ int BOARD_EDITOR_CONTROL::ExportSpecctraDSN( const TOOL_EVENT& aEvent ) } fullFileName = wxFileSelector( _( "Specctra DSN File" ), fn.GetPath(), fn.GetFullName(), - SpecctraDsnFileExtension, SpecctraDsnFileWildcard(), + FILEEXT::SpecctraDsnFileExtension, FILEEXT::SpecctraDsnFileWildcard(), wxFD_SAVE | wxFD_OVERWRITE_PROMPT | wxFD_CHANGE_DIR, frame() ); if( !fullFileName.IsEmpty() ) diff --git a/qa/schematic_utils/eeschema_test_utils.cpp b/qa/schematic_utils/eeschema_test_utils.cpp index 94ca2ea867..65c0ef4cd0 100644 --- a/qa/schematic_utils/eeschema_test_utils.cpp +++ b/qa/schematic_utils/eeschema_test_utils.cpp @@ -41,7 +41,7 @@ void KI_TEST::SCHEMATIC_TEST_FIXTURE::LoadSchematic( const wxString& aBaseName ) BOOST_TEST_MESSAGE( fn.GetFullPath() ); wxFileName pro( fn ); - pro.SetExt( ProjectFileExtension ); + pro.SetExt( FILEEXT::ProjectFileExtension ); // Schematic must be reset before a project is reloaded m_schematic.Reset(); @@ -98,7 +98,7 @@ wxFileName KI_TEST::SCHEMATIC_TEST_FIXTURE::GetSchematicPath( const wxString& aB fn.AppendDir( "netlists" ); fn.AppendDir( aBaseName ); fn.SetName( aBaseName ); - fn.SetExt( KiCadSchematicFileExtension ); + fn.SetExt( FILEEXT::KiCadSchematicFileExtension ); return fn; } @@ -112,7 +112,7 @@ wxString TEST_NETLIST_EXPORTER_FIXTURE<Exporter>::GetNetlistPath( bool aTest ) if( aTest ) netFile.SetName( netFile.GetName() + "_test" ); - netFile.SetExt( NetlistFileExtension ); + netFile.SetExt( FILEEXT::NetlistFileExtension ); return netFile.GetFullPath(); } diff --git a/qa/tests/eeschema/test_sch_sheet_list.cpp b/qa/tests/eeschema/test_sch_sheet_list.cpp index dbf7e52017..dfdc56fafd 100644 --- a/qa/tests/eeschema/test_sch_sheet_list.cpp +++ b/qa/tests/eeschema/test_sch_sheet_list.cpp @@ -36,7 +36,7 @@ wxFileName TEST_SCH_SHEET_LIST_FIXTURE::GetSchematicPath( const wxString& aRelat fn.AppendDir( "netlists" ); wxString path = fn.GetFullPath(); - path += aRelativePath + wxT( "." ) + KiCadSchematicFileExtension; + path += aRelativePath + wxT( "." ) + FILEEXT::KiCadSchematicFileExtension; return wxFileName( path ); } @@ -106,13 +106,13 @@ BOOST_AUTO_TEST_CASE( TestEditPageNumbersInSharedDesign ) wxFileName rootFn = GetSchematicPath( "complex_hierarchy_shared/complex_hierarchy" ); wxFileName prjFn = rootFn; - prjFn.SetExt( ProjectFileExtension ); + prjFn.SetExt( FILEEXT::ProjectFileExtension ); rootFn.AppendDir( "temp" ); BOOST_CHECK( rootFn.Mkdir() ); wxFileName newPrjFn = rootFn; - newPrjFn.SetExt( ProjectFileExtension ); + newPrjFn.SetExt( FILEEXT::ProjectFileExtension ); BOOST_CHECK( wxCopyFile( prjFn.GetFullPath(), newPrjFn.GetFullPath() ) ); m_pi->SaveSchematicFile( rootFn.GetFullPath(), &m_schematic.Root(), &m_schematic ); diff --git a/qa/tests/spice/test_netlist_exporter_spice.h b/qa/tests/spice/test_netlist_exporter_spice.h index b58c84b34e..5db8dd533b 100644 --- a/qa/tests/spice/test_netlist_exporter_spice.h +++ b/qa/tests/spice/test_netlist_exporter_spice.h @@ -88,7 +88,7 @@ public: fn.AppendDir( "spice_netlists" ); fn.AppendDir( aBaseName ); fn.SetName( aBaseName ); - fn.SetExt( KiCadSchematicFileExtension ); + fn.SetExt( FILEEXT::KiCadSchematicFileExtension ); return fn; } diff --git a/qa/tests/spice/test_sim_regressions.cpp b/qa/tests/spice/test_sim_regressions.cpp index ec6a16c6c1..6fa294e51e 100644 --- a/qa/tests/spice/test_sim_regressions.cpp +++ b/qa/tests/spice/test_sim_regressions.cpp @@ -46,7 +46,7 @@ public: { wxFileName fn( KI_TEST::GetEeschemaTestDataDir() ); fn.SetName( aBaseName ); - fn.SetExt( KiCadSchematicFileExtension ); + fn.SetExt( FILEEXT::KiCadSchematicFileExtension ); return fn; }