1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-11-23 09:20:16 +01:00
Commit Graph

163 Commits

Author SHA1 Message Date
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