Bug2600 residual: cause update of menu item text after compact

This commit is contained in:
Paul Licameli 2020-11-25 13:40:28 -05:00
parent ebb6e5de1c
commit 1efebb7cdc
3 changed files with 8 additions and 0 deletions

View File

@ -76,6 +76,7 @@ MenuManager::MenuManager( AudacityProject &project )
mProject.Bind( EVT_UNDO_OR_REDO, &MenuManager::OnUndoRedo, this ); mProject.Bind( EVT_UNDO_OR_REDO, &MenuManager::OnUndoRedo, this );
mProject.Bind( EVT_UNDO_RESET, &MenuManager::OnUndoRedo, this ); mProject.Bind( EVT_UNDO_RESET, &MenuManager::OnUndoRedo, this );
mProject.Bind( EVT_UNDO_PUSHED, &MenuManager::OnUndoRedo, this ); mProject.Bind( EVT_UNDO_PUSHED, &MenuManager::OnUndoRedo, this );
mProject.Bind( EVT_UNDO_RENAMED, &MenuManager::OnUndoRedo, this );
} }
MenuManager::~MenuManager() MenuManager::~MenuManager()

View File

@ -42,6 +42,7 @@ UndoManager
wxDEFINE_EVENT(EVT_UNDO_PUSHED, wxCommandEvent); wxDEFINE_EVENT(EVT_UNDO_PUSHED, wxCommandEvent);
wxDEFINE_EVENT(EVT_UNDO_MODIFIED, wxCommandEvent); wxDEFINE_EVENT(EVT_UNDO_MODIFIED, wxCommandEvent);
wxDEFINE_EVENT(EVT_UNDO_RENAMED, wxCommandEvent);
wxDEFINE_EVENT(EVT_UNDO_OR_REDO, wxCommandEvent); wxDEFINE_EVENT(EVT_UNDO_OR_REDO, wxCommandEvent);
wxDEFINE_EVENT(EVT_UNDO_RESET, wxCommandEvent); wxDEFINE_EVENT(EVT_UNDO_RESET, wxCommandEvent);
wxDEFINE_EVENT(EVT_UNDO_PURGE, wxCommandEvent); wxDEFINE_EVENT(EVT_UNDO_PURGE, wxCommandEvent);
@ -316,6 +317,9 @@ void UndoManager::RenameState( int state,
auto &theState = *stack[state]; auto &theState = *stack[state];
theState.description = longDescription; theState.description = longDescription;
theState.shortDescription = shortDescription; theState.shortDescription = shortDescription;
// wxWidgets will own the event object
mProject.QueueEvent( safenew wxCommandEvent{ EVT_UNDO_RENAMED } );
} }
} }

View File

@ -63,6 +63,9 @@ wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API, EVT_UNDO_PUSHED, wxCommandEvent);
// Project state did not change, but current state was modified in Undo history // Project state did not change, but current state was modified in Undo history
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API, EVT_UNDO_MODIFIED, wxCommandEvent); wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API, EVT_UNDO_MODIFIED, wxCommandEvent);
// Project state did not change, but current state was renamed in Undo history
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API, EVT_UNDO_RENAMED, wxCommandEvent);
// Project state changed because of undo or redo; undo manager // Project state changed because of undo or redo; undo manager
// contents did not change other than the pointer to current state // contents did not change other than the pointer to current state
wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API, EVT_UNDO_OR_REDO, wxCommandEvent); wxDECLARE_EXPORTED_EVENT(AUDACITY_DLL_API, EVT_UNDO_OR_REDO, wxCommandEvent);