Paul Licameli
f2f6ff3a1b
Break cycle of ScriptCommandRelay and CommandBuilder
2019-07-09 13:23:07 -04:00
Paul Licameli
7e1c469d7f
Remove some unnecessary #include directives
2019-07-09 12:45:50 -04:00
Paul Licameli
a08bd5782b
Break cycle of Prefs, Languages, FileNames
2019-07-09 12:21:08 -04:00
Paul Licameli
7d75f1bfc4
Remove unnecessary #include
2019-07-09 10:55:18 -04:00
Paul Licameli
d7a0fa72db
WaveTrackView does not depend on SpectrumView, WaveformView
2019-07-09 10:23:49 -04:00
Paul Licameli
22dbe69f5c
Remove friends
2019-07-09 09:51:37 -04:00
Paul Licameli
2bec03ac08
TrackView subclasses do not depend on corresponding TrackControls...
...
... use an AttachedVirtualFunction to compute the default view height from
the controls.
This frees LabelTrackControls from cycles.
Also made Track::DoSetHeight non-virtual
2019-07-09 00:05:01 -04:00
Paul Licameli
9ca295c9f7
Remove some unnecessary #include-s
2019-07-08 23:53:41 -04:00
Paul Licameli
51e0c2221f
Remove duplicate call to DrawItems introduced at 488cb46
2019-07-08 22:13:51 -04:00
Paul Licameli
fd7e06e458
Undo the temporary rewrites of WaveTrackView draw and hit-test...
...
... switching on display type and replicating what the sub-view classes did;
now these methods of WaveTrackView should not be reached
2019-07-08 11:44:44 -04:00
Paul Licameli
8d29746af9
Classes no more instantiated after previous commit become namespaces
2019-07-08 10:56:17 -04:00
Paul Licameli
c7b888b903
WaveTrackView now delegates to the proper sub-view...
...
... by a redefined area subdivision policy in TrackPanel
So the SpectrumView, WaveformView, and associated ruler and handle classes
find real use, while WaveTrackView is really used only for its height and to
supply the delegate, and WaveTrackVRulerControls and WaveTrackVZoomHandle
are not used
There is also some anticipation of multiple track views
2019-07-08 10:27:43 -04:00
Paul Licameli
ecbbf7afe8
Cut and paste spectrum and waveform views to new files
2019-07-08 10:27:41 -04:00
Paul Licameli
96e5525646
Fill in the methods for Spectrum & Waveform views...
...
... Keeping WaveTrackView functioning
2019-07-08 10:18:15 -04:00
Paul Licameli
d36ce45381
Declare pointers to WaveTrack sub-views, with stub methods for now
2019-07-08 09:46:00 -04:00
Paul Licameli
28dcf45bbe
Cut and paste spectrum and waveform vruler controls into new files
2019-07-08 09:46:00 -04:00
Paul Licameli
32ae2e718f
Fill in the methods for Spectrum & Waveform VRuler controls...
...
... Keeping WaveTrackVRulerControls functioning
2019-07-08 09:46:00 -04:00
Paul Licameli
cffbf6f401
Separate classes for waveform, spectrum VRulers, stub methods for now
2019-07-08 09:46:00 -04:00
Paul Licameli
bc823294f2
Cut and paste waveform and spectrum vzoom handle functions
2019-07-08 09:46:00 -04:00
Paul Licameli
d991295efb
Implement classes SpectrumVZoomHandle, WaveformVZoomHandle
2019-07-08 09:46:00 -04:00
Paul Licameli
f7dc21436d
Separate functions for vertical zooming of spectrum and waveform
2019-07-08 09:46:00 -04:00
Paul Licameli
fa7de8ce3a
Remove always true third argument of WaveTrackVZoomHandle::DoZoom
2019-07-08 09:46:00 -04:00
Paul Licameli
cbdf5f24fe
New files to separate spectrum/waveform views and VRulers
2019-07-08 09:45:59 -04:00
Paul Licameli
3dc4216dcc
Rewrite bff30b6
delaying the effect...
...
... otherwise some stack overflows might happen in Refresh of TrackPanel or
AdornedRulerPanel
2019-07-08 09:39:48 -04:00
Steve Daulton
7857769f96
Workaround for kDevelop crash
...
Thanks to PRL for the fix.
2019-07-08 00:38:19 +01:00
Paul Licameli
8a69be0305
Supply missing #include "Experimental.h"
2019-07-07 15:27:13 -04:00
Paul Licameli
30be658b00
Remove some unnecessary #include directives
2019-07-07 15:16:19 -04:00
Paul Licameli
bff30b6ae9
Eliminate idle event handler of CellularPanel...
...
... achieving the intent of b7386c2db1
by other
means
2019-07-07 13:48:27 -04:00
Paul Licameli
9b98f4be0c
ScrubbingToolBar consumes less idle time
2019-07-07 12:20:59 -04:00
Paul Licameli
e03c9cdee3
Two dependency cycles of two easily broken...
...
... WaveTrackVRulerControls and WaveTrackVZoomHandle;
NoteTrackVRulerControls and NoteTrackVZoomHandle
2019-07-06 13:47:11 -04:00
Paul Licameli
274331cc26
AdornedRulerPanel eats less idle time after eb4eba6
and 9faa746d
2019-07-05 18:29:32 -04:00
Paul Licameli
ce31e2f35e
Selection toolbars use a little less idle time after commit f0ae4c3
2019-07-05 14:01:57 -04:00
Paul Licameli
8c59f66583
ScrubbingToolBar eats less idle time after commit 192530d
2019-07-05 13:30:11 -04:00
David Bailes
dc88fe84d9
TrackPanel: fix when it is set as keyboard handler.
...
Problem:
Currently KeyboardCapture::Capture(this) is called in TrackPanel::OnTrackFocusChange().
So the keyboard handler is not automatically set when the track panel becomes the focus.
Example of a symptom:
A project contains a label track, and is the focus, and type to create a label is enabled.
Move to focus to another window, and then back to the Audacity window.
Type a character. A label is not created.
Fix:
Move the call KeyboardCapture::Capture(this) to TrackPanel::SetFocusedCell(), so that it gets called when the TrackPanel becomes the focus.
2019-07-05 15:18:16 +01:00
David Bailes
f327fef80b
Bug 2146: Keyboard preferences: mouse can select wrong item
...
My previous fix for this bug, commit 4b437b8
, did not work on Mac.
This bug was introduced by my commit b62ed73. This commit was to ensure that when the keyview was the focus, there was always one item selected. This ensures that the focus is indicated visually, and that the Narrator screen reader reads the keyview.
The failed fix, selected an item if necessary when the keyview became the focus.
The current fix reverts b62ed73 and 4b437b8
, and ensures that an item is selected each time the items are updated.
2019-07-05 12:16:04 +01:00
Paul Licameli
4a19a3625b
Remove WaveTrackVRulerControls::DoZoomPreset...
...
... it became unused at 3797a5227a
2019-07-04 13:48:33 -04:00
Paul Licameli
a3b434be1c
Move the scrub mouse event handler into ScrubUI...
...
... Making Scrubbing independent of AdornedRulerPanel.cpp
2019-07-04 09:52:34 -04:00
Paul Licameli
8414ebffa5
ScrubbingOverlay declared and defined entirely within ScrubUI.cpp
2019-07-04 09:22:20 -04:00
Paul Licameli
24bd7cf571
New files for ScrubUI
2019-07-04 09:13:59 -04:00
Paul Licameli
8c59b6f1cf
This call isn't needed to hide the quick play line at end of scrub...
...
see also commit e815949535
2019-07-04 09:00:09 -04:00
Paul Licameli
9faa746d4d
Scrubber holds preference, AdornedRulerPanel updates in idle time...
...
... removing two uses of AdornedRulerPanel in Scrubbing
2019-07-04 08:59:57 -04:00
Paul Licameli
3c858dd343
Remove unnecessary button update of ruler from Scrubbing...
...
... this is a remnant of the abandoned experiment that put other buttons in
the ruler besides the pinned play head
See commit 6a3613e8e9
2019-07-04 08:58:36 -04:00
Paul Licameli
eb4eba6325
AdornedRulerPanel updates its play region in idle time...
...
... Eliminating TP_DisplaySelection and making ProjectWindow independent of
AdornedRulerPanel
2019-07-03 23:38:33 -04:00
Paul Licameli
1c1aca521d
AdornedRulerPanel updates itself in response to theme change event
2019-07-03 23:11:10 -04:00
Paul Licameli
c742199d47
AdornedRulerPanel does not depend on TrackPanel...
...
... but it does assume that GetProjectPanel returns a CellularPanel
2019-07-03 23:08:49 -04:00
Paul Licameli
500ccb60b3
Free ControlToolBar from cycles. That's all the toolbars now!
2019-07-03 21:38:06 -04:00
Paul Licameli
acfd2b7010
TrackFocus is a new attached object...
...
... removing the need to use TrackPanel to get and set the focused track
ProjectAudioManager loses its direct dependency on TrackPanel
2019-07-03 19:10:21 -04:00
Paul Licameli
02075d5b43
Remove some fetches of TrackPanel
2019-07-03 18:42:33 -04:00
Paul Licameli
b6cd9a2b36
DoPlayStopSelect into ProjectAudioManager; remove button push-down...
...
... which was redundant with what happens in the yield to idle events in
ProjectAudioManager::Stop.
This removes direct dependency of ProjectAudioManager on ControlToolBar.
And remove another #include we don't need
2019-07-03 17:21:55 -04:00
Paul Licameli
ca8740b510
StopIfPaused is now a member function of ProjectAudioManager
2019-07-03 17:00:08 -04:00