1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-01 07:33:44 +02:00

Fix bug 1537

Fix logic errors in AudacityProject::UpdateMenus
As this has never worked previously, we may now wish to
review the behaviour.
This commit is contained in:
Steve Daulton 2016-10-28 00:48:52 +01:00
parent d39dbc4162
commit b5ccd5b817

View File

@ -455,7 +455,9 @@ void AudacityProject::CreateMenusAndCommands()
/* i18n-hint: (verb) Do a special kind of cut*/
c->AddItem(wxT("SplitCut"), _("Spl&it Cut"), FN(OnSplitCut), wxT("Ctrl+Alt+X"));
/* i18n-hint: (verb) Do a special kind of DELETE*/
c->AddItem(wxT("SplitDelete"), _("Split D&elete"), FN(OnSplitDelete), wxT("Ctrl+Alt+K"));
c->AddItem(wxT("SplitDelete"), _("Split D&elete"), FN(OnSplitDelete), wxT("Ctrl+Alt+K"),
AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag,
AudioIONotBusyFlag | TimeSelectedFlag | WaveTracksSelectedFlag);
c->AddSeparator();
@ -1972,25 +1974,20 @@ void AudacityProject::UpdateMenus(bool /*checkActive*/)
// been enabled, since we changed the flags. Here we manually disable them.
if (mSelectAllOnNone)
{
if (!(flags & TracksSelectedFlag))
if (!(flags & TimeSelectedFlag) | !(flags & TracksSelectedFlag))
{
mCommandManager.Enable(wxT("SplitCut"), false);
// FIXME: This Can't be right. We can only
// FIXME: get here if no tracks selected, so
// FIXME: there can't be a Wave track selected.
// wxASSERT(!(flags & WaveTracksSelectedFlag));
if (!(flags & WaveTracksSelectedFlag))
{
mCommandManager.Enable(wxT("Split"), false);
}
if (!(flags & TimeSelectedFlag))
{
mCommandManager.Enable(wxT("ExportSel"), false);
mCommandManager.Enable(wxT("SplitNew"), false);
mCommandManager.Enable(wxT("Trim"), false);
mCommandManager.Enable(wxT("SplitDelete"), false);
}
}
if (!(flags & WaveTracksSelectedFlag))
{
mCommandManager.Enable(wxT("Split"), false);
}
if (!(flags & TimeSelectedFlag) | !(flags & WaveTracksSelectedFlag))
{
mCommandManager.Enable(wxT("ExportSel"), false);
mCommandManager.Enable(wxT("SplitNew"), false);
mCommandManager.Enable(wxT("Trim"), false);
mCommandManager.Enable(wxT("SplitDelete"), false);
}
}