1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-21 08:27:13 +01:00

Delay evaluation of checkmark states...

... so that more menu item descriptions can be statically constructed once only
This commit is contained in:
Paul Licameli
2019-01-09 14:14:40 -05:00
parent 512c27d422
commit 93c2bb9322
11 changed files with 57 additions and 24 deletions

View File

@@ -842,7 +842,6 @@ MenuTable::BaseItemPtr ToolsMenu( AudacityProject & )
{
using namespace MenuTable;
using Options = CommandManager::Options;
auto gAudioIO = AudioIO::Get();
return FinderScope( findCommandHandler ).Eval(
Menu( XO("T&ools"),
@@ -899,12 +898,16 @@ MenuTable::BaseItemPtr ToolsMenu( AudacityProject & )
XXO("Simulate Recording Errors"),
FN(OnSimulateRecordingErrors),
AudioIONotBusyFlag,
Options{}.CheckState( gAudioIO->mSimulateRecordingErrors ) ),
Options{}.CheckTest(
[](AudacityProject&){
return AudioIO::Get()->mSimulateRecordingErrors; } ) ),
Command( wxT("DetectUpstreamDropouts"),
XXO("Detect Upstream Dropouts"),
FN(OnDetectUpstreamDropouts),
AudioIONotBusyFlag,
Options{}.CheckState( gAudioIO->mDetectUpstreamDropouts ) )
Options{}.CheckTest(
[](AudacityProject&){
return AudioIO::Get()->mDetectUpstreamDropouts; } ) )
#endif
) );
}

View File

@@ -1384,8 +1384,7 @@ MenuTable::BaseItemPtr TracksMenu( AudacityProject & )
XXO("&Move Selection with Tracks (on/off)"),
FN(OnMoveSelectionWithTracks),
AlwaysEnabledFlag,
Options{}.CheckState(
gPrefs->Read(wxT("/GUI/MoveSelectionWithTracks"), 0L ) ) )
Options{}.CheckTest( wxT("/GUI/MoveSelectionWithTracks"), false ) )
),
#if 0
@@ -1425,7 +1424,7 @@ MenuTable::BaseItemPtr TracksMenu( AudacityProject & )
Command( wxT("SyncLock"), XXO("Sync-&Lock Tracks (on/off)"),
FN(OnSyncLock), AlwaysEnabledFlag,
Options{}.CheckState( gPrefs->Read(wxT("/GUI/SyncLockTracks"), 0L) ) )
Options{}.CheckTest( wxT("/GUI/SyncLockTracks"), false ) )
#endif
) );

View File

@@ -1032,7 +1032,7 @@ MenuTable::BaseItemPtr TransportMenu( AudacityProject &project )
),
// Scrubbing sub-menu
Scrubber::Get( project ).Menu(),
Scrubber::Menu(),
CursorMenu,

View File

@@ -457,7 +457,7 @@ MenuTable::BaseItemPtr ViewMenu( AudacityProject& )
Separator(),
Command( wxT("AdvancedVZoom"), XXO("Advanced &Vertical Zooming"),
FN(OnAdvancedVZoom), AlwaysEnabledFlag,
Options{}.CheckState( gPrefs->Read(wxT("/GUI/VerticalZooming"), 0L) ) )
Options{}.CheckTest( wxT("/GUI/VerticalZooming"), false ) )
),
Menu( XO("T&rack Size"),
@@ -538,10 +538,10 @@ MenuTable::BaseItemPtr ViewMenu( AudacityProject& )
Command( wxT("ShowExtraMenus"), XXO("&Extra Menus (on/off)"),
FN(OnShowExtraMenus), AlwaysEnabledFlag,
Options{}.CheckState( gPrefs->Read(wxT("/GUI/ShowExtraMenus"), 0L) ) ),
Options{}.CheckTest( wxT("/GUI/ShowExtraMenus"), false ) ),
Command( wxT("ShowClipping"), XXO("&Show Clipping (on/off)"),
FN(OnShowClipping), AlwaysEnabledFlag,
Options{}.CheckState( gPrefs->Read(wxT("/GUI/ShowClipping"), 0L) ) )
Options{}.CheckTest( wxT("/GUI/ShowClipping"), false ) )
#if defined(EXPERIMENTAL_EFFECTS_RACK)
,
Command( wxT("ShowEffectsRack"), XXO("Show Effects Rack"),