1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-07-30 15:39:27 +02:00

Remove unwanted items from 'Select Command' in chains.

- Remove menu-version of effects.  They are already there because of EffectsManager.
-- This gets rid of all the entries with long paths in them.
- Mark more menu items as prompting, using '...', and so not suitable for chains.
This commit is contained in:
James Crook 2018-03-01 14:05:57 +00:00
parent 1ef4d73629
commit f01fed2ba2
3 changed files with 50 additions and 25 deletions

View File

@ -1230,8 +1230,8 @@ void AudacityProject::CreateMenusAndCommands()
c->AddItem(wxT("QuickHelp"), _("&Getting Started"), FN(OnQuickHelp));
c->AddItem(wxT("Manual"), wxT("Audacity &Manual"), FN(OnManual));
#else
c->AddItem(wxT("QuickHelp"), _("&Quick Help"), FN(OnQuickHelp));
c->AddItem(wxT("Manual"), _("&Manual"), FN(OnManual));
c->AddItem(wxT("QuickHelp"), _("&Quick Help..."), FN(OnQuickHelp));
c->AddItem(wxT("Manual"), _("&Manual..."), FN(OnManual));
#endif
@ -1371,10 +1371,10 @@ void AudacityProject::CreateMenusAndCommands()
c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
c->BeginSubMenu(_("Mi&xer"));
c->AddItem(wxT("OutputGain"), _("Ad&just Playback Volume"), FN(OnOutputGain));
c->AddItem(wxT("OutputGain"), _("Ad&just Playback Volume..."), FN(OnOutputGain));
c->AddItem(wxT("OutputGainInc"), _("&Increase Playback Volume"), FN(OnOutputGainInc));
c->AddItem(wxT("OutputGainDec"), _("&Decrease Playback Volume"), FN(OnOutputGainDec));
c->AddItem(wxT("InputGain"), _("Adj&ust Recording Volume"), FN(OnInputGain));
c->AddItem(wxT("InputGain"), _("Adj&ust Recording Volume..."), FN(OnInputGain));
c->AddItem(wxT("InputGainInc"), _("I&ncrease Recording Volume"), FN(OnInputGainInc));
c->AddItem(wxT("InputGainDec"), _("D&ecrease Recording Volume"), FN(OnInputGainDec));
c->EndSubMenu();
@ -1401,7 +1401,7 @@ void AudacityProject::CreateMenusAndCommands()
c->AddItem(wxT("PlayAtSpeed"), _("Pl&ay-at-Speed"), FN(OnPlayAtSpeed));
c->AddItem(wxT("PlayAtSpeedLooped"), _("&Loop Play-at-Speed"), FN(OnPlayAtSpeedLooped));
c->AddItem(wxT("PlayAtSpeedCutPreview"), _("Play C&ut Preview-at-Speed"), FN(OnPlayAtSpeedCutPreview));
c->AddItem(wxT("SetPlaySpeed"), _("Ad&just Playback Speed"), FN(OnSetPlaySpeed));
c->AddItem(wxT("SetPlaySpeed"), _("Ad&just Playback Speed..."), FN(OnSetPlaySpeed));
c->AddItem(wxT("PlaySpeedInc"), _("&Increase Playback Speed"), FN(OnPlaySpeedInc));
c->AddItem(wxT("PlaySpeedDec"), _("&Decrease Playback Speed"), FN(OnPlaySpeedDec));
@ -1429,16 +1429,16 @@ void AudacityProject::CreateMenusAndCommands()
c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
c->BeginSubMenu(_("De&vice"));
c->AddItem(wxT("InputDevice"), _("Change &Recording Device"), FN(OnInputDevice), wxT("Shift+I"),
c->AddItem(wxT("InputDevice"), _("Change &Recording Device..."), FN(OnInputDevice), wxT("Shift+I"),
AudioIONotBusyFlag,
AudioIONotBusyFlag);
c->AddItem(wxT("OutputDevice"), _("Change &Playback Device"), FN(OnOutputDevice), wxT("Shift+O"),
c->AddItem(wxT("OutputDevice"), _("Change &Playback Device..."), FN(OnOutputDevice), wxT("Shift+O"),
AudioIONotBusyFlag,
AudioIONotBusyFlag);
c->AddItem(wxT("AudioHost"), _("Change Audio &Host"), FN(OnAudioHost), wxT("Shift+H"),
c->AddItem(wxT("AudioHost"), _("Change Audio &Host..."), FN(OnAudioHost), wxT("Shift+H"),
AudioIONotBusyFlag,
AudioIONotBusyFlag);
c->AddItem(wxT("InputChannels"), _("Change Recording Cha&nnels"), FN(OnInputChannels), wxT("Shift+N"),
c->AddItem(wxT("InputChannels"), _("Change Recording Cha&nnels..."), FN(OnInputChannels), wxT("Shift+N"),
AudioIONotBusyFlag,
AudioIONotBusyFlag);
c->EndSubMenu();
@ -1543,7 +1543,7 @@ void AudacityProject::CreateMenusAndCommands()
c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
c->BeginSubMenu(_("&Track"));
c->AddItem(wxT("TrackPan"), _("Change P&an on Focused Track"), FN(OnTrackPan), wxT("Shift+P"),
c->AddItem(wxT("TrackPan"), _("Change P&an on Focused Track..."), FN(OnTrackPan), wxT("Shift+P"),
TrackPanelHasFocus | TracksExistFlag,
TrackPanelHasFocus | TracksExistFlag);
c->AddItem(wxT("TrackPanLeft"), _("Pan &Left on Focused Track"), FN(OnTrackPanLeft), wxT("Alt+Shift+Left"),
@ -1552,7 +1552,7 @@ void AudacityProject::CreateMenusAndCommands()
c->AddItem(wxT("TrackPanRight"), _("Pan &Right on Focused Track"), FN(OnTrackPanRight), wxT("Alt+Shift+Right"),
TrackPanelHasFocus | TracksExistFlag,
TrackPanelHasFocus | TracksExistFlag);
c->AddItem(wxT("TrackGain"), _("Change Gai&n on Focused Track"), FN(OnTrackGain), wxT("Shift+G"),
c->AddItem(wxT("TrackGain"), _("Change Gai&n on Focused Track..."), FN(OnTrackGain), wxT("Shift+G"),
TrackPanelHasFocus | TracksExistFlag,
TrackPanelHasFocus | TracksExistFlag);
c->AddItem(wxT("TrackGainInc"), _("&Increase Gain on Focused Track"), FN(OnTrackGainInc), wxT("Alt+Shift+Up"),
@ -1561,7 +1561,7 @@ void AudacityProject::CreateMenusAndCommands()
c->AddItem(wxT("TrackGainDec"), _("&Decrease Gain on Focused Track"), FN(OnTrackGainDec), wxT("Alt+Shift+Down"),
TrackPanelHasFocus | TracksExistFlag,
TrackPanelHasFocus | TracksExistFlag);
c->AddItem(wxT("TrackMenu"), _("Op&en Menu on Focused Track"), FN(OnTrackMenu), wxT("Shift+M\tskipKeydown"),
c->AddItem(wxT("TrackMenu"), _("Op&en Menu on Focused Track..."), FN(OnTrackMenu), wxT("Shift+M\tskipKeydown"),
TracksExistFlag | TrackPanelHasFocus,
TracksExistFlag | TrackPanelHasFocus);
c->AddItem(wxT("TrackMute"), _("M&ute/Unmute Focused Track"), FN(OnTrackMute), wxT("Shift+U"),
@ -1945,7 +1945,7 @@ void AudacityProject::AddEffectMenuItemGroup(CommandManager *c,
item,
FN(OnEffect),
flags[i],
flags[i], plugs[i]);
flags[i], true, plugs[i]);
i++;
}
@ -1960,7 +1960,7 @@ void AudacityProject::AddEffectMenuItemGroup(CommandManager *c,
names[i],
FN(OnEffect),
flags[i],
flags[i], plugs[i]);
flags[i], true, plugs[i]);
}
if (max > 0)

View File

@ -760,7 +760,7 @@ void CommandManager::InsertItem(const wxString & name,
}
}
CommandListEntry *entry = NewIdentifier(name, label_in, menu, finder, callback, false, 0, 0);
CommandListEntry *entry = NewIdentifier(name, label_in, menu, finder, callback, false, 0, 0, false);
int ID = entry->id;
wxString label = GetLabel(entry);
@ -804,9 +804,10 @@ void CommandManager::AddItem(const wxChar *name,
CommandFunctorPointer callback,
CommandFlag flags,
CommandMask mask,
bool bIsEffect,
const CommandParameter &parameter)
{
AddItem(name, label, finder, callback, wxT(""), flags, mask, -1, parameter);
AddItem(name, label, finder, callback, wxT(""), flags, mask, -1, bIsEffect, parameter);
}
void CommandManager::AddItem(const wxChar *name,
@ -817,6 +818,7 @@ void CommandManager::AddItem(const wxChar *name,
CommandFlag flags,
CommandMask mask,
int checkmark,
bool bIsEffect,
const CommandParameter &parameter)
{
wxString cookedParameter;
@ -826,7 +828,7 @@ void CommandManager::AddItem(const wxChar *name,
cookedParameter = parameter;
CommandListEntry *entry =
NewIdentifier(name, label_in, accel, CurrentMenu(), finder, callback,
false, 0, 0, cookedParameter);
false, 0, 0, bIsEffect, cookedParameter);
int ID = entry->id;
wxString label = GetLabelWithDisabledAccel(entry);
@ -855,7 +857,8 @@ void CommandManager::AddItem(const wxChar *name,
void CommandManager::AddItemList(const wxString & name,
const wxArrayString & labels,
CommandHandlerFinder finder,
CommandFunctorPointer callback)
CommandFunctorPointer callback,
bool bIsEffect)
{
for (size_t i = 0, cnt = labels.GetCount(); i < cnt; i++) {
CommandListEntry *entry = NewIdentifier(name,
@ -865,7 +868,8 @@ void CommandManager::AddItemList(const wxString & name,
callback,
true,
i,
cnt);
cnt,
bIsEffect);
CurrentMenu()->Append(entry->id, GetLabel(entry));
mbSeparatorAllowed = true;
}
@ -892,7 +896,7 @@ void CommandManager::AddCommand(const wxChar *name,
CommandFlag flags,
CommandMask mask)
{
NewIdentifier(name, label_in, accel, NULL, finder, callback, false, 0, 0, {});
NewIdentifier(name, label_in, accel, NULL, finder, callback, false, 0, 0, false, {});
if (flags != NoFlagsSpecifed || mask != NoFlagsSpecifed) {
SetCommandFlags(name, flags, mask);
@ -907,7 +911,7 @@ void CommandManager::AddGlobalCommand(const wxChar *name,
{
CommandListEntry *entry =
NewIdentifier(name, label_in, accel, NULL, finder, callback,
false, 0, 0, {});
false, 0, 0, false, {});
entry->enabled = false;
entry->isGlobal = true;
@ -945,7 +949,8 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & name,
CommandFunctorPointer callback,
bool multi,
int index,
int count)
int count,
bool bIsEffect)
{
return NewIdentifier(name,
label.BeforeFirst(wxT('\t')),
@ -955,7 +960,9 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & name,
callback,
multi,
index,
count, {});
count,
bIsEffect,
{});
}
CommandListEntry *CommandManager::NewIdentifier(const wxString & nameIn,
@ -967,6 +974,7 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & nameIn,
bool multi,
int index,
int count,
bool bIsEffect,
const CommandParameter &parameter)
{
wxString name = nameIn;
@ -1031,6 +1039,7 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & nameIn,
entry->menu = menu;
entry->finder = finder;
entry->callback = callback;
entry->isEffect = bIsEffect;
entry->multi = multi;
entry->index = index;
entry->count = count;
@ -1644,6 +1653,8 @@ void CommandManager::GetAllCommandNames(wxArrayString &names,
bool includeMultis)
{
for(const auto &entry : mCommandList) {
if ( entry->isEffect )
continue;
if (!entry->multi)
names.Add(entry->name);
else if( includeMultis )
@ -1655,6 +1666,12 @@ void CommandManager::GetAllCommandLabels(wxArrayString &names,
bool includeMultis)
{
for(const auto &entry : mCommandList) {
// This is fetching commands from the menus, for use as batch commands.
// Until we have properly merged EffectManager and CommandManager
// we explicitly exclude effects, as they are already handled by the
// effects Manager.
if ( entry->isEffect )
continue;
if (!entry->multi)
names.Add(entry->label);
else if( includeMultis )
@ -1674,6 +1691,8 @@ void CommandManager::GetAllCommandData(
bool includeMultis)
{
for(const auto &entry : mCommandList) {
if ( entry->isEffect )
continue;
if (!entry->multi)
{
names.Add(entry->name);

View File

@ -81,6 +81,7 @@ struct CommandListEntry
bool wantKeyup;
bool isGlobal;
bool isOccult;
bool isEffect;
CommandFlag flags;
CommandMask mask;
};
@ -162,7 +163,8 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
void AddItemList(const wxString & name,
const wxArrayString & labels,
CommandHandlerFinder finder,
CommandFunctorPointer callback);
CommandFunctorPointer callback,
bool bIsEffect = false);
void AddCheck(const wxChar *name,
const wxChar *label,
@ -184,6 +186,7 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
CommandFunctorPointer callback,
CommandFlag flags = NoFlagsSpecifed,
CommandMask mask = NoFlagsSpecifed,
bool bIsEffect = false,
const CommandParameter &parameter = CommandParameter{});
void AddItem(const wxChar *name,
@ -194,6 +197,7 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
CommandFlag flags = NoFlagsSpecifed,
CommandMask mask = NoFlagsSpecifed,
int checkmark = -1,
bool bIsEffect = false,
const CommandParameter &parameter = CommandParameter{});
void AddSeparator();
@ -335,7 +339,8 @@ protected:
CommandFunctorPointer callback,
bool multi,
int index,
int count);
int count,
bool bIsEffect);
CommandListEntry *NewIdentifier(const wxString & name,
const wxString & label,
const wxString & accel,
@ -345,6 +350,7 @@ protected:
bool multi,
int index,
int count,
bool bIsEffect,
const CommandParameter &parameter);
//