diff --git a/common/eda_draw_frame.cpp b/common/eda_draw_frame.cpp index 39f42a423a..7ac9ac0af3 100644 --- a/common/eda_draw_frame.cpp +++ b/common/eda_draw_frame.cpp @@ -779,7 +779,6 @@ void EDA_DRAW_FRAME::SetMsgPanel( EDA_ITEM* aItem ) void EDA_DRAW_FRAME::UpdateMsgPanel() { - GetToolManager()->ProcessEvent( EVENTS::SelectedItemsModified ); } diff --git a/pcbnew/board_commit.cpp b/pcbnew/board_commit.cpp index 97ff64f7b0..15136c7e76 100644 --- a/pcbnew/board_commit.cpp +++ b/pcbnew/board_commit.cpp @@ -171,6 +171,7 @@ void BOARD_COMMIT::Push( const wxString& aMessage, int aCommitFlags ) bool itemsDeselected = false; bool solderMaskDirty = false; bool autofillZones = false; + bool selectedModified = false; if( Empty() ) return; @@ -244,6 +245,9 @@ void BOARD_COMMIT::Push( const wxString& aMessage, int aCommitFlags ) solderMaskDirty = true; } + if( boardItem->IsSelected() ) + selectedModified = true; + switch( changeType ) { case CHT_ADD: @@ -570,6 +574,9 @@ void BOARD_COMMIT::Push( const wxString& aMessage, int aCommitFlags ) if( autofillZones ) m_toolMgr->RunAction( PCB_ACTIONS::zoneFillDirty ); + if( selectedModified ) + m_toolMgr->ProcessEvent( EVENTS::SelectedItemsModified ); + if( frame ) { if( !( aCommitFlags & SKIP_SET_DIRTY ) ) diff --git a/pcbnew/dialogs/dialog_graphic_item_properties.cpp b/pcbnew/dialogs/dialog_graphic_item_properties.cpp index e252f193f6..bd04916d67 100644 --- a/pcbnew/dialogs/dialog_graphic_item_properties.cpp +++ b/pcbnew/dialogs/dialog_graphic_item_properties.cpp @@ -407,8 +407,6 @@ bool DIALOG_GRAPHIC_ITEM_PROPERTIES::TransferDataFromWindow() if( wasLocked != m_item->IsLocked() ) m_parent->GetToolManager()->PostEvent( EVENTS::SelectedEvent ); - m_parent->UpdateMsgPanel(); - return true; } diff --git a/pcbnew/pcb_base_frame.cpp b/pcbnew/pcb_base_frame.cpp index ce42506471..b5172aaddc 100644 --- a/pcbnew/pcb_base_frame.cpp +++ b/pcbnew/pcb_base_frame.cpp @@ -677,9 +677,6 @@ void PCB_BASE_FRAME::ShowChangedLanguage() // tooltips in toolbars RecreateToolbars(); - - // status bar - UpdateMsgPanel(); } diff --git a/pcbnew/router/router_tool.cpp b/pcbnew/router/router_tool.cpp index cd28133845..5803438c6f 100644 --- a/pcbnew/router/router_tool.cpp +++ b/pcbnew/router/router_tool.cpp @@ -758,7 +758,6 @@ void ROUTER_TOOL::updateSizesAfterLayerSwitch( PCB_LAYER_ID targetLayer ) } m_router->UpdateSizes( sizes ); - frame()->UpdateMsgPanel(); } diff --git a/pcbnew/tools/board_editor_control.cpp b/pcbnew/tools/board_editor_control.cpp index 57516ae230..a1b9e3239c 100644 --- a/pcbnew/tools/board_editor_control.cpp +++ b/pcbnew/tools/board_editor_control.cpp @@ -1243,7 +1243,6 @@ int BOARD_EDITOR_CONTROL::modifyLockSelected( MODIFY_MODE aMode ) commit.Push( aMode == ON ? _( "Lock" ) : _( "Unlock" ) ); m_toolMgr->PostEvent( EVENTS::SelectedEvent ); - m_frame->UpdateMsgPanel(); m_frame->OnModify(); } @@ -1524,7 +1523,8 @@ int BOARD_EDITOR_CONTROL::AssignNetclass( const TOOL_EVENT& aEvent ) if( dlg.ShowModal() == wxID_OK ) { board()->SynchronizeNetsAndNetClasses( false ); - m_frame->UpdateMsgPanel(); + // Refresh UI that depends on netclasses, such as the properties panel + m_toolMgr->ProcessEvent( EVENTS::SelectedItemsModified ); } return 0; diff --git a/pcbnew/tools/pcb_point_editor.cpp b/pcbnew/tools/pcb_point_editor.cpp index 5781c9c6a5..8e4fb993a5 100644 --- a/pcbnew/tools/pcb_point_editor.cpp +++ b/pcbnew/tools/pcb_point_editor.cpp @@ -669,8 +669,6 @@ int PCB_POINT_EDITOR::OnSelectionChange( const TOOL_EVENT& aEvent ) m_editedPoint = nullptr; - frame()->UpdateMsgPanel(); - return 0; }