From 7a6b64d3717ea2ad7f9a78054e523f05393d8bd8 Mon Sep 17 00:00:00 2001 From: Roberto Fernandez Bautista Date: Sat, 25 Feb 2023 22:52:39 +0100 Subject: [PATCH] Special case cadstar libraries when error reporting. --- .../cadstar/cadstar_sch_archive_loader.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp index 6969633f08..2555493a34 100644 --- a/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp +++ b/eeschema/sch_plugins/cadstar/cadstar_sch_archive_loader.cpp @@ -302,9 +302,9 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSheets() wxFileName loadedFilePath = wxFileName( Filename ); - std::string filename = wxString::Format( "%s_%02d", - loadedFilePath.GetName(), - getSheetNumber( rootSheetID ) ).ToStdString(); + std::string filename = wxString::Format( "%s_%02d", loadedFilePath.GetName(), + getSheetNumber( rootSheetID ) ) + .ToStdString(); ReplaceIllegalFileNameChars( &filename ); filename += wxT( "." ) + KiCadSchematicFileExtension; @@ -314,6 +314,11 @@ void CADSTAR_SCH_ARCHIVE_LOADER::loadSheets() m_sheetMap.insert( { rootSheetID, m_rootSheet } ); loadChildSheets( rootSheetID, rootPath ); } + else if( Header.Format.Type == "SYMBOL" ) + { + THROW_IO_ERROR( _( "The selected file is a CADSTAR symbol library. It does not contain a " + "schematic design so cannot be imported/opened in this way." ) ); + } else { THROW_IO_ERROR( _( "The CADSTAR schematic might be corrupt: there is no root sheet." ) );