Paul Licameli
02afcbca8c
Redo TP_UpdateStatusMessage...
...
... Rename it as SetStatus; make it part of AudacityProject not
TrackPanelListener; and use a roundabout event signalling to cause the timer
restart.
Because SetStatus will be one of very few things left in AudacityProject, but
the timer handling will be part of another class decoupled from it.
And TrackPanelListener won't really be needed: TrackPanel will not need to
pretend it doesn't know what an AudacityProject is.
2019-05-28 19:36:47 -04:00
Paul Licameli
ae18f2f220
Construction of default play options moved out of AudacityProject
2019-05-28 19:33:21 -04:00
Paul Licameli
c2d57d9e9b
Rearrange the setting of project snap-to...
...
... Just one low-level function to simply set the variable, and one
high-level function that also pushes notifications. The danger of infinite
recursion in the toolbar code, as in the previous commit, doesn't exist here.
2019-05-28 19:26:13 -04:00
Paul Licameli
3416b5bad6
Toolbars accessed by static Get() functions, not through AudacityProject
2019-05-24 16:08:29 -04:00
Paul Licameli
7bb71257ed
static AdornedRulerPanel::Get()...
...
... not member functions of AudacityProject
2019-05-24 15:48:16 -04:00
Paul Licameli
d1ad8f55e0
static TrackPanel::Get()...
...
... not member functions of AudacityProject
2019-05-24 15:46:30 -04:00
Paul Licameli
00117897bc
Decouple class AudacityProject from some attached frames...
...
... use registered factories instead, so class AudacityProject needn't know
the other classes.
This frees 9 .cpp files, related to various non-modal dialogs, to higher
levels out of the big strongly connected component, as determined by
scripts/graph.pl!
But in reality there is still link dependency on them that the script does not
detect. The remaining dependency is via the declarations of ViewMenu,
EffectMenu, etc. in Menus.cpp.
That could be broken with a registration system for menus.
2019-05-24 15:46:28 -04:00
Paul Licameli
0923bc19a9
static MenuManager::Get()...
...
... not member functions of AudacityProject
2019-05-23 16:34:47 -04:00
Paul Licameli
2f0a76ed10
static Scrubber::Get()...
...
... not member functions of AudacityProject
2019-05-23 16:01:10 -04:00
Paul Licameli
15dd230ee1
static ToolManager::Get()...
...
... not member functions of AudacityProject
2019-05-23 15:24:28 -04:00
Paul Licameli
68e25f3b7d
static SelectionState::Get()...
...
... not member functions of AudacityProject
2019-05-23 14:11:05 -04:00
Paul Licameli
c1c0030013
static Tags::Get...
...
... not member functions of AudacityProject
2019-05-23 14:08:09 -04:00
Paul Licameli
116ff70756
static TrackFactory::Get()...
...
... not member functions of AudacityProject
2019-05-23 13:55:14 -04:00
Paul Licameli
4ba4d0978b
static CommandManager::Get()...
...
... not member functions of AudacityProject
2019-05-23 13:17:29 -04:00
Paul Licameli
72b7c776a8
static UndoManager::Get()...
...
... not member functions of AudacityProject
2019-05-23 12:58:47 -04:00
Paul Licameli
b5a57682b6
static ViewInfo::Get() and ZoomInfo::Get()...
...
... not member functions of AudacityProject
2019-05-23 12:58:47 -04:00
Paul Licameli
14ab93a01f
static TrackList::Get()...
...
... not member function of AudacityProject
2019-05-23 12:58:47 -04:00
Paul Licameli
469247e7ef
Remove a comment
2019-05-22 10:36:18 -04:00
Paul Licameli
af039f19ff
Generalize means for decoupled code to add data to core structures...
...
... Generalizing what was first done at 280e8d9 for certain menu command
handlers.
Allow core data structures to host data attached by other code, on which it
need have no compilation or link dependencies.
2019-05-21 10:08:56 -04:00
Paul Licameli
62899a32f4
All things with an UpdatePrefs() message listen for an event...
...
... Still to do, improve the handling of updates of only subsets of the prefs
2019-05-20 21:38:13 -04:00
Paul Licameli
dccb716f39
enum PlayMode tells whether there's cut preview; out of Project.h
2019-05-20 21:38:12 -04:00
Paul Licameli
22f6ee789c
Move function from AudacityProject to TransportActions
2019-05-20 21:38:10 -04:00
Paul Licameli
d2717cac21
Move functions from AudacityProject to SelectActions
2019-05-20 21:38:09 -04:00
Paul Licameli
e227d4dfb1
Remove some unnecessary declarations in class AudacityProject
2019-05-20 21:38:07 -04:00
Paul Licameli
f86403378b
Move AudacityMessageBox to its own files...
...
... breaking cycles among low-level files introduced by 273ba9f
2019-05-20 14:48:36 -04:00
Paul Licameli
96ffc424cf
PluginManager.cpp does not depend on EffectManager.cpp...
...
... Taking PluginManager.cpp and ModuleManager.cpp out of other dependency
cycles, though still in a small cycle with each other
2019-05-18 20:32:19 -04:00
Paul Licameli
519a988467
RecordingPrefs.cpp does not depend on AudioIO.cpp...
...
... freeing it from dependency cycles, but no others
2019-05-18 20:29:25 -04:00
Paul Licameli
d68db39b5c
HelpSystem.cpp has fewer dependencies...
...
... There was no reason to store the help location preferences as per-project
state. Also move the dialog for quick fixes near its only use in
HelpMenus.cpp.
This takes 22 files out of the big strongly connected component, notably
the much used lower level utilities, ErrorDialog and AudacityException.
HelpSystem itself is still in a small cycle with LinkingHtmlWindow.
2019-05-18 20:29:25 -04:00
Paul Licameli
56b1d531b2
HelpText.cpp has fewer dependencies...
...
... freeing it to a low level and AboutDialog.cpp to a high level, by moving
functions from the latter into the former
2019-05-18 20:29:25 -04:00
Paul Licameli
b04387a21d
Move AudacityApp::GenerateCrashReport to its own files
2019-05-17 16:29:31 -04:00
Paul Licameli
8da6529329
Remove AudacityApp::GetLogger() & HelpActions::DoShowLog()
2019-05-17 16:29:04 -04:00
Paul Licameli
e845bd9544
Move AudacityApp::MacActivateApp out of WindowMenus.cpp
2019-05-17 16:29:04 -04:00
Paul Licameli
e4a8d6c3fc
Don't call AudacityApp::OnMenuAbout directly from HelpMenus.cpp
2019-05-17 16:29:04 -04:00
Paul Licameli
6cde697a8e
Don't call QuitAudacity directly from src/menus...
...
... This cuts link dependency on AudacityApp.cpp, and allows the function to
be private to that file
2019-05-17 16:29:04 -04:00
Paul Licameli
a047fa6e7a
Missing alias file tracking out of AudacityApp, into new files...
...
... which reduces the need for including AudacityApp.h
2019-05-17 16:28:50 -04:00
Paul Licameli
0ab29d21e9
Some naming consistency...
...
Prefer "MissingAliasFiles" not other permutations of the words
2019-05-17 06:47:53 -04:00
Paul Licameli
2d8c287384
Do not require AudacityApp.h when using global file history
2019-05-17 06:47:53 -04:00
Paul Licameli
338d7cd164
A class encapsulating the global clipboard
2019-05-17 06:47:53 -04:00
Paul Licameli
6c57948d8f
Remove unnecessary #include-s from .cpp files...
...
... Unnecessary because transitively included.
But each .cpp file still includes its own .h file near the top to ensure
that it compiles indenendently, even if it is reincluded transitively later.
2019-05-16 17:21:00 -04:00
Paul Licameli
9bf29f5582
CommandManager keys by CommandId, not plain wxString
2019-05-16 12:30:29 -04:00
Paul Licameli
c46fbd919c
rename function as AudacityProject::GetProjectName...
...
... So it does not hide inherited wxWindow::GetName().
And make it const.
2019-04-26 14:10:05 -04:00
Paul Licameli
544d9aa580
Don't use AudacityApp where you only need wxApp...
...
... I want to have fewer inclusions of AudacityApp.h. More work on removing
them will happen in the next version.
2019-04-26 11:54:28 -04:00
Paul Licameli
2af46016c7
Move a comma past a comment, fixes junk in extracted audacity.pot
2019-04-23 13:30:23 -04:00
James Crook
f66e753c54
Add option in metadata editor to not show it again
...
Also added help button to it
Also fixed Bug 2038 - Metadata editor opens without grid focus
2019-04-12 20:18:17 +01:00
James Crook
f4aa75f4fc
Make TypeToCreateLabel off by default.
...
Following a lengthen discussion on the quality list, consensus is this option
should always have been off by default. The main argument for not changing
it now was that 'on' is what users have come to expect.
2019-04-12 17:33:31 +01:00
Paul Licameli
617c1d8785
Make default value of /Effects/GroupBy match the dialog choice
2019-04-04 17:42:01 -04:00
Paul Licameli
0b733eed3f
Remove (or comment) ProgressDialog.h in headers...
...
... For ImportPlugin, use unique_ptr not Maybe to hold it, and take constructors
out-of-line.
2019-04-04 09:47:57 -04:00
James Crook
0c4f611b5c
Unselect tracks before auto-selecting audio
2019-03-31 20:46:07 +01:00
Paul Licameli
44d664c7bb
Remove ErrorDialog.h from .h files (one function moves out of line)
2019-03-31 15:39:55 -04:00
Paul Licameli
2d8abe6b74
Remove FileHistory.h, KeyView.h from .h files
2019-03-31 15:21:02 -04:00