| 952 | namespace { |
| 953 | using namespace MenuRegistry; |
| 954 | auto SelectMenu() |
| 955 | { |
| 956 | static auto menu = std::shared_ptr{ |
| 957 | ( FinderScope{ findCommandHandler }, |
| 958 | /* i18n-hint: (verb) It's an item on a menu. */ |
| 959 | Menu( wxT("Select"), XXO("&Select"), |
| 960 | Section( "Basic", |
| 961 | Command( wxT("SelectAll"), XXO("&All"), FN(OnSelectAll), |
| 962 | TracksExistFlag(), |
| 963 | Options{ wxT("Ctrl+A"), XO("Select All") } ), |
| 964 | Command( wxT("SelectNone"), XXO("&None"), FN(OnSelectNone), |
| 965 | TracksExistFlag(), |
| 966 | Options{ wxT("Ctrl+Shift+A"), XO("Select None") } ), |
| 967 | |
| 968 | ////////////////////////////////////////////////////////////////////////// |
| 969 | |
| 970 | Menu( wxT("Tracks"), XXO("&Tracks"), |
| 971 | Command( wxT("SelAllTracks"), XXO("In All &Tracks"), |
| 972 | FN(OnSelectAllTracks), |
| 973 | TracksExistFlag(), |
| 974 | wxT("Ctrl+Shift+K") ), |
| 975 | Command( wxT("SelSyncLockTracks"), XXO("In All &Sync-Locked Tracks"), |
| 976 | FN(OnSelectSyncLockSel), |
| 977 | EditableTracksSelectedFlag() | IsSyncLockedFlag(), |
| 978 | Options{ wxT("Ctrl+Shift+Y"), XO("Select Sync-Locked") } ) |
| 979 | ), |
| 980 | |
| 981 | ////////////////////////////////////////////////////////////////////////// |
| 982 | |
| 983 | Menu( wxT("Region"), XXO("R&egion"), |
| 984 | Section( "", |
| 985 | Command( wxT("SetLeftSelection"), XXO("&Left at Playback Position"), |
| 986 | FN(OnSetLeftSelection), TracksExistFlag(), |
| 987 | Options{ wxT("["), XO("Set Selection Left at Play Position") } ), |
| 988 | Command( wxT("SetRightSelection"), XXO("&Right at Playback Position"), |
| 989 | FN(OnSetRightSelection), TracksExistFlag(), |
| 990 | Options{ wxT("]"), XO("Set Selection Right at Play Position") } ), |
| 991 | Command( wxT("SelTrackStartToCursor"), XXO("Track &Start to Cursor"), |
| 992 | FN(OnSelectStartCursor), AlwaysEnabledFlag, |
| 993 | Options{ wxT("Shift+J"), XO("Select Track Start to Cursor") } ), |
| 994 | Command( wxT("SelCursorToTrackEnd"), XXO("Cursor to Track &End"), |
| 995 | FN(OnSelectCursorEnd), AlwaysEnabledFlag, |
| 996 | Options{ wxT("Shift+K"), XO("Select Cursor to Track End") } ), |
| 997 | Command( wxT("SelTrackStartToEnd"), XXO("Track Start to En&d"), |
| 998 | FN(OnSelectTrackStartToEnd), AlwaysEnabledFlag, |
| 999 | Options{}.LongName( XO("Select Track Start to End") ) ) |
| 1000 | ), |
| 1001 | |
| 1002 | Section( "", |
| 1003 | // GA: Audacity had 'Store Re&gion' here previously. There is no |
| 1004 | // one-step way to restore the 'Saved Cursor Position' in Select Menu, |
| 1005 | // so arguably using the word 'Selection' to do duty for both saving |
| 1006 | // the region or the cursor is better. But it does not belong in a |
| 1007 | // 'Region' submenu. |
| 1008 | Command( wxT("SelSave"), XXO("S&tore Selection"), FN(OnSelectionSave), |
| 1009 | WaveTracksSelectedFlag() ), |
| 1010 | // Audacity had 'Retrieve Regio&n' here previously. |
| 1011 | Command( wxT("SelRestore"), XXO("Retrieve Selectio&n"), |