Guard actions that change project against running in non-standalone mode

Fixes https://gitlab.com/kicad/code/kicad/-/issues/16942
This commit is contained in:
Jon Evans 2024-02-11 09:36:17 -05:00
parent ef0204a44b
commit ec2cd99405
2 changed files with 21 additions and 1 deletions

View File

@ -1260,6 +1260,10 @@ void SCH_EDIT_FRAME::OnClearFileHistory( wxCommandEvent& aEvent )
void SCH_EDIT_FRAME::NewProject()
{
// Only standalone mode can directly load a new document
if( !Kiface().IsSingle() )
return;
wxString pro_dir = m_mruPath;
wxFileDialog dlg( this, _( "New Schematic" ), pro_dir, wxEmptyString,
@ -1290,6 +1294,10 @@ void SCH_EDIT_FRAME::NewProject()
void SCH_EDIT_FRAME::LoadProject()
{
// Only standalone mode can directly load a new document
if( !Kiface().IsSingle() )
return;
wxString pro_dir = m_mruPath;
wxString wildcards = FILEEXT::AllSchematicFilesWildcard()
+ wxS( "|" ) + FILEEXT::KiCadSchematicFileWildcard()

View File

@ -265,6 +265,10 @@ bool PCB_EDIT_FRAME::Files_io_from_id( int id )
{
case ID_LOAD_FILE:
{
// Only standalone mode can directly load a new document
if( !Kiface().IsSingle() )
return false;
int open_ctl = KICTL_KICAD_ONLY;
wxString fileName = Prj().AbsolutePath( GetBoard()->GetFileName() );
@ -274,6 +278,10 @@ bool PCB_EDIT_FRAME::Files_io_from_id( int id )
case ID_IMPORT_NON_KICAD_BOARD:
{
// Only standalone mode can directly load a new document
if( !Kiface().IsSingle() )
return false;
int open_ctl = KICTL_NONKICAD_ONLY;
wxString fileName; // = Prj().AbsolutePath( GetBoard()->GetFileName() );
@ -332,6 +340,10 @@ bool PCB_EDIT_FRAME::Files_io_from_id( int id )
case ID_NEW_BOARD:
{
// Only standalone mode can directly load a new document
if( !Kiface().IsSingle() )
return false;
if( IsContentModified() )
{
wxFileName fileName = GetBoard()->GetFileName();