Paul Licameli
1e52400936
Remove overload of NewIdentifier that was used only once
2019-12-12 15:15:59 -05:00
Paul Licameli
b84f5b66f0
CommandManager.cpp does not depend on EffectManager...
...
... some code lifted into BatchCommands.cpp to realize this.
It also doesn't depend on PluginManager, but that is not important for breaking
cycles.
2019-06-16 01:24:29 -04:00
Paul Licameli
f9b0281b47
Move TellUserWhyDisallowed into MenuManager...
...
... so we don't have MenuManager calling CommandManager which calls it back.
2019-06-16 01:21:04 -04:00
Paul Licameli
ca5259712c
HandleCommandEntry's 3rd parameter was two-valued, make it bool...
...
... false when it was NoFlagsSpecified, true when it was AlwaysEnabledFlag
2019-06-14 10:12:45 -04:00
Paul Licameli
0f2278d394
Eliminate the confusing mask from CommandManager entries...
...
... In fact it was only ever different from flags when flags had the special
NoAutoSelect and mask did not. Now put that bit in the mask too, and make
the special NoAutoSelect always true in MenuManager::GetUpdateFlags(). This
still preserves the intended effects of NoAutoSelect.
2019-06-14 10:12:45 -04:00
Paul Licameli
64650b9a55
Third argument of EnableUsingFlags was always all-ones; eliminate it
2019-06-14 10:12:45 -04:00
Paul Licameli
a34f1cbba5
Reimplement the rejection of select-all-on-none for certain commands...
...
... Specify it in the menu descriptions. Don't put special ad hoc logic
in Menus.cpp.
2019-06-14 10:12:44 -04:00
Paul Licameli
7b09225bf7
Use a hook to implement the shift-click shortcut to keyboard prefs...
...
This frees EIGHTEEN files from the big strongly connected component!!
They are:
Dependencies
Export
ExportCL
ExportFFmpeg
ExportFFmpegDialogs
ExportFLAC
EportMP2
ExportMP3
ExportOGG
ExportPCM
ExtImportPrefs
Import
ImportRaw
KeyConfigPrefs
KeyView
LibraryPrefs
PrefsDialog
SpectrumPrefs
... and that includes all of the remaining *Prefs files.
It does still leave the nine Export* files in a smaller s.c.c, which could be
broken with a registration system, as was done for import at commit e2cf1d9
2019-06-10 21:56:46 -04:00
Paul Licameli
4ba4d0978b
static CommandManager::Get()...
...
... not member functions of AudacityProject
2019-05-23 13:17:29 -04:00
Paul Licameli
548192fcf3
Remove redundant #include-s from .h files...
...
Redundant, because transitively implied. But don't do this for inclusions of
Audacity.h or Experimental.h.
2019-05-16 14:58:34 -04:00
Paul Licameli
56f51d8176
Revert "Remove redundant #include-s from .h files..."
...
This reverts commit b7fe62d170 .
2019-05-16 14:33:55 -04:00
Paul Licameli
b7fe62d170
Remove redundant #include-s from .h files...
...
Redundant, because transitively implied. But don't do this for inclusions of
Audacity.h or Experimental.h.
2019-05-16 14:15:05 -04:00
Paul Licameli
9bf29f5582
CommandManager keys by CommandId, not plain wxString
2019-05-16 12:30:29 -04:00
Paul Licameli
19bf094893
Change CommandManager terminology: "Numeric id" not just "Id" ...
...
... because I will use CommandId for string identifiers instead, and those
are the really persistent identification
2019-05-16 12:30:29 -04:00
Paul Licameli
11c8377460
NormalizedKeyString redefined as TaggedIdentifier
2019-05-16 12:30:29 -04:00
Paul Licameli
2e05d2d884
Remove wx/{radiobut,ownerdrw,menuitem,menu,listbox}.h from *.h
2019-03-30 12:15:53 -04:00
Paul Licameli
3a7324984c
wx/hashmap.h no longer used anywhere
2019-03-30 10:06:52 -04:00
Paul Licameli
40b4361732
Remove wx/arrstr.h from headers
2019-03-26 12:41:44 -04:00
Paul Licameli
1d0247607a
Remove wx/string.h from headers
2019-03-26 11:33:55 -04:00
Paul Licameli
0dd0a5cb5a
Remove <wx/menu.h> from CommandManager.h, moving inline functions out
2019-03-23 10:56:43 -04:00
Paul Licameli
5fd6965925
Use type aliases CommandID, CommandIDs...
...
... for identifiers of menu commands and macros, and for vectors thereof
2019-03-15 15:18:11 -04:00
Paul Licameli
b32940d931
Simplify specification of command item groups in Tracks menu
2019-03-13 01:09:52 -04:00
James Crook
466e9c179e
Create ComponentInterface
...
It combines the old IdentInterface with the ParamsInterface, providing an identifier and parameters (if needed).
The main purpose of the change is to make the class hierarchy (as viewed via doxygen) much easier to follow.
2018-11-02 17:04:43 +00:00
Paul Licameli
87592cc89b
Remove unused (and unintended) overload of Items
2018-10-29 13:32:44 -04:00
James Crook
76166135d4
Fix many MSVC compiler warnings.
2018-10-29 13:19:33 +00:00
Paul Licameli
d40dfa2de2
More comments explaining the C++11 exotica
2018-10-21 12:46:41 -04:00
Paul Licameli
e756f2e71c
Define classes and interpreter to be used in menu definition tables
2018-10-21 12:16:22 -04:00
Paul Licameli
5277584bb0
Hide details of managing occult command items
2018-10-20 14:19:58 -04:00
Paul Licameli
01875db4bd
Don't hold a dangling pointer to a menu bar in CommandManager
2018-10-20 12:53:03 -04:00
Paul Licameli
fefc3bf35d
Don't call CommandManger::AddGlobalCommand, use an option instead
2018-10-20 11:59:39 -04:00
Paul Licameli
7f5e6d12b1
Only one public CommandManager fn to begin a menu and one to end...
...
... It knows the nesting, so it decides for itself whether to manage the menu
as main or sub-.
2018-10-20 09:40:03 -04:00
Paul Licameli
27aa59ed50
AddItemList takes IdentInterfaceSymbol (untranslated) ...
...
... so that we can use a static constant table of names, which can't use
macro _ in initializers.
2018-10-20 09:21:22 -04:00
Paul Licameli
fc1bc7994e
Remove CommandManager::SetDefaultFlags and related
2018-10-17 23:14:55 -04:00
Paul Licameli
a1bd9062ae
Remove dead code; so that all remaining calls to NewIdentifier...
...
...are followed by a setting of flags and mask
2018-10-17 23:13:56 -04:00
Paul Licameli
63f20f3405
CommandManager::AddItemList requires flags
2018-10-17 23:13:56 -04:00
Paul Licameli
db997f8ecd
Flags argument of AddItem (and AddCommand) is obligatory
2018-10-17 23:13:56 -04:00
Paul Licameli
596eefe675
CommandManager::Options also specified the long name
2018-10-17 13:49:43 -04:00
Paul Licameli
cfe7ddcf55
struct CommandManager::Options lets us fold AddCheck into AddItem
2018-10-17 13:32:39 -04:00
Paul Licameli
de4132d66c
Reorder accel argument and unify two overloads of AddItem
2018-10-17 13:32:36 -04:00
Paul Licameli
c376ffb165
Simplify calls to SetDefaultFlags: default mask to equal flags
2018-10-17 13:21:00 -04:00
Paul Licameli
42aef9f3e8
Mask != flags is unusual: simplify most AddItem/AddCheck...
...
... and the no longer used AddCommand.
There are only four exceptions, all using NoAutoSelect in the flags and not in
the mask.
2018-10-17 13:20:58 -04:00
Paul Licameli
399e2d099d
Fix spelling in an enum constant name
2018-10-17 12:53:25 -04:00
Paul Licameli
88c67c46f3
Unify the two overloads of CommandManager::AddCheck
2018-10-17 12:53:25 -04:00
Paul Licameli
fef9e2abac
Remove some unused things
2018-10-17 12:53:25 -04:00
James Crook
d057dfb5d8
Move "Help Menu" after "Extra Menu".
2018-07-05 19:34:16 +01:00
Paul Licameli
a9e7a7e5d5
movable_ptr(_with_deleter) -> std::unique_ptr
2018-05-10 00:56:37 -04:00
Paul Licameli
7a0475e39f
Remove most uses of AUDACITY_OLD_STD
2018-05-10 00:56:36 -04:00
James Crook
effab49a6f
Improve Mac wx3.1.1 compatibility
...
1. Qualify hash as std::hash.
2. Ensure we have a header for the function 'free'
2018-04-12 20:10:41 +01:00
James Crook
bd30e1f16d
Add long names for some commands in menu.
2018-03-19 19:08:37 +00:00
Paul Licameli
b75e356df6
Now use that extra information
2018-03-15 23:32:15 -04:00