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