mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-27 15:53:49 +01:00
Remove uses of GetActiveProject in some dialogs
This commit is contained in:
@@ -213,10 +213,6 @@ FrequencyPlotDialog::FrequencyPlotDialog(wxWindow * parent, wxWindowID id,
|
||||
mRate = 0;
|
||||
mDataLen = 0;
|
||||
|
||||
p = GetActiveProject();
|
||||
if (!p)
|
||||
return;
|
||||
|
||||
TranslatableStrings algChoices{
|
||||
XO("Spectrum") ,
|
||||
XO("Standard Autocorrelation") ,
|
||||
|
||||
@@ -95,6 +95,7 @@ BEGIN_EVENT_TABLE(LabelDialog, wxDialogWrapper)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
LabelDialog::LabelDialog(wxWindow *parent,
|
||||
AudacityProject &project,
|
||||
TrackFactory &factory,
|
||||
TrackList *tracks,
|
||||
LabelTrack *selectedTrack,
|
||||
@@ -108,9 +109,10 @@ LabelDialog::LabelDialog(wxWindow *parent,
|
||||
XO("Edit Labels"),
|
||||
wxDefaultPosition,
|
||||
wxSize(800, 600),
|
||||
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER),
|
||||
mFactory(factory),
|
||||
mTracks(tracks)
|
||||
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
|
||||
, mProject{ project }
|
||||
, mFactory(factory)
|
||||
, mTracks(tracks)
|
||||
, mSelectedTrack(selectedTrack)
|
||||
, mIndex(index)
|
||||
, mViewInfo(&viewinfo),
|
||||
@@ -748,7 +750,7 @@ void LabelDialog::OnSelectCell(wxGridEvent &event)
|
||||
RowData &rd = mData[event.GetRow()];
|
||||
mViewInfo->selectedRegion = rd.selectedRegion;
|
||||
|
||||
ProjectWindow::Get( *GetActiveProject() ).RedrawProject();
|
||||
ProjectWindow::Get( mProject ).RedrawProject();
|
||||
}
|
||||
|
||||
event.Skip();
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
class wxArrayString;
|
||||
class wxGridEvent;
|
||||
class AudacityProject;
|
||||
class ChoiceEditor;
|
||||
class Grid;
|
||||
class NumericEditor;
|
||||
@@ -37,6 +38,7 @@ class LabelDialog final : public wxDialogWrapper
|
||||
public:
|
||||
|
||||
LabelDialog(wxWindow *parent,
|
||||
AudacityProject &project,
|
||||
TrackFactory &factory,
|
||||
TrackList *tracks,
|
||||
|
||||
@@ -93,6 +95,8 @@ class LabelDialog final : public wxDialogWrapper
|
||||
|
||||
private:
|
||||
|
||||
AudacityProject &mProject;
|
||||
|
||||
Grid *mGrid;
|
||||
ChoiceEditor *mChoiceEditor;
|
||||
NumericEditor *mTimeEditor;
|
||||
|
||||
@@ -58,7 +58,8 @@ class ScreenshotBigDialog final : public wxFrame
|
||||
{
|
||||
public:
|
||||
// constructors and destructors
|
||||
ScreenshotBigDialog(wxWindow *parent, wxWindowID id);
|
||||
ScreenshotBigDialog(
|
||||
wxWindow *parent, wxWindowID id, AudacityProject &project);
|
||||
virtual ~ScreenshotBigDialog();
|
||||
|
||||
bool ProcessEvent(wxEvent & event) override;
|
||||
@@ -95,6 +96,8 @@ class ScreenshotBigDialog final : public wxFrame
|
||||
void OnMedTracks(wxCommandEvent & event);
|
||||
void OnTallTracks(wxCommandEvent & event);
|
||||
|
||||
AudacityProject &mProject;
|
||||
|
||||
std::unique_ptr<ScreenshotCommand> CreateCommand();
|
||||
|
||||
wxCheckBox *mDelayCheckBox;
|
||||
@@ -118,7 +121,7 @@ ScreenshotBigDialogPtr mFrame;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
void OpenScreenshotTools()
|
||||
void OpenScreenshotTools( AudacityProject &project )
|
||||
{
|
||||
if (!mFrame) {
|
||||
auto parent = wxTheApp->GetTopWindow();
|
||||
@@ -126,7 +129,8 @@ void OpenScreenshotTools()
|
||||
wxASSERT(false);
|
||||
return;
|
||||
}
|
||||
mFrame = ScreenshotBigDialogPtr{ safenew ScreenshotBigDialog(parent, -1) };
|
||||
mFrame = ScreenshotBigDialogPtr{
|
||||
safenew ScreenshotBigDialog(parent, -1, project) };
|
||||
}
|
||||
mFrame->Show();
|
||||
mFrame->Raise();
|
||||
@@ -263,7 +267,8 @@ std::unique_ptr<ScreenshotCommand> ScreenshotBigDialog::CreateCommand()
|
||||
return std::make_unique<ScreenshotCommand>();//*type, std::move(output), this);
|
||||
}
|
||||
|
||||
ScreenshotBigDialog::ScreenshotBigDialog(wxWindow * parent, wxWindowID id)
|
||||
ScreenshotBigDialog::ScreenshotBigDialog(
|
||||
wxWindow * parent, wxWindowID id, AudacityProject &project)
|
||||
: wxFrame(parent, id, _("Screen Capture Frame"),
|
||||
wxDefaultPosition, wxDefaultSize,
|
||||
|
||||
@@ -279,8 +284,9 @@ ScreenshotBigDialog::ScreenshotBigDialog(wxWindow * parent, wxWindowID id)
|
||||
|
||||
#endif
|
||||
|
||||
wxSYSTEM_MENU|wxCAPTION|wxCLOSE_BOX),
|
||||
mContext( *GetActiveProject() )
|
||||
wxSYSTEM_MENU|wxCAPTION|wxCLOSE_BOX)
|
||||
, mProject{ project }
|
||||
, mContext( project )
|
||||
{
|
||||
mDelayCheckBox = NULL;
|
||||
mDirectoryTextBox = NULL;
|
||||
@@ -530,7 +536,7 @@ void ScreenshotBigDialog::OnGetURL(wxCommandEvent & WXUNUSED(event))
|
||||
void ScreenshotBigDialog::OnUIUpdate(wxUpdateUIEvent & WXUNUSED(event))
|
||||
{
|
||||
#ifdef __WXMAC__
|
||||
wxTopLevelWindow *top = mCommand->GetFrontWindow(GetActiveProject());
|
||||
wxTopLevelWindow *top = mCommand->GetFrontWindow(&mProject);
|
||||
bool needupdate = false;
|
||||
bool enable = false;
|
||||
|
||||
|
||||
@@ -23,7 +23,9 @@
|
||||
|
||||
#include <wx/defs.h>
|
||||
|
||||
void OpenScreenshotTools();
|
||||
class AudacityProject;
|
||||
|
||||
void OpenScreenshotTools( AudacityProject &project );
|
||||
void CloseScreenshotTools();
|
||||
|
||||
#endif // __AUDACITY_SCREENSHOT__
|
||||
|
||||
@@ -88,7 +88,7 @@ void ShowDiagnostics(
|
||||
class QuickFixDialog : public wxDialogWrapper
|
||||
{
|
||||
public:
|
||||
QuickFixDialog(wxWindow * pParent);
|
||||
QuickFixDialog(wxWindow * pParent, AudacityProject &project);
|
||||
void Populate();
|
||||
void PopulateOrExchange(ShuttleGui & S);
|
||||
void AddStuck( ShuttleGui & S, bool & bBool, wxString Pref,
|
||||
@@ -101,6 +101,8 @@ public:
|
||||
|
||||
wxString StringFromEvent( wxCommandEvent &event );
|
||||
|
||||
AudacityProject &mProject;
|
||||
|
||||
int mItem;
|
||||
bool mbSyncLocked;
|
||||
bool mbInSnapTo;
|
||||
@@ -120,10 +122,11 @@ BEGIN_EVENT_TABLE(QuickFixDialog, wxDialogWrapper)
|
||||
EVT_COMMAND_RANGE(HelpButtonID, FakeButtonID-1, wxEVT_BUTTON, QuickFixDialog::OnHelp)
|
||||
END_EVENT_TABLE();
|
||||
|
||||
QuickFixDialog::QuickFixDialog(wxWindow * pParent) :
|
||||
QuickFixDialog::QuickFixDialog(wxWindow * pParent, AudacityProject &project) :
|
||||
wxDialogWrapper(pParent, wxID_ANY, XO("Do you have these problems?"),
|
||||
wxDefaultPosition, wxDefaultSize,
|
||||
wxDEFAULT_DIALOG_STYLE )
|
||||
, mProject{ project }
|
||||
{
|
||||
const long SNAP_OFF = 0;
|
||||
|
||||
@@ -255,19 +258,19 @@ void QuickFixDialog::OnFix(wxCommandEvent &event)
|
||||
gPrefs->Write( Str, 0);
|
||||
gPrefs->Flush();
|
||||
|
||||
if ( auto pProject = GetActiveProject() ) {
|
||||
{
|
||||
// Sadly SnapTo has to be handled specially, as it is not part of the standard
|
||||
// preference dialogs.
|
||||
if( Str == "/SnapTo" )
|
||||
{
|
||||
ProjectSelectionManager::Get( *pProject ).AS_SetSnapTo( 0 );
|
||||
ProjectSelectionManager::Get( mProject ).AS_SetSnapTo( 0 );
|
||||
}
|
||||
else
|
||||
{
|
||||
// This is overkill (aka slow), as all preferences are reloaded and all
|
||||
// toolbars recreated.
|
||||
// Overkill probably doesn't matter, as this command is infrequently used.
|
||||
DoReloadPreferences( *pProject );
|
||||
DoReloadPreferences( mProject );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,7 +298,7 @@ struct Handler : CommandHandlerObject {
|
||||
void OnQuickFix(const CommandContext &context)
|
||||
{
|
||||
auto &project = context.project;
|
||||
QuickFixDialog dlg( &GetProjectFrame( project ) );
|
||||
QuickFixDialog dlg( &GetProjectFrame( project ), project );
|
||||
dlg.ShowModal();
|
||||
}
|
||||
|
||||
|
||||
@@ -503,9 +503,9 @@ void OnApplyMacrosPalette(const CommandContext &context )
|
||||
}
|
||||
}
|
||||
|
||||
void OnScreenshot(const CommandContext &WXUNUSED(context) )
|
||||
void OnScreenshot(const CommandContext &context )
|
||||
{
|
||||
::OpenScreenshotTools();
|
||||
::OpenScreenshotTools( context.project );
|
||||
}
|
||||
|
||||
void OnBenchmark(const CommandContext &context)
|
||||
|
||||
@@ -2049,7 +2049,7 @@ void LabelTrackView::DoEditLabels
|
||||
auto &viewInfo = ViewInfo::Get( project );
|
||||
auto &window = ProjectWindow::Get( project );
|
||||
|
||||
LabelDialog dlg(&window, trackFactory, &tracks,
|
||||
LabelDialog dlg(&window, project, trackFactory, &tracks,
|
||||
lt, index,
|
||||
viewInfo, rate,
|
||||
format, freqFormat);
|
||||
|
||||
Reference in New Issue
Block a user