mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-21 14:02:57 +02:00
Add long names for some commands in menu.
This commit is contained in:
@@ -428,6 +428,7 @@ CommandManager::CommandManager():
|
||||
bMakingOccultCommands( false )
|
||||
{
|
||||
mbSeparatorAllowed = false;
|
||||
mLongNameForItem = "";
|
||||
SetMaxList();
|
||||
}
|
||||
|
||||
@@ -833,8 +834,13 @@ void CommandManager::AddItem(const wxChar *name,
|
||||
else
|
||||
cookedParameter = parameter;
|
||||
CommandListEntry *entry =
|
||||
NewIdentifier(name, label_in, hasDialog, accel, CurrentMenu(), finder, callback,
|
||||
{}, 0, 0, bIsEffect, cookedParameter);
|
||||
NewIdentifier(name,
|
||||
label_in,
|
||||
mLongNameForItem,
|
||||
hasDialog,
|
||||
accel, CurrentMenu(), finder, callback,
|
||||
{}, 0, 0, bIsEffect, cookedParameter);
|
||||
mLongNameForItem = "";
|
||||
int ID = entry->id;
|
||||
wxString label = GetLabelWithDisabledAccel(entry);
|
||||
|
||||
@@ -869,6 +875,7 @@ void CommandManager::AddItemList(const wxString & name,
|
||||
{
|
||||
for (size_t i = 0, cnt = nItems; i < cnt; i++) {
|
||||
CommandListEntry *entry = NewIdentifier(name,
|
||||
items[i].Translated(),
|
||||
items[i].Translated(),
|
||||
// No means yet to specify !
|
||||
false,
|
||||
@@ -905,7 +912,7 @@ void CommandManager::AddCommand(const wxChar *name,
|
||||
CommandFlag flags,
|
||||
CommandMask mask)
|
||||
{
|
||||
NewIdentifier(name, label_in, false, accel, NULL, finder, callback, {}, 0, 0, false, {});
|
||||
NewIdentifier(name, label_in, label_in, false, accel, NULL, finder, callback, {}, 0, 0, false, {});
|
||||
|
||||
if (flags != NoFlagsSpecifed || mask != NoFlagsSpecifed) {
|
||||
SetCommandFlags(name, flags, mask);
|
||||
@@ -920,7 +927,7 @@ void CommandManager::AddGlobalCommand(const wxChar *name,
|
||||
const wxChar *accel)
|
||||
{
|
||||
CommandListEntry *entry =
|
||||
NewIdentifier(name, label_in, hasDialog, accel, NULL, finder, callback,
|
||||
NewIdentifier(name, label_in, label_in, hasDialog, accel, NULL, finder, callback,
|
||||
{}, 0, 0, false, {});
|
||||
|
||||
entry->enabled = false;
|
||||
@@ -954,6 +961,7 @@ int CommandManager::NextIdentifier(int ID)
|
||||
///and keep menus above wxID_HIGHEST
|
||||
CommandListEntry *CommandManager::NewIdentifier(const wxString & name,
|
||||
const wxString & label,
|
||||
const wxString & longLabel,
|
||||
bool hasDialog,
|
||||
wxMenu *menu,
|
||||
CommandHandlerFinder finder,
|
||||
@@ -965,6 +973,7 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & name,
|
||||
{
|
||||
return NewIdentifier(name,
|
||||
label.BeforeFirst(wxT('\t')),
|
||||
longLabel.BeforeFirst(wxT('\t')),
|
||||
hasDialog,
|
||||
label.AfterFirst(wxT('\t')),
|
||||
menu,
|
||||
@@ -979,6 +988,7 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & name,
|
||||
|
||||
CommandListEntry *CommandManager::NewIdentifier(const wxString & nameIn,
|
||||
const wxString & label,
|
||||
const wxString & longLabel,
|
||||
bool hasDialog,
|
||||
const wxString & accel,
|
||||
wxMenu *menu,
|
||||
@@ -1046,6 +1056,7 @@ CommandListEntry *CommandManager::NewIdentifier(const wxString & nameIn,
|
||||
|
||||
entry->name = name;
|
||||
entry->label = label;
|
||||
entry->longLabel = longLabel.IsEmpty() ? label : longLabel;
|
||||
entry->hasDialog = hasDialog;
|
||||
entry->key = NormalizedKeyString{ accel.BeforeFirst(wxT('\t')) };
|
||||
entry->defaultKey = entry->key;
|
||||
@@ -1691,9 +1702,9 @@ void CommandManager::GetAllCommandLabels(wxArrayString &names,
|
||||
if ( entry->isEffect )
|
||||
continue;
|
||||
if (!entry->multi)
|
||||
names.Add(entry->label), vHasDialog.push_back(entry->hasDialog);
|
||||
names.Add(entry->longLabel), vHasDialog.push_back(entry->hasDialog);
|
||||
else if( includeMultis )
|
||||
names.Add(entry->label), vHasDialog.push_back(entry->hasDialog);
|
||||
names.Add(entry->longLabel), vHasDialog.push_back(entry->hasDialog);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1752,7 +1763,7 @@ wxString CommandManager::GetLabelFromName(const wxString &name)
|
||||
if (!entry)
|
||||
return wxT("");
|
||||
|
||||
return entry->label;
|
||||
return entry->longLabel;
|
||||
}
|
||||
|
||||
wxString CommandManager::GetPrefixedLabelFromName(const wxString &name)
|
||||
|
@@ -65,6 +65,7 @@ struct CommandListEntry
|
||||
{
|
||||
int id;
|
||||
wxString name;
|
||||
wxString longLabel;
|
||||
NormalizedKeyString key;
|
||||
NormalizedKeyString defaultKey;
|
||||
wxString label;
|
||||
@@ -244,6 +245,10 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
|
||||
CommandMask GetDefaultMask() const { return mDefaultMask; }
|
||||
|
||||
void SetOccultCommands( bool bOccult);
|
||||
CommandManager * SetLongName( const wxString & name ){
|
||||
mLongNameForItem = name;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
||||
void SetCommandFlags(const wxString &name, CommandFlag flags, CommandMask mask);
|
||||
@@ -343,6 +348,7 @@ protected:
|
||||
int NextIdentifier(int ID);
|
||||
CommandListEntry *NewIdentifier(const wxString & name,
|
||||
const wxString & label,
|
||||
const wxString & longLabel,
|
||||
bool hasDialog,
|
||||
wxMenu *menu,
|
||||
CommandHandlerFinder finder,
|
||||
@@ -353,6 +359,7 @@ protected:
|
||||
bool bIsEffect);
|
||||
CommandListEntry *NewIdentifier(const wxString & name,
|
||||
const wxString & label,
|
||||
const wxString & longLabel,
|
||||
bool hasDialog,
|
||||
const wxString & accel,
|
||||
wxMenu *menu,
|
||||
@@ -415,6 +422,8 @@ private:
|
||||
std::unique_ptr<wxMenu> uCurrentMenu;
|
||||
wxMenu *mCurrentMenu {};
|
||||
|
||||
wxString mLongNameForItem;
|
||||
|
||||
CommandFlag mDefaultFlags;
|
||||
CommandMask mDefaultMask;
|
||||
bool bMakingOccultCommands;
|
||||
|
Reference in New Issue
Block a user