Allow duplication of module texts from board editor.

Fixes https://gitlab.com/kicad/code/kicad/issues/3829
This commit is contained in:
Jeff Young
2020-02-05 22:21:16 +00:00
parent 34e5b76c5f
commit d8cd48aa7f
2 changed files with 62 additions and 22 deletions
+15 -9
View File
@@ -138,15 +138,7 @@ void BOARD_COMMIT::Push( const wxString& aMessage, bool aCreateUndoEntry, bool a
{
case CHT_ADD:
{
if( !m_editModules )
{
if( aCreateUndoEntry )
undoList.PushItem( ITEM_PICKER( boardItem, UR_NEW ) );
if( !( changeFlags & CHT_DONE ) )
board->Add( boardItem ); // handles connectivity
}
else
if( m_editModules )
{
// modules inside modules are not supported yet
wxASSERT( boardItem->Type() != PCB_MODULE_T );
@@ -156,6 +148,20 @@ void BOARD_COMMIT::Push( const wxString& aMessage, bool aCreateUndoEntry, bool a
if( !( changeFlags & CHT_DONE ) )
board->Modules().front()->Add( boardItem );
}
else if( boardItem->Type() == PCB_MODULE_TEXT_T ||
boardItem->Type() == PCB_MODULE_EDGE_T )
{
wxASSERT( boardItem->GetParent() &&
boardItem->GetParent()->Type() == PCB_MODULE_T );
}
else
{
if( aCreateUndoEntry )
undoList.PushItem( ITEM_PICKER( boardItem, UR_NEW ) );
if( !( changeFlags & CHT_DONE ) )
board->Add( boardItem ); // handles connectivity
}
view->Add( boardItem );
break;