Moved mixer board update code out of class AudacityProject...
... And we don't need GetMixerBoard() any more
This commit is contained in:
parent
723cecbeac
commit
012ea76132
|
@ -937,7 +937,8 @@ MixerBoard::MixerBoard(AudacityProject* pProject,
|
|||
|
||||
void MixerBoard::UpdatePrefs()
|
||||
{
|
||||
mProject->RecreateMixerBoard();
|
||||
// Destroys this:
|
||||
static_cast<MixerBoardFrame*>(GetParent())->Recreate( mProject );
|
||||
|
||||
// Old approach modified things in situ.
|
||||
// However with a theme change there is so much to modify, it is easier
|
||||
|
@ -1450,4 +1451,22 @@ void MixerBoardFrame::OnKeyEvent(wxKeyEvent & event)
|
|||
project->GetCommandManager()->FilterKeyEvent(project, event, true);
|
||||
}
|
||||
|
||||
void MixerBoardFrame::Recreate( AudacityProject *pProject )
|
||||
{
|
||||
wxPoint pos = mMixerBoard->GetPosition();
|
||||
wxSize siz = mMixerBoard->GetSize();
|
||||
wxSize siz2 = this->GetSize();
|
||||
|
||||
//wxLogDebug("Got rid of board %p", mMixerBoard );
|
||||
mMixerBoard->Destroy();
|
||||
mMixerBoard = NULL;
|
||||
mMixerBoard = safenew MixerBoard(pProject, this, pos, siz);
|
||||
//wxLogDebug("Created NEW board %p", mMixerBoard );
|
||||
mMixerBoard->UpdateTrackClusters();
|
||||
mMixerBoard->SetSize( siz );
|
||||
|
||||
this->SetSize( siz2 );
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -266,6 +266,8 @@ public:
|
|||
MixerBoardFrame(AudacityProject* parent);
|
||||
virtual ~MixerBoardFrame();
|
||||
|
||||
void Recreate(AudacityProject *pProject);
|
||||
|
||||
private:
|
||||
// event handlers
|
||||
void OnCloseWindow(wxCloseEvent &WXUNUSED(event));
|
||||
|
|
|
@ -4713,24 +4713,6 @@ void AudacityProject::SetStateTo(unsigned int n)
|
|||
GetMenuManager(*this).ModifyUndoMenuItems(*this);
|
||||
}
|
||||
|
||||
void AudacityProject::RecreateMixerBoard( )
|
||||
{
|
||||
wxASSERT( mMixerBoard );
|
||||
wxASSERT( mMixerBoardFrame );
|
||||
wxPoint pos = mMixerBoard->GetPosition();
|
||||
wxSize siz = mMixerBoard->GetSize();
|
||||
wxSize siz2 = mMixerBoardFrame->GetSize();
|
||||
//wxLogDebug("Got rid of board %p", mMixerBoard );
|
||||
mMixerBoard->Destroy();
|
||||
mMixerBoard = NULL;
|
||||
mMixerBoard = safenew MixerBoard(this, mMixerBoardFrame, pos, siz);
|
||||
mMixerBoardFrame->mMixerBoard = mMixerBoard;
|
||||
//wxLogDebug("Created NEW board %p", mMixerBoard );
|
||||
mMixerBoard->UpdateTrackClusters();
|
||||
mMixerBoard->SetSize( siz );
|
||||
mMixerBoardFrame->SetSize( siz2 );
|
||||
}
|
||||
|
||||
//
|
||||
// Clipboard methods
|
||||
//
|
||||
|
|
|
@ -531,7 +531,6 @@ public:
|
|||
|
||||
LyricsWindow* GetLyricsWindow(bool create = false);
|
||||
MixerBoardFrame* GetMixerBoardFrame(bool create = false);
|
||||
MixerBoard* GetMixerBoard() { return mMixerBoard; }
|
||||
HistoryWindow *GetHistoryWindow(bool create = false);
|
||||
MacrosWindow *GetMacrosWindow(bool bExpanded, bool create = false);
|
||||
FreqWindow *GetFreqWindow(bool create = false);
|
||||
|
@ -601,7 +600,6 @@ public:
|
|||
public:
|
||||
void ModifyState(bool bWantsAutoSave); // if true, writes auto-save file. Should set only if you really want the state change restored after
|
||||
// a crash, as it can take many seconds for large (eg. 10 track-hours) projects
|
||||
void RecreateMixerBoard();
|
||||
|
||||
void PopState(const UndoState &state);
|
||||
|
||||
|
|
Loading…
Reference in New Issue