1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-21 06:01:13 +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

@@ -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);
//