1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-10 00:51:13 +02:00

Macros describe popup menus' sections, not their separators

This commit is contained in:
Paul Licameli 2020-02-04 20:51:29 -05:00
parent 3517b900b1
commit 08b1be5514
9 changed files with 132 additions and 99 deletions

View File

@ -70,8 +70,9 @@ enum
};
BEGIN_POPUP_MENU(LabelTrackMenuTable)
POPUP_MENU_SEPARATOR()
POPUP_MENU_ITEM(OnSetFontID, XO("&Font..."), OnSetFont)
BEGIN_POPUP_MENU_SECTION( "Basic" )
POPUP_MENU_ITEM(OnSetFontID, XO("&Font..."), OnSetFont)
END_POPUP_MENU_SECTION()
END_POPUP_MENU()
void LabelTrackMenuTable::OnSetFont(wxCommandEvent &)

View File

@ -129,9 +129,10 @@ void NoteTrackMenuTable::OnChangeOctave(wxCommandEvent &event)
}
BEGIN_POPUP_MENU(NoteTrackMenuTable)
POPUP_MENU_SEPARATOR()
POPUP_MENU_ITEM(OnUpOctaveID, XO("Up &Octave"), OnChangeOctave)
POPUP_MENU_ITEM(OnDownOctaveID, XO("Down Octa&ve"), OnChangeOctave)
BEGIN_POPUP_MENU_SECTION( "Basic" )
POPUP_MENU_ITEM(OnUpOctaveID, XO("Up &Octave"), OnChangeOctave)
POPUP_MENU_ITEM(OnDownOctaveID, XO("Down Octa&ve"), OnChangeOctave)
END_POPUP_MENU_SECTION()
END_POPUP_MENU()
PopupMenuTable *NoteTrackControls::GetMenuExtension(Track *)

View File

@ -254,16 +254,24 @@ void NoteTrackVRulerMenuTable::OnZoom( int iZoomCode ){
BEGIN_POPUP_MENU(NoteTrackVRulerMenuTable)
POPUP_MENU_ITEM(OnZoomResetID, XO("Zoom Reset\tShift-Right-Click"), OnZoomReset)
POPUP_MENU_ITEM(OnZoomMaxID, XO("Max Zoom"), OnZoomMax)
BEGIN_POPUP_MENU_SECTION( "Zoom" )
BEGIN_POPUP_MENU_SECTION( "Basic" )
POPUP_MENU_ITEM(OnZoomResetID, XO("Zoom Reset\tShift-Right-Click"), OnZoomReset)
POPUP_MENU_ITEM(OnZoomMaxID, XO("Max Zoom"), OnZoomMax)
END_POPUP_MENU_SECTION()
POPUP_MENU_SEPARATOR()
POPUP_MENU_ITEM(OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical)
POPUP_MENU_ITEM(OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical)
BEGIN_POPUP_MENU_SECTION( "InOut" )
POPUP_MENU_ITEM(OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical)
POPUP_MENU_ITEM(OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical)
END_POPUP_MENU_SECTION()
END_POPUP_MENU_SECTION()
POPUP_MENU_SEPARATOR()
POPUP_MENU_ITEM(OnUpOctaveID, XO("Up &Octave"), OnUpOctave)
POPUP_MENU_ITEM(OnDownOctaveID, XO("Down Octa&ve"), OnDownOctave)
BEGIN_POPUP_MENU_SECTION( "Pan" )
BEGIN_POPUP_MENU_SECTION( "Octaves" )
POPUP_MENU_ITEM(OnUpOctaveID, XO("Up &Octave"), OnUpOctave)
POPUP_MENU_ITEM(OnDownOctaveID, XO("Down Octa&ve"), OnDownOctave)
END_POPUP_MENU_SECTION()
END_POPUP_MENU_SECTION()
END_POPUP_MENU()

View File

@ -277,6 +277,7 @@ void SpectrumVRulerMenuTable::InitMenu(wxMenu *pMenu)
BEGIN_POPUP_MENU(SpectrumVRulerMenuTable)
BEGIN_POPUP_MENU_SECTION( "Scales" )
{
const auto & names = SpectrogramSettings::GetScaleNames();
for (int ii = 0, nn = names.size(); ii < nn; ++ii) {
@ -284,12 +285,16 @@ BEGIN_POPUP_MENU(SpectrumVRulerMenuTable)
OnSpectrumScaleType);
}
}
END_POPUP_MENU_SECTION()
POPUP_MENU_SEPARATOR()
BEGIN_POPUP_MENU_SECTION( "Zoom" )
POPUP_MENU_ITEM(OnZoomResetID, XO("Zoom Reset"), OnZoomReset)
POPUP_MENU_ITEM(OnZoomFitVerticalID, XO("Zoom to Fit\tShift-Right-Click"), OnZoomFitVertical)
POPUP_MENU_ITEM(OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical)
POPUP_MENU_ITEM(OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical)
END_POPUP_MENU_SECTION()
END_POPUP_MENU()
void SpectrumVRulerMenuTable::OnSpectrumScaleType(wxCommandEvent &evt)

View File

@ -766,7 +766,7 @@ BEGIN_POPUP_MENU(WaveTrackMenuTable)
WaveTrack *const pTrack = static_cast<WaveTrack*>(mpTrack);
const auto &view = WaveTrackView::Get( *pTrack );
POPUP_MENU_SEPARATOR()
BEGIN_POPUP_MENU_SECTION( "SubViews" )
if ( WaveTrackSubViews::slots() > 1 )
POPUP_MENU_CHECK_ITEM(OnMultiViewID, XO("&Multi-view"), OnMultiView)
@ -781,22 +781,24 @@ BEGIN_POPUP_MENU(WaveTrackMenuTable)
}
}
POPUP_MENU_ITEM(OnSpectrogramSettingsID, XO("S&pectrogram Settings..."), OnSpectrogramSettings)
POPUP_MENU_SEPARATOR()
POPUP_MENU_ITEM(OnSpectrogramSettingsID, XO("S&pectrogram Settings..."), OnSpectrogramSettings)
END_POPUP_MENU_SECTION()
// If these are enabled again, choose a hot key for Mono that does not conflict
// with Multi View
// POPUP_MENU_RADIO_ITEM(OnChannelMonoID, XO("&Mono"), OnChannelChange)
// POPUP_MENU_RADIO_ITEM(OnChannelLeftID, XO("&Left Channel"), OnChannelChange)
// POPUP_MENU_RADIO_ITEM(OnChannelRightID, XO("R&ight Channel"), OnChannelChange)
POPUP_MENU_ITEM(OnMergeStereoID, XO("Ma&ke Stereo Track"), OnMergeStereo)
BEGIN_POPUP_MENU_SECTION( "Channels" )
// If these are enabled again, choose a hot key for Mono that does not conflict
// with Multi View
// POPUP_MENU_RADIO_ITEM(OnChannelMonoID, XO("&Mono"), OnChannelChange)
// POPUP_MENU_RADIO_ITEM(OnChannelLeftID, XO("&Left Channel"), OnChannelChange)
// POPUP_MENU_RADIO_ITEM(OnChannelRightID, XO("R&ight Channel"), OnChannelChange)
POPUP_MENU_ITEM(OnMergeStereoID, XO("Ma&ke Stereo Track"), OnMergeStereo)
POPUP_MENU_ITEM(OnSwapChannelsID, XO("Swap Stereo &Channels"), OnSwapChannels)
POPUP_MENU_ITEM(OnSplitStereoID, XO("Spl&it Stereo Track"), OnSplitStereo)
// DA: Uses split stereo track and then drag pan sliders for split-stereo-to-mono
#ifndef EXPERIMENTAL_DA
POPUP_MENU_ITEM(OnSplitStereoMonoID, XO("Split Stereo to Mo&no"), OnSplitStereoMono)
#endif
POPUP_MENU_ITEM(OnSwapChannelsID, XO("Swap Stereo &Channels"), OnSwapChannels)
POPUP_MENU_ITEM(OnSplitStereoID, XO("Spl&it Stereo Track"), OnSplitStereo)
// DA: Uses split stereo track and then drag pan sliders for split-stereo-to-mono
#ifndef EXPERIMENTAL_DA
POPUP_MENU_ITEM(OnSplitStereoMonoID, XO("Split Stereo to Mo&no"), OnSplitStereoMono)
#endif
END_POPUP_MENU_SECTION()
if ( pTrack ) {
const auto displays = view.GetDisplays();
@ -805,15 +807,19 @@ BEGIN_POPUP_MENU(WaveTrackMenuTable)
WaveTrackSubView::Type{ WaveTrackViewConstants::Waveform, {} }
) );
if( hasWaveform ){
POPUP_MENU_SEPARATOR()
POPUP_MENU_SUB_MENU(WaveColorMenuTable)
BEGIN_POPUP_MENU_SECTION( "WaveColor" )
POPUP_MENU_SUB_MENU(WaveColorMenuTable)
END_POPUP_MENU_SECTION()
}
}
POPUP_MENU_SEPARATOR()
POPUP_MENU_SUB_MENU(FormatMenuTable)
POPUP_MENU_SEPARATOR()
POPUP_MENU_SUB_MENU(RateMenuTable)
BEGIN_POPUP_MENU_SECTION( "Format" )
POPUP_MENU_SUB_MENU(FormatMenuTable)
END_POPUP_MENU_SECTION()
BEGIN_POPUP_MENU_SECTION( "Rate" )
POPUP_MENU_SUB_MENU(RateMenuTable)
END_POPUP_MENU_SECTION()
END_POPUP_MENU()

View File

@ -279,6 +279,7 @@ void WaveformVRulerMenuTable::InitMenu(wxMenu *pMenu)
BEGIN_POPUP_MENU(WaveformVRulerMenuTable)
BEGIN_POPUP_MENU_SECTION( "Scales" )
{
const auto & names = WaveformSettings::GetScaleNames();
for (int ii = 0, nn = names.size(); ii < nn; ++ii) {
@ -286,21 +287,24 @@ BEGIN_POPUP_MENU(WaveformVRulerMenuTable)
OnWaveformScaleType);
}
}
END_POPUP_MENU_SECTION()
POPUP_MENU_SEPARATOR()
BEGIN_POPUP_MENU_SECTION( "Zoom" )
BEGIN_POPUP_MENU_SECTION( "Basic" )
POPUP_MENU_ITEM(OnZoomFitVerticalID, XO("Zoom Reset\tShift-Right-Click"), OnZoomReset)
POPUP_MENU_ITEM(OnZoomDiv2ID, XO("Zoom x1/2"), OnZoomDiv2Vertical)
POPUP_MENU_ITEM(OnZoomTimes2ID, XO("Zoom x2"), OnZoomTimes2Vertical)
POPUP_MENU_ITEM(OnZoomFitVerticalID, XO("Zoom Reset\tShift-Right-Click"), OnZoomReset)
POPUP_MENU_ITEM(OnZoomDiv2ID, XO("Zoom x1/2"), OnZoomDiv2Vertical)
POPUP_MENU_ITEM(OnZoomTimes2ID, XO("Zoom x2"), OnZoomTimes2Vertical)
#ifdef EXPERIMENTAL_HALF_WAVE
POPUP_MENU_ITEM(OnZoomHalfWaveID, XO("Half Wave"), OnZoomHalfWave)
#endif
POPUP_MENU_SEPARATOR()
POPUP_MENU_ITEM(OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical)
POPUP_MENU_ITEM(OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical)
#ifdef EXPERIMENTAL_HALF_WAVE
POPUP_MENU_ITEM(OnZoomHalfWaveID, XO("Half Wave"), OnZoomHalfWave)
#endif
END_POPUP_MENU_SECTION()
BEGIN_POPUP_MENU_SECTION( "InOut" )
POPUP_MENU_ITEM(OnZoomInVerticalID, XO("Zoom In\tLeft-Click/Left-Drag"), OnZoomInVertical)
POPUP_MENU_ITEM(OnZoomOutVerticalID, XO("Zoom Out\tShift-Left-Click"), OnZoomOutVertical)
END_POPUP_MENU_SECTION()
END_POPUP_MENU_SECTION()
END_POPUP_MENU()

View File

@ -160,12 +160,15 @@ void TimeTrackMenuTable::OnTimeTrackLogInt(wxCommandEvent & /*event*/)
}
BEGIN_POPUP_MENU(TimeTrackMenuTable)
POPUP_MENU_SEPARATOR()
POPUP_MENU_RADIO_ITEM(OnTimeTrackLinID, XO("&Linear scale"), OnTimeTrackLin)
POPUP_MENU_RADIO_ITEM(OnTimeTrackLogID, XO("L&ogarithmic scale"), OnTimeTrackLog)
POPUP_MENU_SEPARATOR()
POPUP_MENU_ITEM(OnSetTimeTrackRangeID, XO("&Range..."), OnSetTimeTrackRange)
POPUP_MENU_CHECK_ITEM(OnTimeTrackLogIntID, XO("Logarithmic &Interpolation"), OnTimeTrackLogInt)
BEGIN_POPUP_MENU_SECTION( "Scales" )
POPUP_MENU_RADIO_ITEM(OnTimeTrackLinID, XO("&Linear scale"), OnTimeTrackLin)
POPUP_MENU_RADIO_ITEM(OnTimeTrackLogID, XO("L&ogarithmic scale"), OnTimeTrackLog)
END_POPUP_MENU_SECTION()
BEGIN_POPUP_MENU_SECTION( "Other" )
POPUP_MENU_ITEM(OnSetTimeTrackRangeID, XO("&Range..."), OnSetTimeTrackRange)
POPUP_MENU_CHECK_ITEM(OnTimeTrackLogIntID, XO("Logarithmic &Interpolation"), OnTimeTrackLogInt)
END_POPUP_MENU_SECTION()
END_POPUP_MENU()
PopupMenuTable *TimeTrackControls::GetMenuExtension(Track *)

View File

@ -125,51 +125,54 @@ void TrackMenuTable::InitMenu(wxMenu *pMenu)
}
BEGIN_POPUP_MENU(TrackMenuTable)
POPUP_MENU_ITEM(OnSetNameID, XO("&Name..."), OnSetName)
POPUP_MENU_SEPARATOR()
POPUP_MENU_ITEM(
// It is not correct to use NormalizedKeyString::Display here --
// wxWidgets will apply its equivalent to the key names passed to menu
// functions.
OnMoveUpID,
XO("Move Track &Up").Join(
Verbatim(
CommandManager::Get( mpData->project ).
// using GET to compose menu item name for wxWidgets
GetKeyFromName(wxT("TrackMoveUp")).GET() ),
wxT("\t")
),
OnMoveTrack)
POPUP_MENU_ITEM(
OnMoveDownID,
XO("Move Track &Down").Join(
Verbatim(
CommandManager::Get( mpData->project ).
// using GET to compose menu item name for wxWidgets
GetKeyFromName(wxT("TrackMoveDown")).GET() ),
wxT("\t")
),
OnMoveTrack)
POPUP_MENU_ITEM(
OnMoveTopID,
XO("Move Track to &Top").Join(
Verbatim(
CommandManager::Get( mpData->project ).
// using GET to compose menu item name for wxWidgets
GetKeyFromName(wxT("TrackMoveTop")).GET() ),
wxT("\t")
),
OnMoveTrack)
POPUP_MENU_ITEM(
OnMoveBottomID,
XO("Move Track to &Bottom").Join(
Verbatim(
CommandManager::Get( mpData->project ).
// using GET to compose menu item name for wxWidgets
GetKeyFromName(wxT("TrackMoveBottom")).GET() ),
wxT("\t")
),
OnMoveTrack)
BEGIN_POPUP_MENU_SECTION( "Basic" )
POPUP_MENU_ITEM(OnSetNameID, XO("&Name..."), OnSetName)
END_POPUP_MENU_SECTION()
BEGIN_POPUP_MENU_SECTION( "Move" )
POPUP_MENU_ITEM(
// It is not correct to use NormalizedKeyString::Display here --
// wxWidgets will apply its equivalent to the key names passed to menu
// functions.
OnMoveUpID,
XO("Move Track &Up").Join(
Verbatim(
CommandManager::Get( mpData->project ).
// using GET to compose menu item name for wxWidgets
GetKeyFromName(wxT("TrackMoveUp")).GET() ),
wxT("\t")
),
OnMoveTrack)
POPUP_MENU_ITEM(
OnMoveDownID,
XO("Move Track &Down").Join(
Verbatim(
CommandManager::Get( mpData->project ).
// using GET to compose menu item name for wxWidgets
GetKeyFromName(wxT("TrackMoveDown")).GET() ),
wxT("\t")
),
OnMoveTrack)
POPUP_MENU_ITEM(
OnMoveTopID,
XO("Move Track to &Top").Join(
Verbatim(
CommandManager::Get( mpData->project ).
// using GET to compose menu item name for wxWidgets
GetKeyFromName(wxT("TrackMoveTop")).GET() ),
wxT("\t")
),
OnMoveTrack)
POPUP_MENU_ITEM(
OnMoveBottomID,
XO("Move Track to &Bottom").Join(
Verbatim(
CommandManager::Get( mpData->project ).
// using GET to compose menu item name for wxWidgets
GetKeyFromName(wxT("TrackMoveBottom")).GET() ),
wxT("\t")
),
OnMoveTrack)
END_POPUP_MENU_SECTION()
END_POPUP_MENU()

View File

@ -197,10 +197,12 @@ void HandlerClass::Populate() { \
POPUP_MENU_APPEND( \
Entry::SubMenu, -1, classname::Instance().Caption(), nullptr, &classname::Instance() );
#define POPUP_MENU_SEPARATOR() \
#define BEGIN_POPUP_MENU_SECTION( name ) \
POPUP_MENU_APPEND( \
Entry::Separator, -1, {}, nullptr, nullptr );
#define END_POPUP_MENU_SECTION()
// ends function
#define END_POPUP_MENU() \
POPUP_MENU_APPEND( \