mirror of
https://github.com/cookiengineer/audacity
synced 2025-11-14 17:14:07 +01:00
Make objects attached to AudacityProject non-copyable...
... except for Tags; also some uses of final and explicit This caught a mistake in Scrubbing.cpp
This commit is contained in:
@@ -30,6 +30,7 @@ public:
|
||||
static BackgroundCell &Get( AudacityProject &project );
|
||||
static const BackgroundCell &Get( const AudacityProject &project );
|
||||
|
||||
explicit
|
||||
BackgroundCell(AudacityProject *pProject)
|
||||
: mpProject(pProject)
|
||||
{}
|
||||
|
||||
@@ -22,6 +22,7 @@ class EditCursorOverlay final
|
||||
, public ClientData::Base
|
||||
{
|
||||
public:
|
||||
explicit
|
||||
EditCursorOverlay(AudacityProject *project, bool isMaster = true);
|
||||
|
||||
private:
|
||||
|
||||
@@ -50,6 +50,7 @@ protected:
|
||||
class PlayIndicatorOverlay final : public PlayIndicatorOverlayBase
|
||||
{
|
||||
public:
|
||||
explicit
|
||||
PlayIndicatorOverlay(AudacityProject *project);
|
||||
|
||||
private:
|
||||
|
||||
@@ -744,7 +744,7 @@ bool Scrubber::IsScrubbing() const
|
||||
{
|
||||
if (mScrubToken <= 0)
|
||||
return false;
|
||||
auto projectAudioIO = ProjectAudioIO::Get( *mProject );
|
||||
auto &projectAudioIO = ProjectAudioIO::Get( *mProject );
|
||||
if (mScrubToken == projectAudioIO.GetAudioIOToken() &&
|
||||
projectAudioIO.IsAudioActive())
|
||||
return true;
|
||||
|
||||
@@ -44,7 +44,10 @@ public:
|
||||
static Scrubber &Get( AudacityProject &project );
|
||||
static const Scrubber &Get( const AudacityProject &project );
|
||||
|
||||
explicit
|
||||
Scrubber(AudacityProject *project);
|
||||
Scrubber( const Scrubber & ) PROHIBITED;
|
||||
Scrubber &operator=( const Scrubber & ) PROHIBITED;
|
||||
~Scrubber();
|
||||
|
||||
static bool ShouldScrubPinned();
|
||||
@@ -192,6 +195,7 @@ class ScrubbingOverlay final
|
||||
, public ClientData::Base
|
||||
{
|
||||
public:
|
||||
explicit
|
||||
ScrubbingOverlay(AudacityProject *project);
|
||||
|
||||
private:
|
||||
|
||||
@@ -166,7 +166,7 @@ namespace {
|
||||
|
||||
// Attach an object to each project. It receives track list events and updates
|
||||
// track Y coordinates
|
||||
struct TrackPositioner : ClientData::Base, wxEvtHandler
|
||||
struct TrackPositioner final : ClientData::Base, wxEvtHandler
|
||||
{
|
||||
AudacityProject &mProject;
|
||||
|
||||
@@ -182,6 +182,8 @@ struct TrackPositioner : ClientData::Base, wxEvtHandler
|
||||
TrackList::Get( project ).Bind(
|
||||
EVT_TRACKLIST_RESIZING, &TrackPositioner::OnUpdate, this );
|
||||
}
|
||||
TrackPositioner( const TrackPositioner & ) PROHIBITED;
|
||||
TrackPositioner &operator=( const TrackPositioner & ) PROHIBITED;
|
||||
|
||||
void OnUpdate( TrackListEvent & e )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user