1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-19 17:40:15 +02:00

Move "Help Menu" after "Extra Menu".

This commit is contained in:
James Crook 2018-07-05 19:34:16 +01:00
parent 29ec921c8b
commit d057dfb5d8
3 changed files with 83 additions and 57 deletions

View File

@ -1273,63 +1273,6 @@ void AudacityProject::CreateMenusAndCommands()
}
#endif
/////////////////////////////////////////////////////////////////////////////
// Help Menu
/////////////////////////////////////////////////////////////////////////////
#ifdef __WXMAC__
wxGetApp().s_macHelpMenuTitleName = _("&Help");
#endif
c->BeginMenu(_("&Help"));
c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
// DA: Emphasise it is the Audacity Manual (No separate DA manual).
#ifdef EXPERIMENTAL_DA
// 'Getting Started' rather than 'Quick Help' for DarkAudacity.
// At the moment the video tutorials are aspirational (aka do not exist yet).
// Emphasise that manual is for Audacity, not DarkAudacity.
c->AddItem(wxT("QuickHelp"), XXO("&Getting Started"), FN(OnQuickHelp));
c->AddItem(wxT("Manual"), XXO("Audacity &Manual"), FN(OnManual));
#else
c->AddItem(wxT("QuickHelp"), XXO("&Quick Help..."), FN(OnQuickHelp));
c->AddItem(wxT("Manual"), XXO("&Manual..."), FN(OnManual));
#endif
c->AddSeparator();
c->BeginSubMenu(_("&Diagnostics"));
c->AddItem(wxT("DeviceInfo"), XXO("Au&dio Device Info..."), FN(OnAudioDeviceInfo),
AudioIONotBusyFlag,
AudioIONotBusyFlag);
#ifdef EXPERIMENTAL_MIDI_OUT
c->AddItem(wxT("MidiDeviceInfo"), XXO("&MIDI Device Info..."), FN(OnMidiDeviceInfo),
AudioIONotBusyFlag,
AudioIONotBusyFlag);
#endif
c->AddItem(wxT("Log"), XXO("Show &Log..."), FN(OnShowLog));
#if defined(EXPERIMENTAL_CRASH_REPORT)
c->AddItem(wxT("CrashReport"), XXO("&Generate Support Data..."), FN(OnCrashReport));
#endif
c->AddItem(wxT("CheckDeps"), XXO("Chec&k Dependencies..."), FN(OnCheckDependencies),
AudioIONotBusyFlag, AudioIONotBusyFlag);
c->EndSubMenu();
#ifndef __WXMAC__
c->AddSeparator();
#endif
// DA: Does not fully support update checking.
#ifndef EXPERIMENTAL_DA
c->AddItem(wxT("Updates"), XXO("&Check for Updates..."), FN(OnCheckForUpdates));
#endif
c->AddItem(wxT("About"), XXO("&About Audacity..."), FN(OnAbout));
c->EndMenu();
/////////////////////////////////////////////////////////////////////////////
c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
@ -1715,6 +1658,74 @@ void AudacityProject::CreateMenusAndCommands()
c->EndMenu();
if (!bShowExtraMenus)
{
c->SwapMenuBars();
c->SetOccultCommands(false);
}
/////////////////////////////////////////////////////////////////////////////
// Help Menu
/////////////////////////////////////////////////////////////////////////////
#ifdef __WXMAC__
wxGetApp().s_macHelpMenuTitleName = _("&Help");
#endif
c->BeginMenu(_("&Help"));
c->SetDefaultFlags(AlwaysEnabledFlag, AlwaysEnabledFlag);
// DA: Emphasise it is the Audacity Manual (No separate DA manual).
#ifdef EXPERIMENTAL_DA
// 'Getting Started' rather than 'Quick Help' for DarkAudacity.
// At the moment the video tutorials are aspirational (aka do not exist yet).
// Emphasise that manual is for Audacity, not DarkAudacity.
c->AddItem(wxT("QuickHelp"), XXO("&Getting Started"), FN(OnQuickHelp));
c->AddItem(wxT("Manual"), XXO("Audacity &Manual"), FN(OnManual));
#else
c->AddItem(wxT("QuickHelp"), XXO("&Quick Help..."), FN(OnQuickHelp));
c->AddItem(wxT("Manual"), XXO("&Manual..."), FN(OnManual));
#endif
c->AddSeparator();
c->BeginSubMenu(_("&Diagnostics"));
c->AddItem(wxT("DeviceInfo"), XXO("Au&dio Device Info..."), FN(OnAudioDeviceInfo),
AudioIONotBusyFlag,
AudioIONotBusyFlag);
#ifdef EXPERIMENTAL_MIDI_OUT
c->AddItem(wxT("MidiDeviceInfo"), XXO("&MIDI Device Info..."), FN(OnMidiDeviceInfo),
AudioIONotBusyFlag,
AudioIONotBusyFlag);
#endif
c->AddItem(wxT("Log"), XXO("Show &Log..."), FN(OnShowLog));
#if defined(EXPERIMENTAL_CRASH_REPORT)
c->AddItem(wxT("CrashReport"), XXO("&Generate Support Data..."), FN(OnCrashReport));
#endif
c->AddItem(wxT("CheckDeps"), XXO("Chec&k Dependencies..."), FN(OnCheckDependencies),
AudioIONotBusyFlag, AudioIONotBusyFlag);
c->EndSubMenu();
#ifndef __WXMAC__
c->AddSeparator();
#endif
// DA: Does not fully support update checking.
#ifndef EXPERIMENTAL_DA
c->AddItem(wxT("Updates"), XXO("&Check for Updates..."), FN(OnCheckForUpdates));
#endif
c->AddItem(wxT("About"), XXO("&About Audacity..."), FN(OnAbout));
c->EndMenu();
/////////////////////////////////////////////////////////////////////////////
SetMenuBar(menubar.release());
// Bug 143 workaround.
// The bug is in wxWidgets. For a menu that has scrollers, the

View File

@ -598,6 +598,20 @@ wxMenuBar * CommandManager::CurrentMenuBar() const
return mMenuBarList.back().menubar;
}
///
/// Swap the last two menu bars in the list,
/// to make the previous menu bar 'current' again.
/// Typically used to switch back and forth
/// between adding to a hidden menu bar and
/// adding to one that is visible,
///
void CommandManager::SwapMenuBars()
{
int l = mMenuBarList.size();
wxASSERT(l >= 2);
std::swap(mMenuBarList[l - 2], mMenuBarList[l - 1]);
}
///
/// This starts a NEW menu

View File

@ -234,6 +234,7 @@ class AUDACITY_DLL_API CommandManager final : public XMLTagHandler
CommandFlag GetDefaultFlags() const { return mDefaultFlags; }
CommandMask GetDefaultMask() const { return mDefaultMask; }
void SwapMenuBars();
void SetOccultCommands( bool bOccult);
CommandManager * SetLongName( const wxString & name ){
mLongNameForItem = name;