1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-19 09:30:06 +02:00

271 Commits

Author SHA1 Message Date
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
0bd9bb3b90 Some steps of ResetProjectToEmpty into a new function 2019-05-20 21:38:11 -04:00
Paul Licameli
582b0ee40c Repeated code moved into new AudacityProject::CloseLock() 2019-05-20 21:38:11 -04:00
Paul Licameli
b3257c56da Remove AudacityProject::ExportFromTimerRecording 2019-05-20 21:38:10 -04:00
Paul Licameli
9c75ebe7f7 TrackPanel subscribes directly to ODManager for events...
... cutting middleman AudacityProject out
2019-05-20 21:38:10 -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
5ed9fa972b AudacityProject::mIsBeingDeleted was redundant 2019-05-20 21:38:09 -04:00
Paul Licameli
9f377b3b75 Prepare to decouple factories for TP & Ruler into their own sources 2019-05-20 21:38:09 -04:00
Paul Licameli
ada9f2baad Remove AudacityProject::IsCapturing()...
... because it was in fact tracking global state, not any per-project state.
2019-05-20 21:38:08 -04:00
Paul Licameli
f123ea5faa Missing alias dialog tracking is non-intrusive in class AudacityProject 2019-05-20 21:38:08 -04:00
Paul Licameli
e227d4dfb1 Remove some unnecessary declarations in class AudacityProject 2019-05-20 21:38:07 -04:00
Paul Licameli
390af96796 Dispatch read of top-level project XML tags with a table of functions...
... which makes Project.cpp a bit less dependent on some details of other
classes

This puts Tags.cpp back into the big strongly connected component of the
dependency graph.  That will be remedied later when Project.cpp becomes a
low-level file
2019-05-20 21:38:07 -04:00
Paul Licameli
a3edf9f6d7 New AudacityProject::ReadProjectFile for some steps of project opening 2019-05-20 21:38:06 -04:00
Paul Licameli
7fc3adb54d ThemePrefs.cpp has fewer dependencies...
... Send an event via the app that projects listen to for theme update; don't
push it to projects directly.

This frees three files from dependency cycles.
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
db8c4c5e5a Global keyboard capture handling into new files, better comments...
... and break its compile dependency on CommandManager.h by letting it install
callbacks.

This also removes Objective-C mixed code from CommmandManager.

This also eliminates four inclusions of Project.h!

Capture handler state is also global, not per project, though the
CommandManager's callbacks still do depend on the active project.
2019-05-18 15:14:18 -04:00
Paul Licameli
187e3be0d6 Move SaveWindowSize to Project.cpp & it no longer needs AudacityApp.h 2019-05-17 16:29:04 -04:00
Paul Licameli
d4b0fd1b83 AudacityProject.cpp does not need gIsQuitting from AudacityApp.h 2019-05-17 16:29:04 -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
338d7cd164 A class encapsulating the global clipboard 2019-05-17 06:47:53 -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 b7fe62d17067b4441530dd36b25052cea3ad44b5.
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
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
8f55d55869 Remove two call-through functions to TrackPanel from AudacityProject 2019-04-26 14:05:57 -04:00
Paul Licameli
2b32884596 Remove some unnecessary toolbar related declarations, fix comments 2019-04-23 17:02:04 -04:00
Paul Licameli
34f318cd41 Remove wx/{imaglist,generic/dragimgg,gauge,dynarray}.h from *.h 2019-03-30 12:51:12 -04:00
Paul Licameli
c982cf6a41 Remove wx/intl.h, wx/brush.h, wx/bitmap.h from headers 2019-03-30 11:45:20 -04:00
Paul Licameli
870c08ac06 Remove wx/{log.h, image.h, listctrl.h, utils.h} from headers 2019-03-30 11:21:51 -04:00
Paul Licameli
1a49362e3c Fix Linux build 2019-03-30 11:13:44 -04:00
Paul Licameli
08c16b6eb7 Remove wx/{html/htmlwin,fileconf,dragimag,debug,dcclient}.h from *.h 2019-03-30 10:53:22 -04:00
Paul Licameli
bcc2e0d13b Remove wx/frame.h, wx/sizer.h, wx/access.h from headers 2019-03-28 11:21:15 -04:00
Paul Licameli
cfde442bcd Remove a few small member functions from AudacityProject 2019-03-27 13:32:54 -04:00
Paul Licameli
69962f62d3 Remove AudacityProject::GetScreenEndTime 2019-03-27 13:32:54 -04:00
Paul Licameli
ca5bb78abe Remove AudacityProject::GetSelection 2019-03-27 13:32:54 -04:00
Paul Licameli
4018b191b4 Remove Get/Set functions for selection bounds from AudacityProject 2019-03-27 13:32:53 -04:00
Paul Licameli
c3aad2e026 Remove wx/event.h from headers 2019-03-27 04:36:51 -04:00
Paul Licameli
71adb89342 Remove non-UI functions in TrackPanelListener 2019-03-27 04:06:15 -04:00
Paul Licameli
40b4361732 Remove wx/arrstr.h from headers 2019-03-26 12:41:44 -04:00
Paul Licameli
02db402b54 Bug2064: ESC key should abort drags in time ruler on Linux...
... Reimplement the ESC key handling in TrackPanel and time ruler on all
operating systems so that it does not rely on the focused window, but instead
uses the application-wide event filter.

This includes reversion of 9491605cfc8a7d60117365884fd494996b5ebbaf
2019-03-18 12:43:14 -04:00
Paul Licameli
173a300427 Include nothing before Audacity.h, as comments say we should...
... and remove some duplicated inclusions
2019-03-17 21:41:39 -04:00
Paul Licameli
71036bed01 Remove PluginManager.h from other headers 2019-03-17 15:05:19 -04:00
Paul Licameli
3dba70120c CommandManager, MenuManager don't use Lyrics.h, MixerBoard.h ...
... instead define new base classes in src/commands that those other
windows can inherit.  The classes have nothing but a virtual destructor.  This
lets CommandManager use dynamic_cast to detect the special windows.

See commits cbfde23 and 68e4bf6 which added the #include directives
2019-03-16 13:10:59 -04:00
Paul Licameli
1bcb7c20a5 Remove some nested #include from Project.h 2019-03-16 13:09:54 -04:00
Paul Licameli
f7162d3326 OverlayPanel uses weak_ptr to Overlay, which simplifies other dtors 2019-03-16 08:21:03 -04:00
Paul Licameli
a30000cf74 Use type aliases FilePath, FilePaths...
... for wxString and wxArrayStringEx, holding file paths (absolute or relative,
directory or plain file); to be replaced later with different types

(not yet using std::vector, becase of some uses of wxArrayString::Index with
two arguments)
2019-03-15 15:18:11 -04:00
Paul Licameli
135c2a71ce Replace "" and wxEmptyString with {} in default argument values 2019-03-15 15:18:11 -04:00