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

Remove a friend declaration from Project, privatize a pointer member...

... and make implementation of that pointer a smart one.
This commit is contained in:
Paul Licameli 2016-04-11 14:40:13 -04:00
parent 76b66e05dd
commit f9da767cbd
5 changed files with 24 additions and 26 deletions

View File

@ -852,7 +852,7 @@ AudacityProject::AudacityProject(wxWindow * parent, wxWindowID id,
//
// Create the ToolDock
//
mToolManager = new ToolManager( this );
mToolManager = std::make_unique<ToolManager>( this );
GetSelectionBar()->SetListener(this);
#ifdef EXPERIMENTAL_SPECTRAL_EDITING
GetSpectralSelectionBar()->SetListener(this);
@ -2272,8 +2272,7 @@ void AudacityProject::OnCloseWindow(wxCloseEvent & event)
// Delete the tool manager before the children since it needs
// to save the state of the toolbars.
delete mToolManager;
mToolManager = NULL;
mToolManager.reset();
DestroyChildren();
@ -2693,7 +2692,7 @@ void AudacityProject::OpenFile(const wxString &fileNameArg, bool addtohistory)
bool err = false;
Track *t;
TrackListIterator iter(mTracks);
TrackListIterator iter(GetTracks());
mLastSavedTracks = new TrackList();
t = iter.First();

View File

@ -612,8 +612,10 @@ public:
Meter *mPlaybackMeter{};
Meter *mCaptureMeter{};
std::unique_ptr<ToolManager> mToolManager{};
public:
ToolManager *mToolManager{};
ToolManager *GetToolManager() { return mToolManager.get(); }
bool mShowSplashScreen;
wxString mHelpPref;
wxString mSoloPref;
@ -675,9 +677,6 @@ public:
// Last effect applied to this project
PluginID mLastEffect{};
// The screenshot class needs to access internals
friend class ScreenshotCommand;
wxRect mNormalizedWindowState;
//flag for cancellation of timer record.

View File

@ -296,7 +296,7 @@ ScreenFrame::ScreenFrame(wxWindow * parent, wxWindowID id)
// Note that the audio could be playing.
// The monitoring will switch off temporarily
// because we've switched monitor mid play.
mContext.GetProject()->mToolManager->Reset();
mContext.GetProject()->GetToolManager()->Reset();
}
ScreenFrame::~ScreenFrame()
@ -555,7 +555,7 @@ void ScreenFrame::SizeMainWindow(int w, int h)
mContext.GetProject()->Maximize(false);
mContext.GetProject()->SetSize(16, 16 + top, w, h);
mContext.GetProject()->mToolManager->Reset();
mContext.GetProject()->GetToolManager()->Reset();
}
void ScreenFrame::OnMainWindowSmall(wxCommandEvent & WXUNUSED(event))

View File

@ -226,7 +226,7 @@ void Theme::ApplyUpdatedImages()
AudacityProject *p = GetActiveProject();
for( int ii = 0; ii < ToolBarCount; ++ii )
{
ToolBar *pToolBar = p->mToolManager->GetToolBar(ii);
ToolBar *pToolBar = p->GetToolManager()->GetToolBar(ii);
if( pToolBar )
pToolBar->ReCreateButtons();
}

View File

@ -355,7 +355,7 @@ bool ScreenshotCommand::Apply(CommandExecutionContext context)
}
// Reset the toolbars to a known state
context.GetProject()->mToolManager->Reset();
context.GetProject()->GetToolManager()->Reset();
wxTopLevelWindow *w = GetFrontWindow(context.GetProject());
if (!w)
@ -418,43 +418,43 @@ bool ScreenshotCommand::Apply(CommandExecutionContext context)
}
else if (captureMode.IsSameAs(wxT("toolbars")))
{
CaptureDock(context.GetProject()->mToolManager->GetTopDock(), fileName);
CaptureDock(context.GetProject()->GetToolManager()->GetTopDock(), fileName);
}
else if (captureMode.IsSameAs(wxT("selectionbar")))
{
CaptureDock(context.GetProject()->mToolManager->GetBotDock(), fileName);
CaptureDock(context.GetProject()->GetToolManager()->GetBotDock(), fileName);
}
else if (captureMode.IsSameAs(wxT("tools")))
{
CaptureToolbar(context.GetProject()->mToolManager, ToolsBarID, fileName);
CaptureToolbar(context.GetProject()->GetToolManager(), ToolsBarID, fileName);
}
else if (captureMode.IsSameAs(wxT("transport")))
{
CaptureToolbar(context.GetProject()->mToolManager, TransportBarID, fileName);
CaptureToolbar(context.GetProject()->GetToolManager(), TransportBarID, fileName);
}
else if (captureMode.IsSameAs(wxT("mixer")))
{
CaptureToolbar(context.GetProject()->mToolManager, MixerBarID, fileName);
CaptureToolbar(context.GetProject()->GetToolManager(), MixerBarID, fileName);
}
else if (captureMode.IsSameAs(wxT("meter")))
{
CaptureToolbar(context.GetProject()->mToolManager, MeterBarID, fileName);
CaptureToolbar(context.GetProject()->GetToolManager(), MeterBarID, fileName);
}
else if (captureMode.IsSameAs(wxT("edit")))
{
CaptureToolbar(context.GetProject()->mToolManager, EditBarID, fileName);
CaptureToolbar(context.GetProject()->GetToolManager(), EditBarID, fileName);
}
else if (captureMode.IsSameAs(wxT("device")))
{
CaptureToolbar(context.GetProject()->mToolManager, DeviceBarID, fileName);
CaptureToolbar(context.GetProject()->GetToolManager(), DeviceBarID, fileName);
}
else if (captureMode.IsSameAs(wxT("transcription")))
{
CaptureToolbar(context.GetProject()->mToolManager, TranscriptionBarID, fileName);
CaptureToolbar(context.GetProject()->GetToolManager(), TranscriptionBarID, fileName);
}
else if (captureMode.IsSameAs(wxT("trackpanel")))
{
TrackPanel *panel = context.GetProject()->mTrackPanel;
TrackPanel *panel = context.GetProject()->GetTrackPanel();
//AdornedRulerPanel *ruler = panel->mRuler;
int h = panel->mRuler->GetRulerHeight();
@ -469,7 +469,7 @@ bool ScreenshotCommand::Apply(CommandExecutionContext context)
}
else if (captureMode.IsSameAs(wxT("ruler")))
{
TrackPanel *panel = context.GetProject()->mTrackPanel;
TrackPanel *panel = context.GetProject()->GetTrackPanel();
AdornedRulerPanel *ruler = panel->mRuler;
int x = 0, y = 0;
@ -484,7 +484,7 @@ bool ScreenshotCommand::Apply(CommandExecutionContext context)
}
else if (captureMode.IsSameAs(wxT("tracks")))
{
TrackPanel *panel = context.GetProject()->mTrackPanel;
TrackPanel *panel = context.GetProject()->GetTrackPanel();
int x = 0, y = 0;
int width, height;
@ -497,7 +497,7 @@ bool ScreenshotCommand::Apply(CommandExecutionContext context)
}
else if (captureMode.IsSameAs(wxT("firsttrack")))
{
TrackPanel *panel = context.GetProject()->mTrackPanel;
TrackPanel *panel = context.GetProject()->GetTrackPanel();
TrackListIterator iter(context.GetProject()->GetTracks());
Track * t = iter.First();
if (!t) {
@ -517,7 +517,7 @@ bool ScreenshotCommand::Apply(CommandExecutionContext context)
}
else if (captureMode.IsSameAs(wxT("secondtrack")))
{
TrackPanel *panel = context.GetProject()->mTrackPanel;
TrackPanel *panel = context.GetProject()->GetTrackPanel();
TrackListIterator iter(context.GetProject()->GetTracks());
Track * t = iter.First();
if (!t) {