mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-21 08:27:13 +01:00
Simplify the FN macros in src/menus/*.cpp...
... Eliminate repetitious passing of the finder function into each of the calls to Command and CommandGroup.
This commit is contained in:
@@ -1274,16 +1274,16 @@ static CommandHandlerObject &findCommandHandler(AudacityProject &) {
|
||||
|
||||
// Menu definitions
|
||||
|
||||
#define FN(X) findCommandHandler, \
|
||||
static_cast<CommandFunctorPointer>(& TrackActions::Handler :: X)
|
||||
#define FN(X) (& TrackActions::Handler :: X)
|
||||
|
||||
MenuTable::BaseItemPtr TracksMenu( AudacityProject & )
|
||||
{
|
||||
// Tracks Menu (formerly Project Menu)
|
||||
using namespace MenuTable;
|
||||
using Options = CommandManager::Options;
|
||||
|
||||
return Menu( XO("&Tracks"),
|
||||
|
||||
return FinderScope( findCommandHandler ).Eval(
|
||||
Menu( XO("&Tracks"),
|
||||
Menu( XO("Add &New"),
|
||||
Command( wxT("NewMonoTrack"), XXO("&Mono Track"), FN(OnNewWaveTrack),
|
||||
AudioIONotBusyFlag, wxT("Ctrl+Shift+N") ),
|
||||
@@ -1300,6 +1300,7 @@ MenuTable::BaseItemPtr TracksMenu( AudacityProject & )
|
||||
Separator(),
|
||||
|
||||
Menu( XO("Mi&x"),
|
||||
// Delayed evaluation
|
||||
// Stereo to Mono is an oddball command that is also subject to control
|
||||
// by the plug-in manager, as if an effect. Decide whether to show or
|
||||
// hide it.
|
||||
@@ -1311,7 +1312,7 @@ MenuTable::BaseItemPtr TracksMenu( AudacityProject & )
|
||||
return Command( wxT("Stereo to Mono"),
|
||||
XXO("Mix Stereo Down to &Mono"), FN(OnStereoToMono),
|
||||
AudioIONotBusyFlag | StereoRequiredFlag |
|
||||
WaveTracksSelectedFlag );
|
||||
WaveTracksSelectedFlag, Options{}, findCommandHandler );
|
||||
else
|
||||
return {};
|
||||
},
|
||||
@@ -1427,14 +1428,15 @@ MenuTable::BaseItemPtr TracksMenu( AudacityProject & )
|
||||
Options{}.CheckState( gPrefs->Read(wxT("/GUI/SyncLockTracks"), 0L) ) )
|
||||
|
||||
#endif
|
||||
);
|
||||
) );
|
||||
}
|
||||
|
||||
MenuTable::BaseItemPtr ExtraTrackMenu( AudacityProject & )
|
||||
{
|
||||
using namespace MenuTable;
|
||||
|
||||
return Menu( XO("&Track"),
|
||||
return FinderScope( findCommandHandler ).Eval(
|
||||
Menu( XO("&Track"),
|
||||
Command( wxT("TrackPan"), XXO("Change P&an on Focused Track..."),
|
||||
FN(OnTrackPan),
|
||||
TrackPanelHasFocus | TracksExistFlag, wxT("Shift+P") ),
|
||||
@@ -1478,7 +1480,7 @@ MenuTable::BaseItemPtr ExtraTrackMenu( AudacityProject & )
|
||||
Command( wxT("TrackMoveBottom"), XXO("Move Focused Track to &Bottom"),
|
||||
FN(OnTrackMoveBottom),
|
||||
AudioIONotBusyFlag | TrackPanelHasFocus | TracksExistFlag )
|
||||
);
|
||||
) );
|
||||
}
|
||||
|
||||
#undef FN
|
||||
|
||||
Reference in New Issue
Block a user