1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-10-21 14:02:57 +02:00

Now use that extra information

This commit is contained in:
Paul Licameli
2018-03-15 23:18:04 -04:00
parent bb7b77cde0
commit b75e356df6
3 changed files with 13 additions and 6 deletions

View File

@@ -979,7 +979,7 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & name,
CommandListEntry *CommandManager::NewIdentifier(const wxString & nameIn,
const wxString & label,
bool WXUNUSED(hasDialog),
bool hasDialog,
const wxString & accel,
wxMenu *menu,
CommandHandlerFinder finder,
@@ -1046,6 +1046,7 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & nameIn,
entry->name = name;
entry->label = label;
entry->hasDialog = hasDialog;
entry->key = NormalizedKeyString{ accel.BeforeFirst(wxT('\t')) };
entry->defaultKey = entry->key;
entry->labelPrefix = labelPrefix;
@@ -1678,8 +1679,10 @@ void CommandManager::GetAllCommandNames(wxArrayString &names,
}
void CommandManager::GetAllCommandLabels(wxArrayString &names,
std::vector<bool> &vHasDialog,
bool includeMultis) const
{
vHasDialog.clear();
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
@@ -1688,9 +1691,9 @@ void CommandManager::GetAllCommandLabels(wxArrayString &names,
if ( entry->isEffect )
continue;
if (!entry->multi)
names.Add(entry->label);
names.Add(entry->label), vHasDialog.push_back(entry->hasDialog);
else if( includeMultis )
names.Add(entry->label);
names.Add(entry->label), vHasDialog.push_back(entry->hasDialog);
}
}

View File

@@ -83,6 +83,7 @@ struct CommandListEntry
bool isGlobal;
bool isOccult;
bool isEffect;
bool hasDialog;
CommandFlag flags;
CommandMask mask;
};
@@ -288,7 +289,9 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
void GetCategories(wxArrayString &cats);
void GetAllCommandNames(wxArrayString &names, bool includeMultis) const;
void GetAllCommandLabels(wxArrayString &labels, bool includeMultis) const;
void GetAllCommandLabels(
wxArrayString &labels, std::vector<bool> &vHasDialog,
bool includeMultis) const;
void GetAllCommandData(
wxArrayString &names,
std::vector<NormalizedKeyString> &keys,